You are on page 1of 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 5

OBJETIVO: Calcular los tiempos de ejecución de programas.

EQUIPO Y MATERIAL:

• Computadora personal • Módulo 7 segmentos


• Software de desarrollo MPLAB IDE
• Juego de instrucciones de Lenguaje ensamblador
• Tarjeta de desarrollo PIC 18F4550

DESARROLLO:

1.-Arme el circuito siguiente:

VCC

RB7 RA0
RB6 RA1
RB5 RA2
RB4 RA3
RB3 RA4
RB2 RA5
RB1 RA6
RB0

RD0 D0
RD1 D1
RD2 D2
RD3 D3
RD4
RD5 D4
RD6 D5
RD7 D6
D7

PIC18F4550

2.- Subrutinas.

2.1.- Elabore el programa en lenguaje ensamblador de una rutina que despliegue una cuenta ascendente
en el módulo de indicadores de 7 segmentos conectado en el puerto D con intervalos de 500 milisegundos.

2.1.1.- De acuerdo al siguiente diagrama de flujo, el programa principal debe considerar el empleo
de las siguientes subrutinas:
a) Cpuertos.- encargada de la configuración de puertos.
b) T500.- subrutina de retardo de 500 mseg.

Programa Principal.

Hace llamado a la rutina de configuración de Inicio


puertos e incrementa el contenido del Puerto
PORTD. Cpuertos
Hace llamado a la rutina T500 y regresa a
incrementar el valor contenido en PORTD.
W  PORTD + 1

Cpuertos
PORTD  Wda

ADCON1  0X0F
T500
TRISD  0X00

PORTD  0X00 Cpuertos.

RETURN Configura el puerto PORTD para ocho


líneas de salida inicialmente en cero.

T500
T500.
R0  0X01
Subrutina de retardo. Utiliza tres contadores R0, R1
Y R2 para realizar una cuenta descendente desde R1  0XFF
un valor inicial de 01FFFF hasta 000000.
R2  0XFF

R2  R2 - 1 R0  R0 - 1

NO NO
R2 = 0 R0 = 0

SI SI

R1  R1 - 1 RETURN

NO SI
R1 = 0
3.- Una vez compilado el programa y verificado que no existen errores, proceda a la simulación del mismo.

3.1.- Abra las ventanas para visualizar el registro PORTD, los registros de memoria y el Stopwatch
a una frecuencia de 48 MHZ. como se muestran en la siguiente figura.

3.2.- Ejecute paso por paso hasta el llamado a la subrutina T500 como se indica en la figura, anote
el tiempo de ejecución transcurrido, el número de ciclos mostrados en la ventana del Stopwatch
y calcule el tiempo por cada ciclo de instrucción.

Tiempo de ejecución Número de ciclos Tiempo por ciclo

Tiempo de ejecucion: ________________________


3.3.- Coloque un punto de ruptura en la línea indicada y ponga a ceros el contador de tiempo
en el Stopwatch.

3.4 .- Ejecute la simulación del programa en modo de animación con el comando y


observe los registros de memoria R0, R1 y R2 que inicialmente toman los valores 01 FF FF y son
decrementados en cada ciclo.

3.5.- Ejecute el resto del programa hasta el punto de ruptura con el comando y anote en
la siguiente tabla el numero de ciclos de instrucción y el tiempo transcurrido
Tiempo de ejecución Número de ciclos Tiempo por ciclo

3.6.- Con base a los datos obtenidos,


Tiempocalcule el valor ________________________
de ejecucion: para el registro R0 =
R0 para obtener un tiempo de 500 milisegundos. ________________

3.7.-Reemplace el valor calculado y compruebe el valor obtenido.


T =
________________
4.- Comprobación

4.1.- Conecte la tarjeta de desarrollo del PIC 18F4550 a la computadora y transfiera el código del
programa creado en la carpeta PRACTICA5.

4.2.- Oprima el botón de RESET en la tarjeta de desarrollo y compruebe el correcto funcionamiento


del programa elaborado.

Conclusiones

You might also like