Hallo da,
ich hab hier die abgebildete Plattform. mit den zwei Tastern steuere ich die ror und rol Befehle und gebe das Ergebnis auf die LED´s aus. Laut Datanblatt wird das Bit, das normalerweise verlorengehen würde in das Carry geschoben und dann wieder eingegliedert. Genau das passiert bei mir aber nicht und wenn ich´s übertreibe, sind sie alle aus und bleiben es auch.
Code:
mainloop: wdr
in r16,PINC
ori r16,0b11101111
cpi r16,0b11111111
breq d
in r16,PINC
ori r16,0b11011111
cpi r16,0b11111111
breq a
rjmp mainloop
a:
rcall ana
rjmp mainloop
d:
ldi r31,0b00010000
out PORTB,r16
rcall dec_inc ;Hier den Quellcode eintragen.
rjmp mainloop
;------------------------------------------------------------------------
ana:
bis_converted:
in r16,ADCSRA
ori r16,0b11101111
cpi r16,0b11111111
breq ausgabe
rjmp bis_converted
ausgabe:
in r18,ADCH
out PORTB,r18
ret
dec_inc:
wieder:
sbic PINC,3
rol r31
sbic PINC,1
ror r31
out PORTB,r31
loop1:
in r16,PINC
ori r16,0b11111101
cpi r16,0b11111111
breq loop1
in r16,PINC
ori r16,0b11110111
cpi r16,0b11111111
breq loop1
in r16,PINC
ori r16,0b11101111
cpi r16,0b11111111
breq wieder
ret
Lesezeichen