Задача такая. Если светодиод не горит, значит при нажатии на кнопку загорается. Если он горит, значит при нажатии тухнет. И так зациклено. Еще одно условие. Сделать задержку от дребезга контактов и что бы при кратковременном нажатии алгоритм выполнялся, а при длительном повторялся. Как клавиатура на компе. То есть нажал кнопку — напечаталась буква, но если подержать клавишу, то буква будет печататься быстро без задержки.
на данный момент имею такой код
Кнопка и светодиод висят на одном порту. Кнопка на PB4 — при нажатии логический ноль, светодиод на PB0 — при логическом нуле загорается.
Раздел: AVR
на данный момент имею такой код
.list
.include <m8535def.inc>
.cseg
.org 0
ldi r21,high(RAMEND)
out SPH,r21
ldi r20,low(RAMEND)
out SPL,r21
.org 0x2A
.def temp = R16
.def temp1 = R17
.def temp2 = R18
.def temp3 = R19
ldi temp, 0b00000001
out DDRB, temp
ldi temp, 0b00000001
out PORTB, temp
main:
in temp, PINB
sbrs temp, 4
rcall inversion
rjmp main
inversion:
ret
Кнопка и светодиод висят на одном порту. Кнопка на PB4 — при нажатии логический ноль, светодиод на PB0 — при логическом нуле загорается.
Раздел: AVR