Чт мар 09, 2017 15:21:42
BOB51 писал(а):Ну и зачем цеплять избыточный МК
Чт мар 09, 2017 19:11:16
BOB51 писал(а):Не знаю, самое удобное опрос кнопок по прерыванию.(от таймера правда) и дребезг можно убрать и реагировать на любые комбинации, хоть на все сразу нажатые кнопки.
BOB51 писал(а):По таймеру, а не по входным линиям (как у топикстартера в замысле).
Ну и зачем цеплять избыточный МК там, где оный экономически не обоснован.
Другое дело - для удовольствия "на вырост" - но ... тогда заранее надо позаботится о минимальном использовании ресурсов, чтоб попозже при изменениях/дополнениях в программе не пришлось все заново переделывать.
Сб мар 11, 2017 11:51:25
.macro delay5 ; задержка
ldi r22, low(@0)
ldi r23, high(@0)
ldi r24, byte3(@0)
count: subi r22,1
sbci r23,0
sbci r24,0
brcc count
.endm
;КОД ОСНОВНОЙ ПРОГРАММЫ
sbis PINB,1
sbi PORTD,0
delay5 tau
rjmp man
s: sbis PINB,0
rcall s1
delay5 tau
ret
s1: sbic PINB,1
rcall s2
delay5 tau
ret
s2: dec R18
inc R18
breq s3
nop
ret
s3: sbis PINB,2
rcall s4
delay5 tau
ret
s4: sbis PINB,3
rjmp s4
delay5 tau
sbic PINB,3
sbi PORTD,0
delay5 tau
ret
start: sbic PINB,2
rcall start1
delay5 tau
ret
start1: sbis PINB,1
rcall start2
delay5 tau
ret
start2: sbic PINB,3
sbi PORTD,0
delay5 tau
sbis PINB,3
ret
star: sbis PINB,2
rcall star1
delay5 tau
ret
star1: cbi PORTD,0
ldi R18,0
nop
ret
stop: sbic PINB,0
cbi PORTD,0
delay5 tau
ret
man: ldi R18,1
sbis PINB,0
rcall start
delay5 tau
sbic PINB,1
rcall stop
delay5 tau
rcall star
rcall s
rjmp man
Вт июн 07, 2022 08:52:42
Пт июн 10, 2022 07:50:55