Meine Uhr-Software haben folgende Struktur:
Timer1 macht den Arbeitstakt. Die Hauptarbeit übernimmt OutCompare1. Die Interruptlast habe ich bei 10kHz, weil ich ne PWM von Hand machen muss. OutComp1 macht mir softwaremässig nen Untertakt von 100Hz (10ms) wo ich Taster nachschaue, 10ms-Timer fur Warteschleifen erniedrige, DCF-Modul abfragen, Zeit weiterzähle alls kein DCF-Signal da ist, etc...
Das Hauptprogramm hat fast nix zu tun. Es übernimmt Initialisierung, Debugausgabe via RS232 und Menüsteuerung zur Konfiguration der Uhr (Weckzeit, Anzeigeeigenschaften, etc). Die meiste Zeit schnarcht es in der Menü-SCHleife und wartet auf EINgaben vom Benutzer.
Timer0 brauche ich nur für RC5-Empfang (ganz praktisch).
Wenn du high efficiency-LEDs nimmst oder super bright, brutzelst du dir mit 10mA fast die Netzhaut ab. An Helligkeit sollte es da nicht mangeln...
Lesezeichen