Documente Academic
Documente Profesional
Documente Cultură
DEF AUX=R16
.DEF AUX1=R17
.DEF TEMP=R18
.CSEG
.ORG 0X00
RJMP CONFIG
CONFIG:
SER AUX
OUT DDRA,AUX ;SALIDA PUERTO A
LDI AUX,0b0000_1111 ;SALIDAS CON 0 ENTRADAS CON 1 .......7-4 IN, 3-0 OUT
OUT DDRC,AUX
NOP
LAZO:
CALL BARRIDO
RJMP LAZO
BARRIDO:
;FILA1
CBI PORTC,0
SBIS PINC,4 ;columna 4
LDI AUX1,0
SBIS PINC,5
LDI AUX1,1
SBIS PINC,6
LDI AUX1,2
SBIS PINC,7
LDI AUX1,3
;FILA2
SBI PORTC,0 ; FILA 1 RETORNA AL VALOR INICIAL 1
CBI PORTC,1
SBIS PINC,4
LDI AUX1,4
SBIS PINC,5
LDI AUX1,5
SBIS PINC,6
LDI AUX1,6
SBIS PINC,7
LDI AUX1,7
;FILA3
SBI PORTC,1 ; FILA 1 RETORNA AL VALOR INICIAL 1
CBI PORTC,2
SBIS PINC,4
LDI AUX1,8
SBIS PINC,5
LDI AUX1,9
SBIS PINC,6
LDI AUX1,10
SBIS PINC,7
LDI AUX1,11
;FILA4
SBI PORTC,2 ; FILA 1 RETORNA AL VALOR INICIAL 1
CBI PORTC,3
SBIS PINC,4
LDI AUX1,12
SBIS PINC,5
LDI AUX1,13
SBIS PINC,6
LDI AUX1,14
SBIS PINC,7
LDI AUX1,15
CALL MOSTRAR
SBI PORTC,3
RET
MOSTRAR:
LDI zl,low(TABLA<<1) ;inicializa Z el << es para direccionar el numero de
intruccion
LDI zh,high(TABLA<<1) ; el lpm es para manejarnos con el numero de la instruccion
ADD zl,AUX1 ; val es el numerto de dato que quiero sacar de la tabla, osea si
quiero el 2 pongo 2
LPM AUX,z
OUT PORTA,AUX
RET