Есть микроконтроллер Mega16-16PU собственно к ножке (с которой должно происходить считывание) подседина кнопка, соединенная с землёй.
Для проверки нажатия решил припаять светодиод.
Вот код программы:
CODE:
ldi r16,(1<<PC2)
ldi r17,(1<<DDC0)
out PORTC,r16
out DDRC,r17
ldi R20,0
ldi R16,0
ldi R17,0
TestPos:
in R17,PINC ; если кнопка нажата
CPSE R17,R20
jmp shine
jmp TestPos
shine:
sbi PORTC,0
nop
jmp shine
ldi r16,(1<<PC2)
ldi r17,(1<<DDC0)
out PORTC,r16
out DDRC,r17
ldi R20,0
ldi R16,0
ldi R17,0
TestPos:
in R17,PINC ; если кнопка нажата
CPSE R17,R20
jmp shine
jmp TestPos
shine:
sbi PORTC,0
nop
jmp shine
При включении получается что безразлично нажата ли кнопка или нет... сразу же зажигается светодиод...
И правильно ли я понял, что когда кнопка отпущена на ножке логическая 1, а когда нажата лог. 0?