Die Ping-Pong-Uhr 

von Wolfram Herzog

Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller

 Die Platine aus dem Franzis PING-PONG hat ein überaus gut durchdachtes Design. Neben einer ISP Schnittstelle sind auch die unbenutzten I/O-Leitungen des MEGA8 und die Anschlüsse für den Anschluss eines Quarzes verfügbar. Dadurch ist diese Platine für eine Vielzahl anderer Projekte universell einzusetzen. Hier folgt die Beschreibung zum Bau einer Quarz-Uhr auf der Basis der Ping-Pong-Platine.

Zunächst muss der Mikrocontroller einen Quarz bekommen. Dazu wird auf der Platine an die Anschlüsse B6 und B7 ein 32-kHz-Uhrenquarz gelötet. Um die Uhr einstellen zu können, sind dann noch zwei Taster nötig. Diese werden zum einen an die Anschlüsse C4 und C5 zum anderen gemeinsam an K1 (GND) angeschlossen. Damit ist die Hardware fertig. Da der Stromverbrauch doch recht hoch ist, sollte ein 5-V-Netzteil zum Einsatz kommen. Die Batterien sind sonst recht schnell erschöpft.

 2


Das verwendete Programm wurde in BASCOM erstellt und zeigt einmal mehr die Mächtigkeit dieser Entwicklungsumgebung. Die gesamte Uhrensteuerung erfolgt mit der BASCOM Softclock. Dies ist ein Befehl, der mit nur zwei Zeilen Code eine komplette, timergesteuerte Uhr inklusive Datum implementiert. Damit diese Softclock funktioniert, muss aber ein Uhrenquarz am AVR angeschlossen sein und dieser durch Setzen der Fuse CKOPT aktiviert sein. Der Quarz taktet dann den Timer2 welcher zur Steuerung der Softclock benutzt wird.

Zur Ansteuerung wurde der Beispielcode aus dem Artikel „BASCOM Start" als Grundlage benutzt. Während in der originalen Software der Timer2 das Multiplexing der LEDs steuert, wurde dies nun Timer0 übertragen, um Timer2 für die Softclock verfügbar zu haben. Ein wenig Kopfzerbrechen bereitete die Ansteuerung der Taster. Erst nach einigen Versuchen wurde klar, dass die originale LED Routine alle Pins von PortC zyklisch beschreibt und daher eine Abfrage der Taster nicht korrekt funktionierte. Es wurde nämlich immer die gerade geschriebenen Werte der Pins gelesen. Die Routine wurde daher so geändert dass nur noch die niederwertigsten vier Bits geschrieben werden, und nun war auch die Abfrage der Taster problemlos möglich.

Das Programmlisting wurde im Hinblick auf die erzeugte Codegröße optimiert, damit die 4-KB-Grenze der kostenlosen Version von BASCOM nicht überschritten wird. Daher wurden alle wiederholten Funktionen konsequent in Unterprogramme ausgelagert. Das Listing ist ausführlich kommentiert und sollte daher leicht nachzuvollziehen sein.

Bei laufender Zeitanzeige kann mit dem Taster C4 die Uhr gestellt werden. Durch mehrfaches Drücken können nacheinander die einzelnen Zahlen der Uhrzeit angezeigt und dann durch die Taste C5 der gewünschte Wert eingestellt werden. Wird bei laufender Zeitanzeige die Taste C5 gedrückt, kann die Laufgeschwindigkeit verstellt werden.

Download:  PingpongUhr.zip

 


Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller