Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Analog</strong>/<strong>Digitale</strong> <strong>Wanduhr</strong> 1<br />
4.2. Benötigte Register, Konstanten, Portdefinition,<br />
Makros und Tabellen<br />
Register:<br />
Für die <strong>Wanduhr</strong> sind neben einigen internen Register (SFR, Spezielle Funktions-<br />
Register) noch eine ganze Menge eigener Register notwendig, wobei der Großteil für<br />
die DCF-Dekodierung notwendig sind:<br />
• ISR_STAT_TEMP: Zwischenspeicher des Statusregister der ISR<br />
• ISR_w_TEMP: Zwischenspeicher des Arbeitsregister der ISR<br />
• FLAGSISRHP: beinhaltet Botschaftsflags ISR -> HP, hier bei der <strong>Wanduhr</strong> die<br />
Flags für die 4-ms-Zeitbasis (Flag FLAG4MSEK) und für 1-<br />
Sekunden-Zeitbasis (Flag FLAG1SEK)<br />
• ZAEHLERISR1SEK: Zählregister für 1-Sekunden-Zeitbasis<br />
• DCFSTATUS: Statusregister der DCF-Dekodierung. Dieses Register beinhaltet<br />
folgende Bits:<br />
Bit Flagname Funktion<br />
0 DCFPORTNEU Akt. Zustand DCF-Porteingang<br />
1 DCFPORTALT Vorhergehender Zustand am DCF-Porteingang<br />
2 DCFNEUESEK gesetzt, wenn neue Sekunde begonnen<br />
3 DCFNEUEMIN gesetzt, wenn neue Minute begonnen<br />
4 DCFLOW gesetzt, wenn Low-Signal erkannt<br />
5 DCFHIGH gesetzt, wenn High-Signal erkannt<br />
6 DCFFEHLER gesetzt, wenn ein Fehler erkannt<br />
7 DCFSYNC gesetzt, wenn Uhr mit DCF synchronisiert<br />
Tabelle 4.1: Zusammensetzung <strong>von</strong> DCFSTATUS<br />
• DCFPULS: Zählregister zur Ermittlung der Pulsdauer bei der DCF-Dekodierung<br />
• DCFPAUSE: Zählregister zur Ermittlung der Pausedauer bei der DCF-<br />
Dekodierung.<br />
• DCFTELEGRAMM1 – DCFTELEGRAMM8: In diese Register wird das empfangene,<br />
neue DCF-Telegramm im Sekundentakt eingelesen. Beginnt eine<br />
neue Minute, so werden diese Register ausgewertet und in die<br />
entsprechenden Register kopiert, z.B. in das Register<br />
DCFMINBCD.<br />
• DCFMINBCD: Beinhaltet die dekodierte, aktuelle Minute im BCD-Format.<br />
• DCFSTDBCD: Beinhaltet die dekodierte, aktuelle Stunde im BCD-Format.<br />
• DCFTAGBCD: Beinhaltet den dekodierten, aktuellen Tag im BCD-Format.<br />
• DCFMONBCD: Beinhaltet den dekodierten, aktuellen Monat im BCD-Format.<br />
• DCFJAHRBCD: Beinhaltet das dekodierte, aktuelle Jahr im BCD-Format, wobei nur<br />
die Einer- und die Zehnerstelle im DCF-Telegramm enthalten sind.<br />
Die Hunderter- und die Tausenderstelle befinden sich nicht im DCF-<br />
Telegramm<br />
• DCFWOCHENTAG: Beinhaltet den dekodierten, aktuellen Wochentag, wobei<br />
folgende Tabelle gilt:<br />
Wert Bedeutung<br />
1 Montag<br />
2 Dienstag<br />
3 Mittwoch<br />
4 Donnerstag<br />
5 Freitag<br />
6 Samstag<br />
7 Sonntag<br />
Tabelle 4.2: Wochentag<br />
Seite 12