www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Billige timer0-Uhr


Autor: Andy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Andy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein fertiger Code mit Beschreibung:

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


Peter

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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??

Autor: icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andy (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.