[an error occurred while processing this directive]
|
Задача... нужно сделать кодовый замок с вводом кода одной кнопкой, 4 цифры, в каждой от 1 до 255..
прогу написал....может есть путь попроще?
.include "c:\real avr\m8def.inc"
.def tmp = r16
.def code1 = r17
.def code2 = r18
.def code3 = r19
.def code4 = r20
.def Xcode = r23
.equ sw = PD0
.cseg
.org $0000
rjmp reset
.org $0009
rjmp T0_OVF
reset:
ldi tmp,low(RAMEND)
out spl,tmp ;Определение вершины стека
ldi tmp,High(ramEND)
out sph,tmp ;Определение вершины стека
ldi tmp,0x01
out timsk,tmp
ldi tmp,0xff
out DDRC,tmp ;ВЫХОД
ldi tmp,0xff ;
out PORTC,tmp
ldi tmp,0x00
out DDRD,tmp ;Вход
ldi tmp,0xff ;
out PORTD,tmp
out PIND,tmp
MAIN:
sei
SBIS pinD,sw
rjmp SW_ON
ser tmp
out pind,tmp
rjmp main
SW_ON: clr tmp
out TCNT0,tmp ;Очистить содержимое таймера
ldi tmp,0x01
out TCCR0,tmp ;Зпапуск таймера
inc Xcode ;+1
sbi pinD,sw
rjmp main
T0_OVF: clr tmp
out TCCR0,tmp
out TCNT0,tmp
cpi code1,0x00
brne pc+4
mov code1,Xcode
clr Xcode
reti
cpi code2,0x00
brne pc+4
mov code2,Xcode
clr Xcode
reti
cpi code3,0x00
brne pc+4
mov code3,Xcode
clr Xcode
reti
cpi code4,0x00
brne pc+4
mov code4,Xcode
clr Xcode
reti
reti
E-mail: info@telesys.ru