Сколько длится постинг нового сообщения!?
проверка
еще проверка укпе цйе йуе йе йе
;** STK500 LEDS and SWITCH demonstration
.include "m8515def.inc"
.def Temp =r16 ; Temporary register
.def Delay =r17 ; Delay variable 1
.def Delay2 =r18 ; Delay variable 2
;** Initialization
RESET:
ser Temp
out DDRB,Temp ; Set PORTB to output
;* Test input/output
LOOP:
out PORTB,temp ; Update LEDS
sbis PIND,0x00 ; If (Port D, pin0 == 0)
inc Temp ; then count LEDS one down
sbis PIND,0x01 ; If (Port D, pin1 == 0)
dec Temp ; then count LEDS one up
sbis PIND,0x02 ; If (Port D, pin2 == 0)
ror Temp ; then rotate LEDS one right
sbis PIND,0x03 ; If (Port D, pin3 == 0)
rol Temp ; then rotate LEDS one left
sbis PIND,0x04 ; If (Port D, pin4 == 0)
com Temp ; then invert all LEDS
sbis PIND,0x05 ; If (Port D, pin5 == 0)
neg Temp ; then invert all LEDS and add 1
sbis PIND,0x06 ; If (Port D, pin6 == 0)
swap Temp ; then swap nibbles of LEDS
;* Now wait a while to make LED changes visible.
DLY:
dec Delay
brne DLY
dec Delay2
; https://radioded.ru/forum/viewtopic.php?f=4&t=446
; считывание адреса ячейки памяти EEPROM из порта B
; значение, которое хранится в ячейке памяти выводится в порт D
; кнопка запуска чтения - PE.0, нет фильтрация дребезга контактов
;** STK500 LEDS and SWITCH demonstration
.include "m8515def.inc"
.def Temp =r16 ; Temporary register
.def Delay =r17 ; Delay variable 1
.def Delay2 =r18 ; Delay variable 2
;** Initialization
RESET:
ser Temp
out DDRB,Temp ; Set PORTB to output
;* Test input/output
LOOP:
out PORTB,temp ; Update LEDS
sbis PIND,0x00 ; If (Port D, pin0 == 0)
inc Temp ; then count LEDS one down
sbis PIND,0x01 ; If (Port D, pin1 == 0)
dec Temp ; then count LEDS one up
sbis PIND,0x02 ; If (Port D, pin2 == 0)
ror Temp ; then rotate LEDS one right
sbis PIND,0x03 ; If (Port D, pin3 == 0)
rol Temp ; then rotate LEDS one left
sbis PIND,0x04 ; If (Port D, pin4 == 0)
com Temp ; then invert all LEDS
sbis PIND,0x05 ; If (Port D, pin5 == 0)
neg Temp ; then invert all LEDS and add 1
sbis PIND,0x06 ; If (Port D, pin6 == 0)
swap Temp ; then swap nibbles of LEDS
;* Now wait a while to make LED changes visible.
DLY:
dec Delay
brne DLY
dec Delay2
brne DLY
rjmp LOOP ; Repeat loop forever
/*
.include "m8515def.inc"
.def temp = R16
rjmp reset
.org 0x0d
rjmp button
reset:
ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPL, temp
ldi temp, 0xFF
out DDRD, temp ; все ноги порта - выходы
ldi temp, 0xFF
out PORTB, temp ; подтяжка пинов к питанию
ldi temp, (1<<5)
out GICR, temp
sei
loop:
nop
rjmp loop ; бесконечный цикл
button:
in temp, PINB ; считываем уровни с порта B
out EEARL, temp ; запись адреса откуда будем читать
sbi EECR, EERE ; считываем из памяти EEPROM
nop
in temp, EEDR ; копируем в регистр
out PORTD, temp ; зажигаем светодиоды
reti
ldi wreg, 0b10100000
out MCUCR, wreg
ldi wreg, 0x00
main:
out EEARL, wreg ; запись адреса, есть еще EEARH
out EEDR, wreg ; данные
sbi EECR, EEMWE
sbi EECR, EEWE
sbic EECR, EEWE ; проверка окончания записи
rjmp PC-1
inc wreg ; инкрементируем регистр
cpi wreg, 0x05 ; сравниваем значение с константой 0x05
breq PC+2 ; перепрыгиваем через след. команду
; если равенство выполняется т.е. wreg = 0x05
*/
проверка