From 80def75d3e2c753ae2f5206d2d66e8b1788f5830 Mon Sep 17 00:00:00 2001 From: Stefanie Eckner Date: Sun, 8 Nov 2020 13:30:43 +0100 Subject: Binaeruhr.asm: Funksignal andersrum speichern - ist praktischer --- Binaeruhr.asm | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/Binaeruhr.asm b/Binaeruhr.asm index 4b4fad9..4af891b 100644 --- a/Binaeruhr.asm +++ b/Binaeruhr.asm @@ -133,16 +133,16 @@ high_low_Funkflanke: com r16 cpi r16,240 - rol Funk7 - rol Funk6 - rol Funk5 - rol Funk4 - rol Funk3 - rol Funk2 - rol Funk1 - rol Funk0 - - sbrs Funk0,4 ; zu viele Bits + ror Funk7 + ror Funk6 + ror Funk5 + ror Funk4 + ror Funk3 + ror Funk2 + ror Funk1 + ror Funk0 + + sbrs Funk0,3 ; zu viele Bits rjmp nach_Funkflanke Funkfehler: @@ -156,7 +156,7 @@ Funk_initialisieren: clr Funk4 clr Funk5 clr Funk6 - ldi r16,0x01 + ldi r16,0x80 mov Funk7,r16 nach_Funkflanke: @@ -192,9 +192,18 @@ neue_Funkminute: sbr Status,0x02 ; der nächstminütige Empfang ist bisher ok brtc Funk_initialisieren ; die letzte Minute enthielt schon Fehler - sbrs Funk0,3 ; Start-bit da? + sbrs Funk0,4 ; Bit -1: Start-bit da? rjmp Funk_initialisieren - sbrc Funk0,2 ; 2.Start-bit da? + sbrc Funk0,5 ; Bit 0: 2.Start-bit da? + rjmp Funk_initialisieren + + mov r16,Funk2 ; Bits 11..18 + lsr r16 + eor r16,Funk2 + sbrs r16,6 ; Bit 17 xor Bit 18 -> ME(S)Z ok? + rjmp Funk_initialisieren + + sbrs Funk3,1 ; Bit 20: Zeit-Start-bit rjmp Funk_initialisieren ; TODO: hier mehr checken -- cgit v1.2.3-54-g00ecf