ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
ACADEMIA DE COMPUTACION
MATERIA:
MICROPROCESADORES
PROF:
JOSE LUIS BRAVO LEON
NOMBRES:
FIRMA:
FECHA DE
ENTREGA:
PRACTICA No 4.
PROGRAMACION DE PUERTOS DE ENTRADA - SALIDA
OBJETIVO:
Programacin y empleo de los puertos de entrada y salida empleando subrutinas de retardo.
EQUIPO Y MATERIAL:
Computadora personal
Software de desarrollo MPLAB IDE
Tarjeta de desarrollo
Juego de instrucciones de Lenguaje ensamblador
DESARROLLO:
1.-Arme el circuito siguiente:
VCC
1k
SW1
RA0
RA1
RA2
RA3
RA4
RA5
RA6
2
3
4
5
6
7
14
1
2
3
4
SW DIP-4
22
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
PIC18F4550
33
34
35
36
37
38
39
40
8
7
6
5
2.- Programacin de puertos
Elabore el diagrama de flujo y el programa que se encargue de leer datos numricos codificados en BCD
presentes en los bits menos significativos del puerto A. El dato ledo deber ser desplegado en un
indicador de 7 segmentos conectado en del puerto B. Los datos ledos que no correspondan a un cdigo
BCD debern apagar el indicador de 7 segmentos.
A continuacin se muestra el segmento de una propuesta para el diagrama de flujo requerido en el
prrafo anterior.
INICIO
PORTB 0x00
TRISA 00001111
NO
W=9
SI
TRISB 00000000
PORTB cod9
W PORTA
WW
00001111
NO
W=0
W=1
SI
NO
W=2
SI
SI
PORTB cod0
PORTB cod1
NO
PORTB cod2
2.1.- Anexe una copia del listado del programa generado en el archivo con extensin .LST, considerando
el siguiente formato:
DIRECCION
CODIGO
ETIQUETA
NEMONICO
COMENTARIOS
3.- Subrutina de retardo.
Instrucciones CALL y RETURN
3.1.- Elabore el diagrama de flujo y el programa en lenguaje ensamblador de una rutina que
despliegue una cuenta ascendente en el indicador de 7 segmentos conectado en el puerto B con
intervalos de 500 milisegundos.
3.2.- Para generar los intervalos, desarrolle una rutina de retardo que genere el tiempo de 500
milisegundos, considerando que el microprocesador opera a una frecuencia generada por el PLL de
48 MHZ.
3.3.- Para ejecutar bloques de instrucciones, utilice los puntos de ruptura {BR} colocando el cursor en
la lnea final del bloque y oprima dos veces el botn izquierdo del mouse hasta que aparezca el icono
como se indica en la siguiente figura:
3.4.- Antes de ejecutar el llamado a la subrutina, despliegue el contenido del registro STACK POINTER y
abra la ventana de la memoria de STACK como se indica en la siguiente figura:
3.5.- En la siguiente tabla, indique los valores de los registros STKPTR y PCL y del archivo con extensin
.LST tome las direcciones asignadas a las instrucciones CALL y la inmediata posterior.
REGISTROS
DIRECCION
INSTRUCCION
PCL
STKPTR
Call 500ms
3.6.- Ejecute la instruccin CALL y observe la ventana HARDWARE STACK.
3.7.- Anote la direccin de retorno asignada y comprela con la direccin de la instruccin siguiente de
la instruccin CALL.
3.8.- Ejecute la subrutina hasta la instruccin RETURN y Anote sus observaciones
4.- Programe el microcontrolador y compruebe el correcto funcionamiento del programa.
CONCLUSIONES