You are on page 1of 3

.

DEVICE ATMEGA16
.NO LIST
.INCLUDE “m16def.inc”
.LIST
;
.EQU PRO1=0
.EQU PRO2=1
.EQU PRO3=2
.EQU SALIDA_PRO=3
.EQU DEVOL_PRO=4
.EQU CHEC=5
.EQU CHEC1=6
.EQU CHEC2=7

.DEF AUX=R16
.DEF CONT1=R17
.DEF CONT2=R18
.DEF AUX1=R19
.DEF CONT3=R20
.DEF CONT4=R21
.DEF AUX2=R22
.DEF AUX3=R23

.ORG $00
RJMP INICIO
.ORG $02
RJMP INTER_0
.ORG $04
RJMP INTER_1
.ORG $24
RJMP INTER_2

INICIO: LDI AUX, LOW(RAMEND)


OUT SPL,AUX
LDI AUX, HIGH(RAMEND)
OUT SPH,AUX

LDI AUX,0b00000111
OUT DDRA,AUX
LDI AUX,0b11110011
OUT DDRD,AUX
LDI AUX,0b00001011
OUT MCUCR,AUX
LDI AUX,0b110000000
OUT GICR,AUX
SEI
SBI PORTA, PRO1
SBI PORTA, PRO2
SBI PORTA, PRO3

RUTI0: IN AUX1, PRO1


RCALL ESP2SEG
SBIS PINA,CHEQ
RJMP RUTI0
SBIS PINA, DEVOLVAL
LDI AUX1, CONT1
OUT PROD1, AUX1
RCALL ESP1SEG
RETI

SALIDA: LDI CONT1, 10


DEC CONT1
CPI CONT1, 0
BREQ APAGA
SBI PINA, SALIPRO
RCALL ESP1SEG
RJMP SALIDA

APAGA: CBI PINA, SALIPRO


RET

RUTI1: IN AUX1,PROD2
RCALL ESP2SEG
SBIS PINA,CHEQ
RCALL SALIDA1
RJPM RUTI1
SBI PINA,DEVOLVAL
LDI AUX1, CONT2
OUT PROD2,AUX1
RCALL ESP1SEG
RETI

SALIDA1: LDI CONT2,20


DEC CONT2
CPI CONT2, 0
BREQ APAGA1
SBI PINA, SALIPRO
RCALL ESP2SEG

APAGA1: CBI PINA, SALIPRO


RET

ESP1SEG: LDI CONT3, 5


LDI CONT4, 100
OUT TCNT0, AUX
LDI AUX2, 0b00000010
LDI TCCR0, AUX2

ESP1SEG: LDI CONT4, 10


LDI CONT5, 100
OUT TCNT0, AUX
LDI AUX2, 0b00000010
LDI TCCR0, AUX2

LAZO1: IN AUX3, TIFR


SBRS AUX3, TOV0
RJPM LAZO1
LDI AUX2, 0b00000001
OUT TIFR, AUX2
DEC CONT3
DEC CONT3
DEC ESP1SEG
LDI AUX2, $00
OUT TCCR0, AUX2
DEC CONTA3
RET

You might also like