Billige timer0-Uhr

Gast #157422
Lesenswert?

Hallo, ich bins mal wieder...

Ich habe einen 8518, einen Quarz von 3686400hz und den Timer0 noch zur
verfügung. Die Interrupts und den Timer1 habe ich schon für ein anderes
Programm belegt, welches auch noch auf den µc gespeichert werden sollte.
Ich hoffe ihr könnt mir sagen wie ich das mit dem Timer0 realisieren
kann, denn durch die waitms bzw. waitus ist das alles zu ungenau und
verändert sich wenn ich das Programm kürze oder erweitere

Grüsse Andy
Angehängte Dateien:
Gast #157427
Lesenswert?

kennst du den DCF-code? der macht am ende jeder minute eine 1 sekündige
pause. ich zähle die pulse in einer minute. da es eine pause von eienr
sekunde gibt, hat der dcf coder 59 sekunden nicht 60 - verstehst du was
ich mein?
Gast #157428
Lesenswert?

Ich verstehe was du meinst aber dennoch liegst du falsch. bei dcf dient
die längere pause zwischen 58 und 0 zur syncronisierung, also ich find
es sind trotzdem 60 sek bei dcf nur das die letzte "einheit" (58)
doppelt so lang ist (also insgesamt wieder 60) damit man weiß wo man
ist. das mitzählen dient doch nur damit man weiß an welcher stelle vom
signal man sich befindet.
Gast #157429
Lesenswert?

hast du dir mal meinen code angeschaut - ich zähle sozusagen die
"pausen" zwischen dem signal. syncronisieren tu ich bei 0 - die zeit
von einer sekunde reicht vollkommen (ich brauche vieleicht 50ms um
alles zu vergleichen. im höchsten fall)
Gast #157430
Lesenswert?

"Wie hast du das problem mit der sekunde 59 gelöst?"

Garnicht.

Es wird immer die interne Uhr angezeigt.
Die Aufnahme der DCF-77 Zeit erfolgt im Hintergrund.
Und nur wenn alle Prüfungen ergeben, daß die DCF-77 Zeit korrekt ist,
dann wird die interne Uhr damit synchronisiert. Das geschieht also
immer  zur 0. Sekunde.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren