Du setzt r16 auf 1 und vergleichst im nächsten Schritt auf 0.. Das Ergebnis wird immer 1 sein...
Hier mal ein Wechsellicht zwischen PortD 5 und PortD 6. Der Taster liegt auf PinD2, Pulldown, geschlossen auf High:
Code:
$regfile = "m32def.dat"
$crystal = 8000000
$framesize = 30
$hwstack = 30
$swstack = 30
$asm
ldi r16, &b01100000
Out Ddrd , R16
ldi r16, &b01000000
Out Portd , R16
Lop:
sbic Pind , 2
rcall Invled
rjmp lop
Invled:
ldi r16, &b00100000
sbis pind,6
ldi r16, &b01000000
Out Portd , R16
Loslassen:
sbic pind,2
rjmp Loslassen
ret
$end Asm
End
Lesezeichen