10.11.2012 Aufrufe

Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher

Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher

Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!