Funkuhr mit LED-Großanzeige und Thermometer
Die hier vorgestellte Funkuhr zeigt den Einsatz eines recht kleinen Mikrocontrollers in Verbindung mit einem Assemblerprogramm für eine recht große Aufgabe: Die Ansteuerung eines DCF-Empfängers, Temperaturmessung und Ausgabe der Zeit auf einem LED-Display mit 14 Ziffern.
Die Funkuhr wird gesteuert mit einem Atmel AVR 90S2313 Mikrocontroller. Die Ausgabe der Zeit und Temperatur erfolgt auf LED-Großdisplays (Ziffernhöhe 10 cm bzw. 5,7 cm). Die Abmessungen der Uhr sind 55 x 28 cm. Eine Uhr mit anderer Anzahl von Anzeigestellen oder anderer Anzeigegröße wäre übrigens ohne Probleme mit demselben oder leicht abgeänderten Programm ebenfalls realisierbar. Dieses Projekt zeigt das Empfangen der DCF-Uhrzeit, das Messen einer Temperatur sowie die Ausgabe von Zahlen auf 7-Segment-Displays, wobei diese Einzelaspekte auch für andere Projekte als Beispiel zu benutzen sind.
Dieses Projekt zeigt auch die Grenzen der Assemblerprogrammierung und des 90S2313 auf. Dieses Projekt gehörte zu meinen ersten Mikrocontroller-Projekten. Heute würde ich eine solche Uhr mit einem größeren ATMega8 in C realisieren.
Eigenschaften des verwendeten Atmel AT90S2313
Der
AT90S2313 war einmal der übliche, billige Standard-Mikrocontroller, der für die meisten Aufgaben ausreicht. Er hat 8 Pins und kann mit dem internen Taktgenerator getaktet werden.
- bis 10 MHz Taktfrequenz
- 15 Ein-/Ausgänge
- versteht 118 Assembler-Befehle
- 2 kB Flash für ein Programm
- 128 Byte EEPROM (die gespeicherten Daten bleiben bei Stromausfall erhalten)
- 128 Byte RAM
- 32 Register
- Stromverbrauch etwa 10 mA, Batteriebetrieb möglich
- für etwa 3,50 EUR zu kaufen
- so groß wie eine Briefmarke