Einzelner Pin

Gast #165365
Lesenswert?

z.B.:

 in temp1,pinc        ;gesamten Port einlesen
 cpi temp1,0b00000111 ;mit Konstante vergleichen (Bit 0, 1 und 2)
 brne stimmtnicht     ;wegspringen, wenns nicht überein stimmt
 ldi temp,100         ;was tun, wenns stimmt
stimmtnicht:          ;Sprungziel (Label)
 ...                  ;irgendwas anderes auswerten oder tun...

...
Gast #165366
Lesenswert?

@AK: Ja gut ;) aber manchmal isses andersrum auch nich verkehrt.

 IN temp1, pinc
 ANDI temp1, 0b0000 0111
 BRNE stimmtnicht
 LDI temp, 100             ; if, then
 RJMP ende_gelaende
stimmtnicht:
 LDI temp, 123             ; else..
ende_gelaende:
 NOP
 NOP  ;..

Meistens brauchts ein ANDI vorher, weil sonst würde das Ergebnis des
Vergleichs von anderen PINs verändert werden. Und für das ELSE musst du
noch mit RJMPs arbeiten.

dave

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren