Forum: FPGA, VHDL & Co. dcf77 wie start finden????


von Nicky Schrader (Gast)


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

von Daniel R. (daniel_r)


Lesenswert?

Poste mal im "Mikrocontroller und Elektronik"-Forum. Dort wirst Du
mehr Erfolg haben als hier.
Ach ja...der Anfang wird durch 1s Pause gekennzeichnet.

von NickD (Gast)


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!

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Ihr habt beide recht, der 59.Sekundenpuls fällt aus, damit ist der
Abstand zwischen zwei steigenden Flanken hier 2 Sekunden, sonst eine.

von Christoph Kessler (db1uq) (Gast)


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

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.