UNEXPO — V.R. “Luis Caballero Mejías”.
El timer1 es uno de los temporizadores que posee el pic16f887 que sirve para manejar del modo más eficiente todas las operaciones que involucran al tiempo y al contaje.
CARACTERÍSTICAS
-Es un contador/temporizador de 16 bits
-Leible/ Escribible
-Selección de reloj interno o externo
-Posee un pre-escalador de 3 bits (divisor de frecuencia)
-Oscilador LP opcional
-Funcionamiento síncrono o asíncrono
-Interrupción opcional de desbordamiento de FFFFh a 0000h
-Fuente de reloj para modulo de captura/comparación
FUNCIONAMIENTO
-Contador
Síncrono o Asíncrono
-Temporizador
REGISTROS DE CONTROL
T1GINV- Timer1 Gate Invert bit (Bit inversor de la compuerta del temporizador1) se comporta como un inversor del estado lógico en la compuerta formada por el pin T1G o la salida (C2OUT) del comparador C2. Este bit habilita al temporizador para con par los pulsos cuando la compuerta esté a alto o a bajo.
1 - Temporizador 1 cuenta los pulsos cuando el pin T1G o el bit C2OUT estén a alto (1).
0 - Temporizador 1 cuenta los pulsos cuando el pin T1G o el bit C2OUT estén a bajo (0).
TMR1GE- Timer1 Gate Enable bit (Bit de habilitación de la compuerta del temporizador1) determina si la compuerta formada por elpin T1G o salida del comparador C2 (C2OUT) estará activa o no. Este bit funciona sólo en caso de que el temporizador Timer1 esté encendido (el bit TMR1ON = 1). De lo contrario, este bit se ignora.
1 - Temporizador Timer1 está encendido sólo si la compuerta no está activa.
0 - Compuerta no afecta al temporizador Timer1.
T1CKPS1, T1CKPS0- Timer1 Input Clock Prescale Select bits (Bits de selección del preescalador de señal de reloj del Temporizador1) determina el valor del divisor de frecuen cias asignada al temporizador Timer1.
T1OSCEN- LP Oscillator Enable Control bit (bit de habilitación del oscilador LP del Timer1)
1 - Oscilador LP está habilitado para el reloj del Timer1 (oscilador de bajo consumo y de frecuencia de 32.768 kHz)
0 - Oscilador LP está apagado.
T1SYNC- Timer1 External Clock Input Synchronization Control bit (Bit de control de sincronización de la señal de entrada) habilita la sincronización de la entrada del oscilador LP o de la entradadel pin T1CKI con el reloj interno del microcontrolador. Este bit se ignora al contar los pulsos desde el oscilador principal (el bit TMR1CS = 0).
1 - Entrada de reloj externa no está sincronizada.
0 - Entrada de reloj externa está sincronizada.
TMR1CS- Timer TMR1 Clock Source Select bit (bit de selección de la fuente de reloj del temporizador Timer1)
1 - Cuenta los pulsos por el pin T1CKI (por el flanco ascendente 0-1)
0 - Cuenta los pulsos del reloj interno del microcontrolador
TMR1ON- Timer1 On bit (TMR activo, hace entrar o no en funcionamiento el Timer1).
1 - Habilita el temporizador Timer1.
0 - Deshabilita el temporizador Timer1.
Aspectos a tener en cuenta al momento de poner en funcionamiento el Timer1:
- Como no es posible apagar el pre-escalador, su valor debe estar ajustado a los bits T1CKPS1 y T1CKPS0 del registro
T1CON.
- Seleccionar el modo por el bit TMR1CS del registro T1CON. (TMR1CS: 0=la fuente de reloj es oscilador de cuarzo
interno, 1= la fuente de reloj es oscilador de cuarzo externo).
- Al configurar el bit T1OSCEN del mismo registro, el oscilador está habilitado y los registros TMR1H y TMR1L se
incrementan con cada pulso de reloj. Al poner este bit a 0, se detiene el conteo.
- Al reiniciar los registros del contador o al escribir en ellos, se reinicia el pre-escalador.
- Al llenar ambos registros del temporizador, se configura labandera TMR1IF y el conteo empieza desde cero.
OSCILADOR EXTERNO
Además de un Oscilador interno este microcontrolador posee uno externo de cuarzo LP completamente independiente, capaz de funcionar en el modo de reposo. Simplemente, un circuito anteriormente separado ahora está integrado en el microcontrolador y asignado al temporizador Timer1. El oscilador está habilitado al poner a 1 el bit T1OSCEN del registro T1CON. El bit TMR1CS del mismo registro se utiliza para habilitar que el temporizador Timer1 utilice secuencias de pulsos de ese oscilador.
En la siguiente imagen se puede observar la configuración para el uso de este recurso.
TIMER1 EN MODO CONTADOR
El temporizador Timer1 se pone a funcionar como un contador al poner a 1 el bit TMR1CS. Este bit cuenta los pulsos llevados al pin RC0/T1CKI y se incrementa en el flanco ascendente de la entrada del reloj externo T1CKI. Si el bit de control T1SYNC del registro T1CON se pone a 0, las entradas del reloj externo se sincronizarán en su camino al temporizador Timer1.
Al poner en modo de reposo el microcontrolador que funciona de esta manera, los registros del temporizador Timer1H y TMR1L no serán incrementados aunque los pulsos de reloj aparezcan en los pines de entrada. Como el reloj interno del microcontrolador no funciona en este modo, no hay entradas de reloj que se utilicen para la sincronización. De todas formas, el pre-escalador sigue funcionando siempre que haya pulsos de reloj en los pines, porque es un simple divisor de frecuencias.
TIMER1 EN MODO TEMPORIZADOR
Trabajando en modo temporizador el valor concatenado TMR1H:TMR1L se incrementa con cada ciclo de instrucción (FOSC/4). Para seleccionar este modo, es necesario poner a 0 el bit TMR1CS. Después de eso, el registro de 16 bits será incrementado con cada pulso generado por el oscilador interno. Si se utiliza el cristal de cuarzo de 4 MHZ, el registro será incrementado cada microsegundo. El bit T1SYNC no tiene efecto desde el reloj interno; ya que siempre es síncrono. El oscilador de reloj del microcontrolador no funciona durante el modo de reposo así que el desbordamiento en el registro del temporizador no puede causar interrupción.
EJEMPLOS A DESCARGAR:
TemporizadorTimer1.hex
TemporizadorTimer1.asm
TemporizadorTimer1(Proteus)
ContadorTimer1.asm
ContadorTimer1.hex
ContadorTimer1(Proteus)
No hay comentarios:
Publicar un comentario