Bawię się portami wejścia wyjścia używając atmega32 w zestawie startowym ZL3AVR (http://www.btc.pl/pdf/zl3avr.pdf). Zwarłem zworkę małej klawiatury (JP3), połączyłem wyjścia klawiatury w1..w4 do PB0..PB3 oraz wyjścia PA0..PA2 do LEDów D0..D2.
Program, który mnie męczy:
Nie mogę rozgryźć dlaczego po resetowaniu układu czasem zapala się jedna dioda a czasem wszystkie trzy... Jeśli zapalą się trzy to dwie mogę zgasić tak jak sobie tego życzę przy pomocy przycisku. Ale dlaczego czasem zapala się tylko jedna?
Program, który mnie męczy:
.INCLUDE "m32def.inc"
ldi R16, 0b00000111 // ldi - ładuje rejestr wartością bezpośrednią
out DDRA, R16 // DDRA - Data Direction Register (out=1/in=0)
out PORTA, R16
ldi R16, 0x0F
out PORTB, R16
main:
nop
sbis PINB, PINB0
rjmp button0
rjmp main
button0:
ldi R16, 0b11111100
out PORTA, R16
rjmp main
Nie mogę rozgryźć dlaczego po resetowaniu układu czasem zapala się jedna dioda a czasem wszystkie trzy... Jeśli zapalą się trzy to dwie mogę zgasić tak jak sobie tego życzę przy pomocy przycisku. Ale dlaczego czasem zapala się tylko jedna?