Letztes Jahr haben mir meine Geschwister zu Weihnachten eine LED Uhr
geschenkt (natürlich als Bausatz). Das ganze besteht aus 72 LEDs, einer
runden Platine, 11x 74HC138 Decoder Bausteinen und einem Atmega
AT90irgendwas Controller sowie etwas Kleinkram (2 Taster,
Pufferkondenstaoren, 16Mhz Quartz …). Leider haben mir die
Anzeigesequenzen, die in dem Controller programmiert waren, nicht
besonders gut gefallen. Ich wollte beispielsweise eine Sekundenanzige
haben. Da der AVR vorprogrammiert war, der Quellcode nicht verfügbar und
die Lockbits gesetzt waren, konnte ich das Programm nicht so einfach
ändern. Irgendwann ist mir in meiner Bauteilsammlung dann ein
Atmega8515 in die Hände gefallen und wie der Zufall es will, ist dieser
Pinkompatibel mit dem AT90irgendwas.
Die Software war dann recht schnell geschrieben. Basis ist ein
Timerinterrupt, der eine Variable hochzählt und bei einem bestimmten
Wert (nach genau einer Sekunde) die Sekunden um eins erhöht. Die Ausgabe
der Stunden, Minuten und Sekunden erfolgt in der main-Schleife.
Kalibriert habe ich das ganze mit meinem Logikanalyzer.
Keine Kommentare:
Kommentar veröffentlichen