Manual de Prácticas
Microprocesadores y
Microcontroladores
P5
Puertos de E/S en lenguaje
ensamblador
Nombre completo del alumno Firma
Alvarez Rojas Brandon
N° de brigada: Fecha de elaboración: 04/10/2019 Grupo: 10
I. OBJETIVO
El estudiante analizará e implementará la configuración apropiada de los puertos de
entrada/salida (GPIOS), para un problema específico.
II. DESARROLLO
CODIGO PARTE I
.global main
.data
.text
SYSCTL_RCGCGPIO_R .field 0x400FE608,32 ;
GPIO_PORTN_DATA_R. field 0X400643FC,32 ;DECLARACION PUERTO_N
GPIO_PORTN_DIR_R. field 0X40064400,32
GPIO_PORTN_DEN_R .field 0X4006451C,32
GPIO_PORTJ_DATA_R .field 0X400603FC,32; DECLARACION PUERTO J
GPIO_PORTJ_DIR_R .field 0X40060400,32
GPIO_PORTJ_DEN_R .field 0X4006051C,32
GPIO_PORTJ_PUR_R. field 0X40060510,32
main LDR R0, SYSCTL_RCGCGPIO_R
MOV R1, #0X1100
STR R1,[R0]
NOP
NOP
NOP
LDR R0, GPIO_PORTN_DIR_R
MOV R1, #00000011B
STR R1,[R0]
LDR R0,GPIO_PORTN_DEN_R
STR R1,[R0]
LDR R0, GPIO_PORTJ_DIR_R
MOV R1,#0
STR R1,[R0]
LDR R0,GPIO_PORTJ_DEN_R
MOV R1,#0X03
STR R1,[R0]
LDR R0, GPIO_PORTJ_PUR_R
STR R1,[R0]
STACA LDR R0, GPIO_PORTN_DATA_R
MOV R1,#0
STR R1,[R0]
LDR R0, GPIO_PORTJ_DATA_R
AQUÍ LDR R1,[R0]
ANDS R1,#0X02
BNE AQUI
LDR R0, GPIO_PORTN_DATA_R
MOV R1, #0X02
STR R1,[R0]
LDR R0, GPIO_PORTJ_DATA_R
ACA LDR R1,[R0]
ANDS R1,#0X02
BEQ ACA
B STACA
CODIGO PARTE II
SYSCTL_RCGCGPIO_R .field 0x400FE608,32 ;
GPIO_PORTN_DATA_R .field 0X400643FC,32 ;DECLARACION PUERTO_N
GPIO_PORTN_DIR_R .field 0X40064400,32
GPIO_PORTN_DEN_R .field 0X4006451C,32
GPIO_PORTJ_DATA_R .field 0X400603FC,32; DECLARACION PUERTO J
GPIO_PORTJ_DIR_R .field 0X40060400,32
GPIO_PORTJ_DEN_R .field 0X4006051C,32
GPIO_PORTJ_PUR_R .field 0X40060510,32
main LDR R0, SYSCTL_RCGCGPIO_R
MOV R1, #0X1100
STR R1,[R0]
NOP
NOP
NOP
LDR R0, GPIO_PORTN_DIR_R
MOV R1, #00000011B
STR R1,[R0]
LDR R0,GPIO_PORTN_DEN_R
STR R1,[R0]
LDR R0, GPIO_PORTJ_DIR_R
MOV R1,#0
STR R1,[R0]
LDR R0,GPIO_PORTJ_DEN_R
MOV R1,#0X03
STR R1,[R0]
LDR R0, GPIO_PORTJ_PUR_R
STR R1,[R0]
STACA LDR R0, GPIO_PORTN_DATA_R
MOV R1,#0
STR R1,[R0]
RR
LDR R0, GPIO_PORTJ_DATA_R
AQUI LDR R1,[R0]
ANDS R1,#0X02 Se está esperando a que se oprima el botón
BNE AQUI
MOV R4,#6 Se colocan los 6 flashasos
LOOP2 LDR R0, GPIO_PORTN_DATA_R
MOV R1, #0X02
STR R1,[R0]
Se deja encendido el led con el retardo que se le coloco
MOVN R5,#0XB0AA
MOVT R5,#0X28
LOOP SUBS R5,#1
BNE LOOP
LDR R0, GPIO_PORTN_DATA_R
MOV R1,#0
STR R1,[R0]
Se apaga el led con el retardo colocado
MOVN R5,#0XB0AA
MOVT R5,#0X28
LOOP1 SUBS R5,#1
BNE LOOP1
SUBS R4,#1
BNE LOOP2 En esta parte se hace el loop para los 6 flashasos
B RR