Искал поиском, но самого простого и базового объяснения нигде не нашел.
В общем идея такова: нажимается кнопочка и двоичное число, высвечиваемое на светодеодах, увеличивается на единичку. Деоды прикреплены к порту D, кнопочка висит на порте А. Вот код:
Код
.include "m16def.inc"
.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.cseg
.org 0
ldi Temp, 0b11111111
out DDRB,Temp
ldi Temp,0b00000001
out PortB,Temp
BUT:
sbis PinA,0x00; если нажато - переходим к SWITCH
rjmp BUT
SWITCH:
inc Temp
out PortB,Temp
ldi Temp1,0
ldi Temp2,0
DLY:
dec Temp1 ; задержка
brne DLY
dec Temp2
brne DLY
rjmp BUT
Вроде бы все логично, но почему-то работает как угодно, но не так как описано. Что я делаю неверно?