Mahlzeit!

Die reale Welt ist nicht binär

Zwei "gleiche" Spannungen sind meistens doch etwas unterschiedlich und die ad Wandler sind auch nicht fehlerfrei.

Darum sollte man um zu entscheiden, ob 2 Spannungen gleich sind, nicht alle 10Bit vergleichen. Eine Reduktion auf 6 oder 8 Bit vor dem Vergleich ergibt eine Bandbreite, in der die Spannungen noch als "gleich" anzusehen sind und der auch abundzu mal zutrift.

LSR Phigh0
ROR Plow0
LSR Phigh0
ROR Plow0
LSR Plow0
LSR Plow0

cp Plow0,Plow1
breq spg_gleich
brlo diode1_an

diode2_an:
cbi portb,1
cbi portb,0
sbi portb, 2
rjmp main

spg_gleich: ; Diode an Pin 0 einschalten
cbi portb,2
cbi portb,1
sbi portb,0
rjmp main

diode1_an: ;Diode an Pin 1 einschalten
cbi portb, 0
cbi portb, 2
sbi portb, 1
rjmp main

Phigh1/Plow1 natürlich auch nach rechts schieben

PS: Der code für die Wandlung kann natürlich auch fehlerhaft sein...