Lab 10 Timer e Interrupciones

Nro. LABORATORIO MICROCONTROLADORES Página 1 de 10 MICROCONTROLADORES LABORATORIO N° 10 Timer e Interrupciones Part

Views 51 Downloads 0 File size 853KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • Dimi
Citation preview

Nro.

LABORATORIO MICROCONTROLADORES

Página 1 de 10

MICROCONTROLADORES LABORATORIO N° 10

Timer e Interrupciones

Participantes(s)

Foto:

Nombres: % participación:

Grupo Ciclo 4C5 Fecha de entrega

Choque Ccoa Jonathan Joel

Cayo Huerta Gianpiero Anthonny

55%

45% A Electrónica y Automatización – Microcontroladores 27/01/2021

Nro.

LABORATORIO MICROCONTROLADORES

Página 2 de 10

I.COMPETENCIAS ESPECÍFICAS DE LA SESIÓN   

Usar adecuadamente el software y las instrucciones del programa. Conocer el funcionamiento y la configuración del Timer 0. Programar el Módulo Timer 0 y aplicaciones prácticas.

II.CONTENIDOS A TRATAR  

Instrucciones, módulos internos del microcontrolador, entradas y salidas Configuración y utilización de módulo Timer 0.

III.MATERIALES Y EQUIPO    

CCS Compiler instalado. Entrenador de PICS PIC16F877A PC con Software de simulación.

IV.FUNDAMENTO TEÓRICO   

Para la realización de este laboratorio se requiere haber realizado y aprobado la EVALUACIÓN DE LA FASE ASÍNCRONA La lectura previa de la información proporcionada para el curso, como el texto y el manual del fabricante. Revise la bibliografía recomendada en la FASE ASÍNCRONA.

V.SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO Tener cuidado con el tipo y niveles de voltaje con los que trabaja. Antes de utilizar el multímetro, asegurarse que está en el rango y magnitud eléctrica adecuada. Tener cuidado en la conexión y en la desconexión de los equipos utilizados

Nro.

LABORATORIO MICROCONTROLADORES

VI.

Página 3 de 10

EXPERIENCIA 1 – EXPERIENCIA # 1: GENERAR TEMPORIZADOR DE 1 SEGUNDO CON TIMER 0 1. Vamos a realizar un programa que genere una interrupción por desbordamiento del Timer cada segundo. La función de interrupción cambiará el estado de una salida conectada a un Led y al mismo tiempo incrementará el valor de una variable. Este valor se mostrará en un display LCD.

2. El código a utilizar se muestra en la imagen respectiva, además se hace un paralelo con su respectivo PSEUDOCÓDIGO:

Directivas

Declaración de variables Función de Interrupción por Desbordamiento del Timer 0 Se incrementan las centésimas, si llegan a 100 (un segundo), se cambia el estado de la salida B1 y se incrementa valor. Se reinicia cuenta del Timer 0 desde el número 61 FUNCIÓN PRINCIPAL: Se inicializa LCD Se configura TIMER0 como Temporizador y PREESCALER de 256. Se escribe 61 en Timer Se habilita interrupción del Timer y Global. Se envía mensaje inicial

Nro.

LABORATORIO MICROCONTROLADORES

Página 4 de 10

BUCLE INFINITO: Se envía valor de variable a pantalla LCD.

3. Como EVIDENCIA, capturamos la pantalla de PROTEUS mostrando la ventana PIC CPU Source Code: (incluir NOMBRES DE LOS INTEGRANTES).:

Nro.

LABORATORIO MICROCONTROLADORES

VII.

Página 5 de 10

EXPERIENCIA 2 – RELOJ MM:SS UTILIZANDO EL TIMER 0 1. Esta vez vamos a mostrar en la pantalla LCD un RELOJ de minutos – segundos, cuya temporización de 1 segundo (base de tiempo) será generada por el Timer 0

4. El código a utilizar se muestra en la imagen respectiva, además se hace un paralelo con su respectivo PSEUDOCÓDIGO: (mismas Directivas anteriores) Declaración de variables FUNCIÓN INTERRUPCIÓN TIMER0 Se incrementa centésimas Si llega a 100 (1 segundo), se incrementa segundos y se reinicia centésimas en 0. Si segundos llega a 60, se incrementa minutos y se reinicia los segundos. Si se cumples 3 minutos con 10 segundos, se deshabilita Timer0 y se activa PIN C5. Se reinicia cuenta de Timer0 desde 61.

FUNCIÓN PRINCIPAL: Inicialización de LCD Se configura Timer 0 como TEMPORIZADOR y con un PREESCALER de 256. Se inicia cuenta desde 61 Se habilita Interrupción de Timer 0 y la interrupción Global. Se envía mensaje inicial

Nro.

LABORATORIO MICROCONTROLADORES

Página 6 de 10

BUCLE INFINITO: Mostramos minutos y segundos en el LCD

5. Como EVIDENCIA, capturamos la pantalla de PROTEUS mostrando la ventana PIC CPU Source Code: (incluir NOMBRES DE LOS INTEGRANTES).:

VIII.

RETO DE PROGRAMACIÓN:

Nro.

LABORATORIO MICROCONTROLADORES

Página 7 de 10

1. A partir del código mostrado, realice los cambios necesarios para realizar un programa que CUENTE EN FORMA DESCENDENTE, (temporizador regresivo), bajo las siguientes condiciones:  Al presionar pulsador en D0, incrementar MINUTOS. el temporizador aún no debe estar contando el tiempo. (sirve para configurar tiempo de cuenta). 

Al presionar pulsador en D1, iniciar CUENTA REGRESIVA desde los minutos previamente configurados.  Si la cuenta llega a 00:00, congelar la cuenta y sonar BIP 3 veces.  Para verificar que una variable de tiempo (digamos “minutos”) llegó a cero, hacerlo con la instrucción “if (minutos==-1)”

Video demostrativo: https://www.loom.com/share/e445a2ce645f40bb943bbe535ab23dd2 2. Como EVIDENCIA 1, grabe un video de su simulación en PROTEUS utilizando la aplicación LOOM o YOUTUBE y coloque el LINK en el recuadro siguiente. En la simulación debe visualizarse los nombres de los integrantes claramente. El video NO debe durar más de 2 minutos.

https://www.youtube.com/watch?v=drVwbw9zvtA&feature=youtu.be

3. Como EVIDENCIA 2, pegue en el recuadro siguiente el CÓDIGO EN MODO TEXTO: #include #use delay (clock=20M) #fuses HS, NOPROTECT, NOWDT

Nro.

LABORATORIO MICROCONTROLADORES

void main () { lcd_init();

Página 8 de 10

Nro.

LABORATORIO MICROCONTROLADORES

Página 9 de 10

4. Como EVIDENCIA 3, pegue en el recuadro siguiente la captura de pantalla de su explorador mostrando el archivo COF y HEX generado, mostrando además día y hora de generación (ejemplo como la imagen):

IX.OBSERVACIONES Y CONCLUSIONES: (Deben estar convenientemente redactadas)

Nro.

LABORATORIO MICROCONTROLADORES

Página 10 de 10

OBSERVACIONES:  Cuando el contador va llegando a cero se detiene en 00:001.  El timer 0 es un registro de 8 bits.  La cuenta del timer 0 depende de un pin externo cuando está en modo contador.  Los pulso pasan por un pre escalador, este es encargado de dividir los pulsos. CONCLUSIONES:  El timer 0 se adecua mediante fórmulas, se debe de tomar en cuenta la frecuencia del cristal.  Existen dos modos de pulso, modo contador y modo temporizador.  Cuando el pulso esta en modo temporizador  El timer 0 en modo temporizador viene del oscilador interno.  El timer 0 en modo contador viene de un pin externo.