Frage wegen DCF-Funkuhrbau

Gast #859239
Lesenswert?

Erstmal hallo,
baue für eine abschlussarbeit ein Radio mit funkuhr welche über das 
DCF-Signal gestellt werden soll. Das ganze mache ich mit dem 
Mikrocontroller AT89C51RC2.
Nun hab ich eine frage, da ich das hier leider nirgens gefunden habe. 
wie kann ich die Startmarke des Signals sicher erkennen? hab nen 
DCF-Empfänger von ELV:
http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=3663
Hoffentlich kann mir hier einer helfen
Grüße
Julian
Gast #859254
Lesenswert?

Hallo,
das DCF77 Signal sendet jede Sekunde ein Bit, wobei glaub ich eine 
Flanke von 0,1s eine "0" und 0,2s eine "1" darstellen. Falls in einer 
Sekunde keine Flanke gesendet wird, ist dies das letzte Bit in dem DCF 
Protokoll.
Direkt danach ist die erste Flanke der Anfang!

Gruss
#860812
Lesenswert?

Hä. Wo ist das Problem?

Einen Zeitgeber aufbauen, der dir ein 0.1 Sekunden Signal
liefert.
Am Anfang läuft der Zeitgeber alleine und wird vom regelmässigen
DCF Signal immer wieder auf 0 gesetzt. Wird dabei festgestellt
dass der Zeitgeber bis knapp an 2 Sekunden gebraucht hat, ehe
er resettet wurde, dann war diese Flanke der Anfang des Telegramms.
Von dort geht es jetzt weiter, in dem jede Sekunde der Puls in
seiner Länge ausgewertet wird (auch dazu brauchst du letztendlich
den Zeitgeber).

Und als drittes brauchst du deinen Zeitgeber auch noch, wenn das
DCF Signal mal ausfällt, den dann muss ja die Uhr auch weiterlaufen.

Aber seis drum
http://www.mikrocontroller.net/articles/AVR_Softwarepool#DCF
Gast #889843
Lesenswert?

Gehört hier nicht ganz rein, aber wollt keinen neuen Threat öffnen.
Gibt es die Möglichkeit in C den Ports namen zu geben.
Also so wie in Assembler wo man mit dem befhel "equ" dies tut.
Danke schon mal für die antworten.
Grüße
Gast #890610
Lesenswert?

Ok danke, kann mir vielleicht noch jemand schreiben wie ich das mit dem 
#define machen kann?
Hab es ausprobiert, ging aber leider nicht.
kann mir jemand vielleicht einfachmal ein Programmbeispiel rein 
schreiben.
danke

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