Witam. Mam taki prosty (dla Was
) programik. Zastanawiam się jak go dokładnie wykonać. Zasada działania programu jest taka. Mam 8 diod na układzie scalonym. Mam załączać diody od lewej do prawej i od prawej do lewej. Napisałem program, lecz nie wiem gdzie jest błąd. Polega on na tym, że leci od lewej do prawej i ostatnia dioda się wyłącza. I dopiero jak się załączy drugi raz to leci z powrotem w lewo, jednak pierwsza dioda się nie wyłącza tylko się świeci i znów leci w prawo. Jak mam zrobić, żeby ostatnia dioda też się świeciła przy powrocie a nie gasła?? Kod poniżej:
.include"m16def.inc"
ldi r16,0xff
out ddrc,r16
ldi r16,low(ramend)
out spl,r16
ldi r16,high(ramend)
out sph,r16
PG: ldi r16,0b00000001
out portc,r16
W:
rol r16
out portc,r16
breq C
jmp W
C:
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
ror r16
out portc,r16
breq W
jmp PG
RET