dcf77 wie start finden????

Gast #388641
Lesenswert?

hallo ihr lieben coder,

ich möchte gerne ein signal, des dcf77 empfängers, verarbeiten.
soweit ich weiß, wird der anfang durch 2 sekunden stille
gekenntzeichnet.
sekundenweise kommen signale (low(100ms) und high(200ms)), welche das
zeit/datums-format übermitteln. diese daten später tzu verarbeiten
stellt auch mein ziel dar!

momentan schiebe ich den ausgang (dcf77) in den carry und prüfe auf
eine 1. ist das der fall, prüfe ich auf die nächste, um wirklich am
anfang zu stehen. dann lasse ich ein 50ms timer laufen und befinde mich
dann eigentlich in der mitte. nach einem 1 sekunde-timer müsste ich mich
dann entweder auf dem nächsten high/low-bit befinden oder auf einer null
(das stellt dann den start dar). in diesem fall, setze ich eine led
(p4.0)

ich benutze den assembler 8051......und das ist mein code:


Code:

$IC(sfr.def) ORG 4000H start: clr c ;inhalt vom carry loeschen MOV
P4,#0 ;alle Lampen aus MOV R0,#20 ;R0 <- 20 MOV c,P1.0 ;Signal vom
DCF77 -> Carry JC start ;wenn != 1 -> spring wieder zu start new: MOV
c,P1.0 ;Signal vom DCF77 -> Carry JNC new ;wenn != 1 -> spring wieder
zu new call timer pruef: ;Label "pruef" Anfang call timer ;1 sekunde
warten DJNZ R0,pruef MOV c,P1.0 ;Signal vom DCF77 -> Carry JC pruef
;Carry != 0 -> spring zum Label pruef setb P4.0 ;erste Lampe anschalten
jmp $ $IC(timer.def) END


das ist mein timmerprogram (timer.def)

Code:

timer: ANL TMOD,#00000001B ORL TMOD,#00000001B MOV TH0,#high 15535 MOV
TL0,#low 15535 setb TR0 JNB TF0,$ clr tr0 clr tf0 ret;


bis jetzt ist mein status folgender:

die lampe geht nie an

ich würde mich tierisch über eine antwort freuen!!!!
ich bedanke mich schon einmal im vorraus.....

lg, nick
Gast #388643
Lesenswert?

ich habe das signal aufgezeichnet.
es gib ein low-(100ms) und high-signal(200ms), welches in
sekundenschritten gesendet/von mir epfangen wird. der start wird von
genau 2 sekunden gekenntzeichnet. eine sekunde ist nich richtig!
Gast #388645
Lesenswert?

Mechanische Uhren, wie auf dem Bahnhof, laufen etwas schneller als 60
Sekunden um, und warten auf der 59 .Sekunde auf diesen fehlenden
Impuls. Mit nachtriggerbarem Monoflop leicht zu detektirern

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