van het programma en dan dagelijks op een in het programma vastgelegde tijd (Update_uren,
Update_minuten). Er worden twee bibliotheken gebruikt: DCF77_Lib.cc en LCD_Lib.cc. Voor
de zendontvangst van het tijdsignaal is een DCF77 –ontvanger noodzakelijk. De uitgang van
de DCF77 –ontvanger wordt aangesloten op Poort D7. Eerst moet het begin van een
tijdinformatie gevonden worden. Er wordt gesynchroniseerd op het puls –hiaat (59
Daarna worden de bits in het ritme per seconde opgenomen. Er vindt een pariteitcontrole
plaats na de informatie betreffende minuten en seconden en eveneens aan het eind van de
overdracht. Het resultaat van de pariteitcontrole wordt opgeslagen in de DCF_ARRAY[6]. Voor
de overdracht van de tijdinformatie wordt de DCF_ARRAY[0..6] gebruikt. Na de ontvangst van
de tijdinformatie wordt de RTC ingesteld met de nieuwe tijd en loopt daarna zelfstandig verder.
Zowel de RTC als de DCF77 –decodering worden via een 10ms interrupt gestuurd. Deze
tijdbasis is afgeleid van de kwartsfrequentie van de controller. DCF_mode stuurt het verloop
voor de DCF77 –tijdopname.
Tabel DCF -modi
DCF-Mode Beschrijving
0
Geen DCF77 –functie
1
Puls zoeken
2
Synchroniseren op begin frame
3
Data decoderen en opslaan, pariteitcontrole
RTC (Real Time Clock)
De RTC wordt via een 10ms interrupt gestuurd en loopt op de achtergrond onafhankelijk van
het gebruikersprogramma. Elke seconde wordt de weergave op het LCD –display getoond. Het
weergave -formaat is
e
1
regel: uur : minuut : seconde
e
2
regel: dag . maand . jaar
LED1 knippert éénmaal per seconde.
Na het starten van het programma begint de RTC met de vastgelegde tijd. De datum is op nul
gezet en geeft aan dat er nog geen DCF –tijdcompensatie heeft plaatsgevonden. Na de
ontvangst van de DCF –tijd wordt de RTC geactualiseerd met de actuele data. De RTC is niet
gebufferd met een batterij, d.w.z. de tijd loopt niet door zonder spanningsvoeding van de
controller.
e
bit).
64