Forum: Mikrocontroller und Digitale Elektronik Billige timer0-Uhr


von Andy (Gast)


Angehängte Dateien:

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

von Andy (Gast)


Angehängte Dateien:

Lesenswert?

Das andere programm, wie oben erwähnt ist das was nun beiliegt. ich
brauche die uhr eigentlich nur für den fall dass das DCF ausfällt

von peter dannegger (Gast)


Lesenswert?

Hier ist ein fertiger Code mit Beschreibung:

http://www.mikrocontroller.net/forum/read-4-23408.html#new


Peter

von Andy (Gast)


Lesenswert?

Das ist bestimmt n toller Code, nur leider kann ich kein assambler :-(
Wie hast du das problem mit der sekunde 59 gelöst? ist bei dir der
übergang 58 - 00 oder 58 - 59 - 00??

von icke (Gast)


Lesenswert?

? Was für ein Problem ? ich denke eine Sekunde unterschlagen ist nicht
zulässig. MUSS 58 - 59 - 00 zählen. Alles andere wäre doch nicht
richtig. Ne Minute hat schließlich 60 Sekunden.

von Andy (Gast)


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?

von Sebastian (Gast)


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.

von Andy (Gast)


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)

von peter dannegger (Gast)


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

von Andy (Gast)


Lesenswert?

dein programm hört sich echt gut an! du hast das nicht zufällig in
basic? ^^

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.