MANEJO DE TIMER Y LAS INTERRUPCIONES
1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
- 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.
2. MARCO TEÓRICO
2.1 Interrupciones en microcontroladores
Es una de las caracterasticas de los microcontroladores, de las mas importantes que constituye la capacidad de sincronizar la ejecucion de programas con acontecimientos externos; es decir, cuando se produce una interrupcion, el micro automaticamente deja lo que esto haciendo, va a la direccion 04h de programa y ejecuta lo que encuentre a partir de alli hasta encontrarse con la instruccion RETFIE que le hara abandonar la interrupcion y volver al lugar donde se encontraba antes de producirse dicha interrupcion. Hemos de diferenciar entre dos tipos de interrupciones posibles en un PIC:

1. - Mediante una acción interna. El desbordamiento de la Pila (Stack) por una operación indebida, por ejemplo:
- Al completarse la escritura de datos en una EEPROM.
- Por desbordamiento del registro TMR0 al rebasar el valor 255 (FFh) a 0.
2. - Mediante una acción externa, la mas útil. Al producirse un cambio del nivel en uno de sus pines por una acción externa.
- Estando en el modo de reposo (SLEEP), un cambio de nivel en el pin RB0/INT .
- Un cambio de nivel en uno de los pines RB4 a RB7 estando configurados como entrada.
2.2 Temporizadores internos (TMR)
Un temporizador interno (TMR) es un módulo de hardware incluido en el mismo microcontrolador el cual está especialmente diseñado para incrementar automáticamente el valor de un registro asociado al TMR cada vez que el módulo TMR recibe un pulso. A este pulso se lo llama “señal de reloj”.
Algunos microcontroladores pueden incluir más de un módulo TMR y la señal de reloj de cada uno de éstos puede ser de origen interno o externo.
Si el origen de la señal de reloj está configurado como externo, el módulo temporizador puede ser utilizado como un contador de eventos externos, incrementando el TMR con cada pulso recibido mediante el pin correspondiente.
Si el origen de la señal de reloj es interno, el TMR incrementa con cada ciclo del oscilador. Esto permite utilizar el temporizador como “contador de ciclos de programa”, donde, un ciclo corresponde al tiempo de ejecución de una instrucción, lo cual se puede calcular con la siguiente fórmula:
( 1 / ( Frec. Osc. / 4) )
Donde “Frec. Osc.” es la frecuencia del oscilador utilizado.
Ejemplo:
Con un cristal de 20Mhz la velocidad real de procesamiento del microcontrolador es de 1 Mhz. Aplicando la siguiente fórmula:
1 / (20.000.000 / 4)
1 / 5.000.000
0.0000002 = 0.2 uS (microsegundo)
1 / 5.000.000
0.0000002 = 0.2 uS (microsegundo)
2.3 Entrenador de PICS

2.4 Software Proteous
Proteus es una aplicación para la ejecución de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño del esquema electrónico, programación del software, construcción de la placa de circuito impreso, simulación de todo el conjunto, depuración de errores, documentación y construcción.
- Se utilizara la simulación del módulo entrenador en el software Proteous
3. EVIDENCIA DE TAREAS DEL LABORATORIO
4. OBSERVACIONES
- Para lograr generar los segundos, minutos y centésimas, se debe de usar tres variables de tipo entero.
- En este caso se utilizo el timer 0 el cual es de 8 bits y nos sirvió ya que necesitamos saber el tiempo de un segundo en tiempo real.
- El cronometro solo va a contar hasta 59 minutos, en el que caso que se supere este valor se reiniciara la cuenta, empezando de 0.
- En este laboratorio se emplearon nuevas variables que grababan el valor de segundos y minutos justo en el momento de iniciar el conteo, esto permitirá que el tiempo se reinicie al acabar la temporización.
- Para lograr generar los segundos, minutos y centésimas, se debe de usar tres variables de tipo entero.
- En este caso se utilizo el timer 0 el cual es de 8 bits y nos sirvió ya que necesitamos saber el tiempo de un segundo en tiempo real.
- El cronometro solo va a contar hasta 59 minutos, en el que caso que se supere este valor se reiniciara la cuenta, empezando de 0.
- En este laboratorio se emplearon nuevas variables que grababan el valor de segundos y minutos justo en el momento de iniciar el conteo, esto permitirá que el tiempo se reinicie al acabar la temporización.
5.CONCLUSIONES
- Se logró aplicar el uso correcto de las interrupciones para programar un temporizador, ademas de conociendo que cuenta con otras interrupciones.
- Se utilizó el Timer0 para hacer un cronometro descendente, todo esto aplicando todo lo aprendido en el tema de microcontroladores PIC 16F877A.
- Se completo el reto propuesto en el laboratorio , aplicando todo lo aprendido, probando en el simulador Proteous el funcionamiento correcto, antes de subir el programa de forma física.
- Para realizar el correcto cronometro con conteo de forma decreciente fue necesario asignar a la variables segundos 59 y terminarla en -1, se aplicara lo mismo para los minutos.
- Se utilizó el Timer0 para hacer un cronometro descendente, todo esto aplicando todo lo aprendido en el tema de microcontroladores PIC 16F877A.
- Se completo el reto propuesto en el laboratorio , aplicando todo lo aprendido, probando en el simulador Proteous el funcionamiento correcto, antes de subir el programa de forma física.
- Para realizar el correcto cronometro con conteo de forma decreciente fue necesario asignar a la variables segundos 59 y terminarla en -1, se aplicara lo mismo para los minutos.

No hay comentarios:
Publicar un comentario