-
dcf - 77 assemblercode
hi leutz....
ich programmiere schon seit 2 jahren assembler.
diesmal beschäftige ich mich, mit dem dcf 77 baustein, bei dem ich starthilfen brauche.
ich weiss bisher, das alles nach zeiten gegliedert ist und ich so auch werte ablesen kann.
nur ich habe keine ahnung wie ich beginnen soll......
hat jemand so etwas schon programmiert oder kann mir sogar programmbeispiele schicken?
das wär eine sehr große hilfe!
mfg
Nick
-
Hi NickD,
leider programmiere ich derzeit nicht in Assembler und habe auch keine entsprechende Bibliothek zur Verfügung. Ich poste zur Info aber mal das
Kodierschema :
http://www.dcf77.de/deutsch/kodierung.htm
und eine technische Info
http://www.prog-link.com/dcf77/dcf77...F77_Zeitsignal
mit der Hoffnung, das es Dir weiter hilft.
Wenn Du Sourcecode haben willst währe eine wichtige Info der Prozessor, auf dem Du Dein Programm schreiben willst.
Gruß Klaus
-
Hi,
welchen Controller benutzt du? Für AVR hätte ich Assembler-Code zum auslesen des Signals.
-
Hi NickD.
Habe eine Software für 80c535 in Assembler.
Arbeitet mit Conrad DCF Modul.
Kurt
-
hi leutz...
ersmal danke an euch alle, die mir weiterhelfen wollen, bzw. konnten, besonderst, an klaus, der mir mit den fachseiten, sehr heöfen konnte!
ich benutze den 80c535, mit dem asem compiler!
also wenn ihr ein beispielprogramm habt, dann wär das echt großartig.
p.s.: ich habe erst vor kurzem dieses forum endeckt udn ich bin echt überrascht, wie hoch hier, die hilfsbereitschaft ist!
vielen dank...
nick
-
ich bedanke mich sehr bei kurt, der mir per email ein c - programm des dcf77 geschickt hat.
leider hilft mir das nur ansatzweise weiter. leider kann ich ausbildungtechn. nicht in c arbeiten, was ich selber sehr bereue, da es mir die arbeit sehr erleichtern würde.
wir sind, bzw. ich bin schon damit beschäftig, auf einen c - cross comiler umzustellen, leider werde ich nur, in meiner ausbildungszeit, ncihts davon haben.
also ich weiss schon in welchen impulsen, was gesendet wird,, nur mich habe keine ahnung wie ich anfangen soll!
hiiiillfe *g*
Nick
-
eigentlich ist mein problem folgendes:
wie speicher ich die empfangenden 0 und 1 datenbit's ab?
-
Also, was wann gesendet wird, weiß du ja scheinbar. Hier steht es auch nochmal: http://www.giangrandi.ch/electronics/dcf77/signal.html
Das Abspeichern läuft (in Assembler) so ab:
Eine Zählvariable wird bei jeder empfangenen '0' oder '1' um 1 erhöht- wenn du das Signal der 59.Sekunde empfängst, wird die Zählvariable bei der nächsten Sekunde(0) auf 0 zurückgesetzt. Du hast damit in der Zählvariable immer die aktuelle Sekunde stehen.
Wenn zu beispielsweise die Minute wissen möchstest, dann fragst du ab, ob gerade die Minute gesendet wird (Das ist der Fall wenn deine Zählvariable im Bereich 21..27 steht). Wenn dies der Fall ist, verwendest du ein Register und schiebst per ror-Befehl das aktuell empfangene Bit "von links" ein. Wenn alle 7 Bits empfangen wurden, musst du natürlich nochmal eine '0' nachschieben, weil das Register ja nicht 7 sondern 8 Bit hat.
Danach hast du die Minute BCD-codiert in deinem Register stehen.
Genauso kannst du es auch mit Stunden, Tag, Jahr usw. machen.
Ich hoffe das war einigermaßen verständlich erklärt ;)
-
hi leutz....
das abspeichern ist mir jetzt möglich, danke für die hilfe.
nur ich weiss nciht, wie ich prüfe, wie lange der intervall ist. ich muss ja gucken, ob ich am minutenanfang bin.
mgf
nick
-
ich bin jetzt folgendermaßen forgegangen:
ich habe den dcf77 erfolgreich, an meinen microcontroller, angeschlossen.
ich gebe dich eingangssignale (von dem dcf77 auf port P1) auf P4 aus (led's zum prüfen).
ich sehe jetzt die signale.
ich habe das jetzt folgend verstanden.....ein kurzes blinken (100ms) ist eine 0 und ein langes leuchten (200ms) eine 1.
jetzt ist das so gesehen kein problem fortzufahren....nur ich kann nciht den unterschied prüfen oder weiss nciht wie ichs anstellen soll.
soll ich nebenbei ein zeitverzögerung laufen lassen und in bestimmten abständen auf 0 bzw. 1 testen? das würde auf jedenfall, meiner meinung nach, die einzige möglichkeit sein.