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
Poste mal im "Mikrocontroller und Elektronik"-Forum. Dort wirst Du mehr Erfolg haben als hier. Ach ja...der Anfang wird durch 1s Pause gekennzeichnet.
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!
Ihr habt beide recht, der 59.Sekundenpuls fällt aus, damit ist der Abstand zwischen zwei steigenden Flanken hier 2 Sekunden, sonst eine.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.