The Man
02.03.2007, 10:28
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.
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
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.
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