Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Analog/Digitale Wanduhr 1 - Homepage von Stefan Buchgeher
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
tfsc DCFTELEGRAMM5,0<br />
bsf DCFMINBCD,5<br />
btfsc DCFTELEGRAMM5,1<br />
bsf DCFMINBCD,4<br />
btfsc DCFTELEGRAMM5,2<br />
bsf DCFMINBCD,3<br />
btfsc DCFTELEGRAMM5,3<br />
bsf DCFMINBCD,2<br />
btfsc DCFTELEGRAMM5,4<br />
bsf DCFMINBCD,1<br />
btfsc DCFTELEGRAMM5,5<br />
bsf DCFMINBCD,0<br />
<strong>Analog</strong>/<strong>Digitale</strong> <strong>Wanduhr</strong> 1<br />
; clrf DCFZUSATZINFOS ;Zusaetzliche Informationen<br />
; btfsc DCFTELEGRAMM5,7 ; zusaetzliche Schaltsekunde<br />
; bsf DCFZUSATZINFOS,DCFSCHALTSEK<br />
; btfsc DCFTELEGRAMM6,0 ; Sommerzeit<br />
; bsf DCFZUSATZINFOS,DCFSOMMER<br />
; btfsc DCFTELEGRAMM6,1 ; Winterzeit<br />
; bsf DCFZUSATZINFOS,DCFWINTER<br />
; btfsc DCFTELEGRAMM6,2 ; Vorankuendigung: Wechsel<br />
; bsf DCFZUSATZINFOS,DCFSOMWIN ; Sommerzeit Winterzeit<br />
; btfsc DCFTELEGRAMM6,3 ; Reserveantenne<br />
; bsf DCFZUSATZINFOS,DCFRESANT<br />
;Neues Telegramm mit dem alten Vergleichen<br />
bcf DCFSTATUS,DCFFEHLER ;zuerst Fehlerflag loeschen<br />
movf DCFMINALT,w ;Minuten pruefen<br />
subwf DCFMINBCD,w<br />
movwf TEMP1 ;TEMP1 = DCFMINBCD - DCFMINALT<br />
decfsz TEMP1,w ;TEMP1 - 1 = 0 ?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
movf DCFSTDALT,w ;Stunden pruefen<br />
subwf DCFSTDBCD,w<br />
btfss STAT,Z ;DCFSTDBCD - DCFSTDALT = 0?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
movf DCFTAGALT,w ;Tag pruefen<br />
subwf DCFTAGBCD,w<br />
btfss STAT,Z ;DCFTAGBCD - DCFTAGBCD = 0?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
movf DCFMONALT,w ;Monat pruefen<br />
subwf DCFMONBCD,w<br />
btfss STAT,Z ;DCFMONBCD - DCFMONALT = 0?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
movf DCFJAHRALT,w ;Jahr pruefen<br />
subwf DCFJAHRBCD,w<br />
btfss STAT,Z ;DCFJAHRBCD - DCFJAHRALT = 0?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
movf DCFWTAGALT,w ;Wochentag pruefen<br />
subwf DCFWOCHENTAG,w<br />
btfss STAT,Z ;DCFWOCHENTAG - DCFWTAGALT = 0?<br />
bsf DCFSTATUS,DCFFEHLER ;nein: Fehlerflag setzen<br />
;Altes Telegramm durch das neue Telegramm ersetzen<br />
movf DCFMINBCD,w<br />
movwf DCFMINALT<br />
Seite 26