MICROCONTROLADORES
Laboratorio N°12:
Manejo del Timer y las interrupciones
Manejo del Timer y las interrupciones
- Utilizar al microcontrolador en aplicaciones de control electrónico.
- Desarrollar y ejecutar programas en un microcontrolador PIC.
- Programar y configurar interfaces básicas del microcontrolador.
- Conocer el funcionamiento y la configuración de las Interrupciones.
- Conocer el funcionamiento y la configuración del Timer cero.
- Aplicar estos conocimientos en la realización de un cronómetro
3. CONTENIDOS A TRATAR
- Interrupciones
- Timer cero.
4.1. PIC 16F877A:
Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877A posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para ser dar uso en diferentes aplicaciones.
Algunas de estas características se muestran a continuación:
- Soporta modo de comunicación serial, posee dos pines para ello.
- Amplia memoria para datos y programa.
- Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
- Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.
4.2. INTERRUPCIONES:
Las interrupciones PIC son desviaciones de flujo
de control del programa originadas asincrónicamente por diversos sucesos
que no dependen del programador, es decir, ocurren en cualquier
momento.
Las interrupciones PIC ocurren por sucesos externos como la
generación de una interrupción por flanco PIC, una interrupción externa PIC
cambiando el nivel en un PIN del microcontrolador o eventos internos tales
como el desbordamiento de un contador, terminación del conversor análogo a
digital, entre otras.
El comportamiento del microcontrolador ante la interrupción
es similar al procedimiento que se sigue al llamar una función desde el
programa principal. En ambos casos se detiene la ejecución del programa en
curso, se guarda la dirección a donde debe retornar cuando termine de
ejecutar la interrupción, atiende o ejecuta el programa correspondiente a la
interrupción y luego continua ejecutando el programa principal, desde donde
lo dejo cuando fue interrumpido.
Tipos de Interrupciones PIC:
Aqui nombramos 10 diferentes causas que producen una
interrupción PIC, por lo tanto el primer paso de la rutina de interrupción
será identificar la causa de la interrupción.
- Interrupción externa PIC RB0/INT
- Interrupción por cambio lógico en el puerto B (pines RB7 a RB4)
- Interrupción por desborde del timer 0 (TMR0)
- Interrupción por desborde del timer 1 (TMR1)
- Interrupción por comparación exitosa exitosa en TMR2
- Interrupción del comparador
- Interrupción del transmisor del USART
- Interrupción del receptor del USART
- Interrupción del módulo CCP
- Interrupción del EEPROM
El temporizador Timer0 tiene una amplia gama de aplicaciones
en la práctica. Sólo unos pocos programas no lo utilizan de alguna forma. Es
muy conveniente y fácil de utilizar en programas o subrutinas para generar
pulsos de duración arbitraria, en medir tiempo o en contar los pulsos externos
(eventos) casi sin limitaciones. El módulo del temporizador Timer0 es un
temporizador/contador de 8 bits con las siguientes características:
- Temporizador/contador de 8 bits
- Pre-escalador de 8 bits (lo comparte con el temporizador perro guardián);
- Fuente de reloj interna o externa programable;
- Generación de interrupción por desbordamiento; y
- Selección del flanco de reloj externo programable.
5. EVIDENCIA DE TAREAS EN LABORATORIO:
En este video se explicará cada actividad desarrollada en el laboratorio.
6. OBSERVACIONES:
- Como se colocó décimas a la hora de simular se nota un poco de lag esto es propio del Simular, pero se logro observar su cambio.
- Para calcular el tiempo se tiene que tener en cuente el cristal que se esta utilizando.
- Al generara una interrupción no es recomendable poner en dalay en la función a la que se llame ya que producirá Warnings.
- Como el cronómetro solo es hasta 59 minutos si se supera este valor minutos rse reiniciara tomando el valor de 0 de nuevo.
7. CONCLUSIONES:
- Logramos comprender el funcionamiento de los Timers, como preescalarlos y hacer interrupciones cada vez que se desborde.
- En este laboratorio, aprendimos como realizar cálculos y utilizar instrucciones para poder generar las interrupciones dependiendo de las condiciones que se pongan para el programa.
- Se logro hacer un cronómetro descendente utilizando TIMER0 y las interrupciones, a si mismo aplicando conocimiento de la sesión anterior para poder mostrar el cronómetro en el LCD.
- Conocimos como poder aplicar las interrupciones para diferentes aplicaciones, a su vez que vimos la diferencia en TIMER0, TIMER1 y TIMER2.

No hay comentarios:
Publicar un comentario