Ich bekomme vom AD-Wandler einen 10-Bit Wert der mit einem 10-Bit Vorgabewert verglichen werden soll. Es sollen je nach AD-Wert verschiedene Ausgänge aktiviert werden.
Immer nur einer in einem bestimmten Zahlenbereich. Ich komme einfach nicht dahinter wie man den nun diese Zahlenwerte vergleicht. Denn es kann ja vorkommen, daß der High-Wert niedriger ist als der Vorgabewert und der Low-Wert kann höher sein als der Low-Vorgabewert.
Oder das Ganze kann ja auch umgekehrt der Fall sein.
Ich muß also feststellen ob die 10-Bit Zahl innerhalb des vorgegebenen Fensters liegt, höher oder niedriger ist.
So funktioniert es nicht richtig!Code:LED1: ldi EEprom,0x00 ; Vergleichswertadresse vorgeben rcall LeseEEprom ; und Wert aus EEprom holen cp ADHigh,TPHigh ; High-Byte vergleichen brlo LED11 cbr Vergleich,0b00000010 ;rjmp LED2 LED11: sbr Vergleich,0b00000010 cp ADLow,TPLow brlo LED12 cbr Vergleich,0b00000001 rjmp LED2 LED12: sbr Vergleich,0b00000001 cpi Vergleich,3 brne LED2 cbr LEDStat,0b00000001 out PORTB,LEDStat







Zitieren

Lesezeichen