www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DCF77 Suche Einstiegsmaterial !


Autor: Benedikt W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ich möchte gerne die zeit aus dem dcf signal auslesen.
ich hab den DCF77 empfänger von conrad, einen ATmega16 und ein LCD.
ich hab schon einiges an code gefunden, aber entweder wars zu 
umfangreich oder in c geschrieben, so dass ich nichts verstanden hab.
am besten wäre wenn jemand nen link hat wo dieses thema mit den ersten 
schritten im assembler (avr studio) oder mit pseudo code behandelt wird.
gibts da was ?

grüße g1o

Autor: Sebastian Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Wikipedia-Beitrag zu "DCF77" enthält eigentlich alles, was man 
braucht. Allerdings gab es mal eine käufliche Informationsschrift zum 
Aufbau des DCF77-Signals bei Conrad, die sogar einen auf monostabilen 
Kippstufen basierenden "Decoder" beschrieb, der kurze von langen 
Sekundenmarken, also High- von Low-Bits unterscheiden konnte.
Vielleicht hilft aber auch einer der Links unter dem Wikipedia-Artikel 
weiter.
Prinzipiell muß der Mikrocontroller, im Zweifelsfalle per Timer, kurze 
und lange Bits auseinanderhalten können. Das Programm beginnt 
üblicherweise mit dem Warten auf die fehlende 59te Sekundenmarke. Dann, 
nach Bestimmung der Bit-Längen, kann man die Nullen und Einsen in 
Register bzw. Variablen einsortieren. In Assembler sollte das mit 
Verschiebeoperationen und Und/Oder-Verknüpfungen gehen; man kann im 
Zweifel auch die Behandlung jedes einzelnen Bits explizit handhaben, á 
la "Wenn das gerade empfangene Bit 1 war, addiere zum Sekunden-Register 
2 hinzu... empfange das nächste Bit... wenn das gerade empfangene Bit 1 
war, addiere zum Sekunden-Register 4 hinzu...". Und die Parität nicht 
vergessen - oder eben einfach ignorieren.
Vielleicht nicht so elegant, aber sicherlich einfach und übersichtlich.
Wer sich übrigens scheut, den Timer für solche Aufgaben einzusetzen, 
kann auch auf eine Pegeländerung warten, den Mikrocontroller dann für 
150 Millisekunden mit irgendeiner Zählschleife beschäftigen, und dann 
prüfen, ob der anliegende Pegel 1 oder 0 ist.

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.