You are on page 1of 6

Microcontroladores

Teclado Multi-Cambios
.include "m8535def.inc"
.org 0X00
RJMP INICIO
.org 0X01
RJMP INTX

;***********************************************;
INICIO:
LDI R16,0x02
OUT SPH,R16
LDI R16,0x5F
OUT SPL,R16
;***********************************************;
LDI R16,0xFF
OUT DDRA,R16
CLR R16
OUT DDRC,R16
;***********************************************;
LIMP:
LDI R16,0X10
STS $60,R16
STS $68,R16
LDI R16,0X20
STS $69,R16
LDI R16,0X40
STS $6A,R16
LDI R16,0X80
STS $6B,R16
CLR R16
STS $61,R16
STS $62,R16
STS $63,R16
STS $64,R16
STS $65,R16
STS $66,R16
STS $67,R16
LDI R16,0X02
ADD R10,R16
LDI R16,0X10
ADD R11,R16
CLR R12
CLR R13
LDI R26,0X68
CLR R27
LDI R28,0X60
CLR R29
LDI R30,0X64
CLR R31
CLR R9

;
;Configuracion del
;Stack
;
;Configuracion de
;Puertos
;A: Salida
;B: Entrada
;
;
;
;
;
;
;
;
;
;
;
;Almacenamiento de
;Datos en la
;Memoria
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

Microcontroladores
;***********************************************;
SEI
LDI R16,0x03
OUT MCUCR,R16
LDI R16,0x40
OUT GICR,R16
;***********************************************;
MUESTRA:
CP R13,R12
BRNE LIMP
CPI R30,0X68
BRNE NoBORAR
LDI R30,0X64
LDI R28,0X60
NoBORAR:
LD R6,Y+
LD R7,Z+
ADD R6,R7
OUT PORTA,R6
RCALL Retardo1
INC R18
CPI R18,0XFF
BRNE MUESTRA
CLR R18
CPI R17,0X0A
BRNE S
RCALL Der
S:
CPI R17,0X0B
BRNE T
RCALL Izq
T:
CPI R17,0X0C
BRNE C
RCALL CuentaD
C:
CPI R17,0X0D
BRNE Q
RCALL CuentaB
Q:
CPI R17,0X0E
BRNE Fin
RCALL Res
Fin:
RJMP MUESTRA
;***********************************************;
INTX:
LDI R16,0x00
OUT GICR,R16
IN R17,PINC
ANDI R17,0X0F
CPI R17,0X0A
BRSH INSTRU
MOV R8,R30
LDI R30,0X64
LD R2,Z+
LD R3,Z+
LD R4,Z+

;
;

;Configuracion
de
;Interrupciones
;

;
;
;
;
;
;
;
;
;
;
;
;Seleccion de
;Funciones
;en el
;Teclado
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

Microcontroladores
ST Z,R4
ST -Z,R3
ST -Z,R2
ST -Z,R17
MOV R30,R8
LDI R16,0X04
CP R9,R16
BREQ INSTRU
MOV R8,R28
LDI R28,0X60
ADD R28,R9
INC R9
LD R10,X+
ST Y,R10
MOV R28,R8
INSTRU:
CPI R17,0X0C
BRLO NOLIMP
MOV R8,R30
LDI R30,0X64
CLR R16
ST Z+,R16
ST Z+,R16
ST Z+,R16
ST Z,R16
MOV R30,R8
NoLIMP:
CLR R19
LDI R16,0X40
OUT GIFR,R16
LDI R16,0x40
OUT GICR,R16
RETI
;***********************************************;
Izq:
INC R19
CPI R19,0X05
BRSH parpadeo1
MOV R8,R30
LDI R30,0X64
LD R2,Z+
LD R3,Z+
LD R4,Z+
LD R5,Z
ST Z,R4
ST -Z,R3
ST -Z,R2
ST -Z,R5
MOV R30,R8
RJMP terminar1
parpadeo1:
OUT PORTA,R12
RCALL Retardo2
INC R20

;
;
;
;
;
;
;
;
;
;Interupcion
;Externa
;Atraves del
;Teclado
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;Funcion 1
;
;Corrimiento
;a la
;Izquierda
;
;
;
;
;

Microcontroladores
CPI R20,0X03
BRNE terminar1
CLR R19
CLR R20
terminar1: RET
;***********************************************;
Der:
INC R19
CPI R19,0X05
BRSH parpadeo2
MOV R8,R30
LDI R30,0X64
LD R2,Z+
LD R3,Z+
LD R4,Z+
LD R5,Z
ST Z,R2
ST -Z,R5
ST -Z,R4
ST -Z,R3
MOV R30,R8
RJMP terminar2
parpadeo2:
OUT PORTA,R12
RCALL Retardo2
INC R20
CPI R20,0X03
BRNE terminar2
CLR R19
CLR R20
terminar2:
RET
;***********************************************;
CuentaD:
MOV R8,R30
LDI R30,0X64
LD R2,Z+
LD R3,Z+
LD R4,Z+
LD R5,Z
INC R2
LDI R16,0X0A
CP R2,R16
BRNE R_11
INC R3
CLR R2
R_11:
CP R3,R16
BRNE R_12
INC R4
CLR R3
R_12:
CP R4,R16
BRNE R_13
INC R5
CLR R4

;
;
;
;
;
;
;
;
;
;
;
;
;Funcion 2
;
;Corrimiento
;a la
;Derecha
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;Funcion 3
;
;Cuenta
;Decimal
;0 al 9999
;
;
;

Microcontroladores
R_13:

CP R5,R16
BRNE R_14
CLR R5
R_14:
ST Z,R5
ST -Z,R4
ST -Z,R3
ST -Z,R2
MOV R30,R8
RET
;***********************************************;
CuentaB:
MOV R8,R30
LDI R30,0X64
LD R2,Z+
LD R3,Z+
LD R4,Z+
LD R5,Z
INC R2
LDI R16,0X02
CP R2,R16
BRNE R_21
INC R3
CLR R2
R_21:
CP R3,R16
BRNE R_22
INC R4
CLR R3
R_22:
CP R4,R16
BRNE R_23
INC R5
CLR R4
R_23:
CP R5,R16
BRNE R_24
CLR R5
R_24:
ST Z,R5
ST -Z,R4
ST -Z,R3
ST -Z,R2
MOV R30,R8
RET
;***********************************************;
Res:
INC R13
RETI
;***********************************************;
Retardo1:
LDI R25,0x01
NA:
LDI R24,0x28
NB:
LDI R23,0x28
NC:
DEC R23
BRNE NC
DEC R24
BRNE NB

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;Funcion 4
;
;Cuenta
;Binaria
;0000 al 1111
;
;
;
;
;
;
;
;
;
;
;
;
;Funcion 5
;Resetea
;
;
;
;
;
;
;

Microcontroladores
DEC R25
BRNE NA
RET
Retardo2:
ND:
NE:
NF:

LDI R25,0x02
LDI R24,0xFF
LDI R23,0xFF
DEC R23
BRNE NF
DEC R24
BRNE NE
DEC R25
BRNE ND
RET
;***********************************************;

Alemn Lpez Juan Carlos


12070415
Esquivel Martnez Israel
11070841
Prez Reyes Mara de Jess
11070820
Vzquez Antonio Natanael
11071451

;
;Retardos
;para el
;Multiplexar
;
;
;
;
;
;
;
;
;
;

You might also like