Timer0
Páginas: 9 (2080 palabras)
Publicado: 18 de marzo de 2010
1. Introducción .......................................................................................................1 2. Estructura del Timer0 .......................................................................................1 3. Funcionamiento del Timer0..............................................................................2
3.1. Entrada de reloj del modulo Timer0 ........................................................................ 2 3.2. El prescaler .............................................................................................................. 2 3.3. El registro TMR0..................................................................................................... 3 3.4. Flags de interrupción afectados ............................................................................... 3
4. Cálculo de temporizaciones...............................................................................4
4.1. Limitaciones de tiempo............................................................................................ 5
5. Ejemplos prácticos.............................................................................................5
Creado: 19/03/2004 Actualizado: 19/03/2004
By [-Ali-] #pic (irc hispano)
1. Introducción
A menudo al utilizar un microcontrolador nos encontramos con la necesidad de contar o generar eventos cada cierto tiempo. Para ayudar en este tipo de tareas, es habitual que los microcontroladores dispongan decircuitos internos para ello. Este circuito, es comúnmente denominado Timer/Counter (Temporizador/Contador) aunque también es habitual encontrarlo con el nombre de RTCC (Real Time Clock Counter). Nos vamos a centrar en el Timer/Counter de 8 bits habitual en los microcontroladores PIC 16F84, denominado en la hoja de especificaciones como módulo Timer0 (en otros modelos es posible encontrar adicionalesmódulos de 8 ó 16 bits cuyo el funcionamiento básico es el mismo). Antes de explicar el funcionamiento y uso del Timer0, vamos de definir los siguientes conceptos para evitar confusiones: o Frecuencia de oscilación (Fosc): Frecuencia de trabajo externa del PIC (un cristal de cuarzo, un resonador, etc.). o Frecuencia interna de instrucciones (Fint): Frecuencia del reloj interno de instruccionesgenerada a partir de la frecuencia de oscilación externa. Para los microcontroladores PIC no coincide con la Fosc, siendo un cuarto de esta:
Fint =
Fosc 4
2. Estructura del Timer0
El Timer0 tiene cuatro componentes básicos: • • • • La entrada de reloj Ftimer0 (desde la patilla RA4/T0CKI o el reloj interno de instrucciones) Un circuito divisor de frecuencias programable o prescaler. Unregistro contador TMR0. Los flags de interrupción utilizados por TMR0: GIE, T0IE y T0IF.
Valor 8bits Fint Ftimer0 Ftmr0
REGISTRO TMR0
Fext
PRESCALER
Fpresc
Esquema del modulo contador Timer0
1
3. Funcionamiento del Timer0
El Timer0 funciona como un temporizador o contador, según la procedencia de la señal de reloj que recibe. Debemos señalar que en ambos caso funciona de la mismaforma, solo que el origen de la señal de entrada veremos que es mas adecuado usarlo para un cometido u otro. En el caso que dicha señal provenga del reloj interno de instrucciones (Fint), el Timer0 se utiliza para generar interrupciones periódicas a través de una cuenta programada, pues conocemos la frecuencia de funcionamiento y en base al valor cargado en el contador podemos temporizar tiempos.En el caso que dicha señal sea de una fuente externa al microcontrolador (Fext), es especialmente útil para contar el número de pulsos que dicha señal genera en el tiempo ya que cada pulso de dicha señal incrementa el TMR0.
3.1. Entrada de reloj del modulo Timer0
La señal de reloj para el módulo Timer0 se puede obtener de dos formas: a través de la patilla de contador del microcontrolador...
Leer documento completo
Regístrate para leer el documento completo.