Está en la página 1de 2

UNIVERSIDAD NACIONAL DE INGENIERÍA Ciclo Académico: 2022-I

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Fecha: 09/07/22


DEPARTAMENTOS ACADÉMICOS Duración: 2 horas

CURSO: INTRODUCCIÓN A LOS MICROCONTROLADORES COD. CURSO: EE604O


DOCENTE: BARRIGA HOYLE, JAVIER

TIPO DE PRUEBA: Laboratorio No. 3

1. (8.0 puntos) Escriba un programa para el microcontrolador PIC18F4550, que permita


ejecutar las siguientes operaciones programando las interrupciones del Timer 0 y Timer 1,
usted elige el proceso donde usar cada interrupción. En el puerto (A cuatro bits, C cuatro
bits) se conectará 2 displays que mostrará un contador BCD ascendente [0,99]
/descendente [99,0] a intervalos de 1 segundo. En el puerto D se conectará 8 leds que
mostrará desplazamiento de izquierda/derecha y viceversa de un led de la siguiente
manera; al inicio los leds muestran 11111110 y el “0” es el que se desplaza a intervalos de
200 ms. El programa principal se queda en un bucle infinito sin hacer nada.
Adicionalmente, con las interrupciones INT0 e INT1, servirá para usarlo como
pausa/continuar (INT0) el contador y poner en cero la cuenta y regresa a su inicio el
desplazamiento (INT1).
Se pide:
a) (2.0 puntos) Diagrama de flujo.

RSI T1 RSI T2
INICIO

Flagcuenta ← 1
NO
Iniciamos las variables y Shift==1?
configuramos los puertos.
Sentido=1, ascendente SI
FlagT1 ← 0
dato= (dato<<1) | 1 dato= (dato>>1) | 0x8000
Configuración de
las interrupciones FIN RSI
NO NO
dato==0x7FFF? dato==0xFFE?

Flagcuenta ¿ 1 SI SI
NO shift = 0 ; despla_der shift = 1 ; despla_izq

SI

NO
sentido= = 1
PortD ← dato
SI
Cuenta = cuenta +1 Cuenta = cuenta -1 FlagT2 ← 0

NO SI
Cuenta = 0x99 Cuenta = 0 FIN RSI

SI NO
Sentido= 0; down Sentido= 1; up

Flagcuenta
←0
1
Displays ← cuenta
b) (6.0 puntos) Programa en C, debidamente comentado.

Nota: hay datos por omisión y/o exceso que deben ser evaluados con
criterio ingenieril para dar solución a la pregunta.

PARA AMBOS CIRCUITOS SE PIDE:

a) Diagrama de flujo de la parte principal del programa y las rutinas de interrupciones.


No LCD y teclado.
b) Códigos del programa en lenguaje C, debidamente comentados.
c) Circuitos de simulación en proteus.
d) Archivos con el código fuente y el circuito en Proteus (aquí deben comprimir toda la
carpeta creada en el MPLAB más su simulación).
e) Un video explicando el funcionamiento del programa.
f) En sus archivos a enviar deben seguir la misma forma de los laboratorios anteriores.

FECHA DE ENTREGA Y EXPOSICIÓN, VIERNES 15 A LA HORA DE


CLASE.

También podría gustarte