Article View: de.sci.electronics
Article #1476Re: DCF-Decodierung
From: Olaf Hellmann
Date: Sun, 12 Oct 1997 00:00
Date: Sun, 12 Oct 1997 00:00
64 lines
3971 bytes
3971 bytes
On Fri, 10 Oct 1997 10:37:15 CET, marc@aargh.mayn.de (Marc 'Nepomuk' Heuler) wrote: >Sie erg�nzen die vorherigen Bits auf gerade Parity (gerade Anzahl von >1-Bits). Danke f�r sie Antworten !! Ich habe es inzwischen eingebaut und klappt auch 100%. >> Ferner w�rde mich noch intressieren was es mit der 17. und 18. Sekunde >> (Zeitzonenbits) auf sich hat. > >Bit 17 = 1 -> Sommerzeit > >Mich w�rde ein '51 Code interessieren, der die DCF77 Datenfelder in die >Anzahl der Sekunden seit 1. Januar 1997 (oder ein anderes Jahr) >Mitternacht umrechnet. Diese Anzahl k�nnte ich dann per Timerint jede >Sekunde um 1 erh�hen und h�tte so einen immer stimmigen Zeitstempel f�r >Logzeilen, auch wenn das DCF77 Signal mal nicht empfangen wird. Hast Du so >eine Funktion? Alles was ich dir anbieten w�re mein '51 er Spagetti-Code zur DCF-Decodierung geben allerdings habe ich schon vor 5 Jahren mit der 51' er Programierung aufgeh�rt weil ich in meinen Programmen sehr viel Rechnen mu� und das ist in Assembler doch eine ziemliche Qual weswegen ich auf den Basic-Tiger umgestiegen weil der in einem ziemlich guten Basic programmiert wird und ein sehr konfortabeles/funktionierenes Multitasting bietet was die Programierung fast zum Kinderspiel werden l�st. Aber die DCF-Decodierung ist sehr einfach umzusetzen : Du kaufs dir ein DCF-Empf�nger (z.B. Conrad ca. 25,-) dessen Signal legst du auf einen freien Eingang. Dann mu�t du dir einen Interrup zurecht biegen der mindestens alle 30 milisekunden ausgef�hrt wird un dann mu�t du die Dauer des 1 unn 0 Signal deines DCF-Einganges ermitteln (einfach einen Z�hler bei jeder Ausf�hrung des Interrups um eins erh�hen). Wenn du z.B. einen Interrup hast der alle 10 ms ausgef�hrt wurde immer wenn der '1' Z�hler zwischen 7 und 13 hat hast du ein DCF-'0' Bit wenn der z�hler zwischen 16-25 liegt hast du ein DCF-'1' Bit und wenn der Z�hler f�r den AUS Zustandes zwischen 150 und 220 liegt hast du die 59. Sekunde. Und aus diesen Bit's l��t sich die Zeit ziemlich einfach errechnen. Wenn du das wirklich mit einen 10 ms Interrup machst kannst du auch sehr einfach die Uhr auch bei Nichtempfang weiterrechnen lassen denn zumindest bei meinen 80535 war der Interrup so genau das ich einen Abweichung von 3 Sekunden pro Tag bei Nichtempfang der DCF-Zeit hatte was IMHO ein sehr guter Wert ist der voll und ganz ausreicht. Wenn es dir bei deinem Zeitzstempel nicht aus letzte Bit Speicherplatz drauf ankommt w�rde ich einfach die DCF-Bits 21-27, 29-34 ,36-44 und 45-57 �bernehmen denn dann brauchst du 34 Bit und kannst jederzeit auch in 51 er Code sehr einfach aus dem Code die Uhrzeit mit Datum ausrechnen. mfg -- Olaf Hellmann |alle schraib- kommer- tren- oda gros- und Olaf@Hellmann.westfalen.de |klainchraibunksfehler basiren auf der Tel. +49 2552 99 60 47 |neuen rechtschraibreform und spiegeln den Fax. +49 2552 99 60 48 |aktuelen bildunksstant d�r 'B!LD' wider !
Technical Details
Message-ID:
<343fdf25.806551@steinfurt.westfalen.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<343d443c.1437672@steinfurt.westfalen.de> <rpscB*NTd@aargh.mayn.de>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: 112e71,ad6ee8c0941936ad X-Google-Attributes: gid112e71,public X-Google-Thread: f637a,991f831314cdee3d X-Google-Attributes: gidf637a,public X-Google-Thread: 105dc7,991f831314cdee3d X-Google-Attributes: gid105dc7,public X-Google-Thread: fa709,991f831314cdee3d X-Google-Attributes: gidfa709,public X-Google-Thread: 10ba43,991f831314cdee3d X-Google-Attributes: gid10ba43,public From: news@hellmann.westfalen.de (Olaf Hellmann) Subject: Re: DCF-Decodierung Date: 1997/10/12 Message-ID: <343fdf25.806551@steinfurt.westfalen.de> X-Deja-AN: 279824881 References: <343d443c.1437672@steinfurt.westfalen.de> <rpscB*NTd@aargh.mayn.de> Organization: steinfurt, outpost of westfalen.de Reply-To: news@hellmann.westfalen.de Newsgroups: de.sci.electronics,fido.ger.elektronik,maus.elektronik,t-netz.elektronik,z-netz.alt.elektronik