Está en la página 1de 4

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

También podría gustarte