
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> Hallo habe eine Micro Version 2.01 > Habe leider erfolglos versucht meiner Micro die Uhrzeit mittels DCF Antenne beizubringen. Warum nimmst die nicht die Demo zur Micro um zumindest zu schauen ob die Hardware geht? Bye Yazo Chuul '-------------------------------------------------------------------- ' ERWEITERUNG: BASIC-SYSTEMERWEITERUNG DCF-SYNCHRONISATION - ' RXD - '-------------------------------------------------------------------- ' Diese Demo ladet die BASIC-SYSTEMERWEITERUNG "PAGE0_EXT1.S19" ' und zeigt wie die RTC der MICRO mit einer DCF-Uhr synchronisiert wird. ' Der Aufruf SYS DCFSYNC startet die Synchronisation, die nach ca. 2 Minuten ' abgeschlossen ist. ' Zur Kontrolle wird über die serielle Schnittstelle der Inhalt der RTC ausgegeben ' and mit LED 5 die Pulse am DCF-Eingang sichtbar gemacht. ' Mit dieser Erweiterung wird auch der Befehl RXD freigeschaltet der anzeigt, ob ' die Uhrzeit Synchronisiert ist. ' Verwendet wird er z.B. so: ' ' if RXD then goto SYNC ' if NOT RXD then goto UNSYNC ' In unserem Beispiel wird der BEEPER aktiviert wenn die Uhrzeit synchronisiert ist. ' Nach der Synchronisation läuft die Uhrzeit mit RTC-Genauigkeit weiter, sodass ' Sie SYS DCFSYNC entsprechend den Anforderungen an die Genauigkeit der RTC häufiger ' aufrufen müssen. ' Wenn die RTC einmal synchronisiert ist, wird der Interrupt abgeschaltet und muss für ' eine erneute Synchronisaton mit SYS DCFSYNC aktiviert werden. ' Gleichzeitig wir damit RXD auf false gesetzt und erst wieder true, wenn die Uhr ' erneut synchron ist. ' EINSCHRÄNKUNGEN: ' Die DCF Synchronisation betrifft nur die Uhrzeit. Datum und Wochentag werden ' nicht synchronisiert, da hierfür im System keine Variablen vorgesehen sind. ' Benötigen Sie in Ihrer Anwendung das Datum, so können sie dieses mit einem ' kleinen Unterprogramm erzeugen und in den Variablen ablegen. ' !! Die Synchronisation beeinhaltet keine Korrektur von Übertragungsfehlern !! ' Wenn Sie die Uhreit hundertprozentig sicher anzeigen zu wollen, müssen Sie ' für eine Verifizierung mehrer Rahmen selbst Sorge tragen. ' ' ' ACHTUNG: ' Das Treiberprogramm läuft interruptgesteuert im Hintergrund, auf der ' SYSCODE PAGE 0 ' Deswegen verringert sich die max. Länge des nutzbaren Basicbereiches um 256 Bytes ' also auf 1792 Bytes. Als Benutzer müssen Sie selbst darauf achten´, dass durch ein ' überlanges BASIC-Programm der Maschinencode auf Page0 nicht überschrieben wird. ' Der SYSCODE muss nur ein einziges Mal geladen werden. Er verbleibt dann resident ' im Speicher. ' Das angeschlossene DCF-Uhrenmodul muss während der Sekundenimpulse von HI auf LO tasten. ' '----------------------------------------------------------------------- ' SIE DÜRFEN DIESEN TREIBER NUR LADEN, WENN DIE PAGE0/1 NICHT VON ANDEREN ' TREIBERN/SYSTEMERWEITERUNGEN, DIE SIE BENÖTIGEN, BELEGT IST ! ' Der Treiber ist nicht für die MICRO mit der OS-Version 2.00 geeignet '--------------------------------------------------------------------- '-------------------------- '------ I/O PORTS --------- '-------------------------- define DCFIN port[4] define TASTER port[3] define LED port[5] define BEEPER port[6] define ADC1 ad[1] define ADC2 ad[2] define ADC5 ad[5] define ADC6 ad[6] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- define OLD_SEC byte[1] define a byte[2] '-------------------------- '---- SYSTEM JUMPS ------- '-------------------------- define DCFSYNC &HFD09 SYS DCFSYNC '------- DIE UHR EINSTELLEN --------------------- LED=on:HOUR=0:MINUTE=0:SECOND=0:baud 9600:pause 5:print"START" '-------------------------------------------------- ' CHECKING THE REALTIME CLOCK ACCURACY - '-------------------------------------------------- #TICKING IF DCFIN=off then LED=on if DCFIN=on then LED=off if OLD_SEC = second then goto TICKING #BLINK OLD_SEC=second print HOUR;:print":";:print MINUTE;:print ":";:print SECOND if RXD then beep 100,5,BEEPER goto TICKING syscode "page0_ext1.s19" |
| Antwort schreiben |