Contenido>Indice>Intro Tutor

MODO DE FUNCIONAMIENTO DE LO TIMERS



El modo de funcionamiento de los timers se selecciona fijando los bits M0 Y M1 del registro TMOD.

Modo 0 - 13 bits

La frecuencia de entrada es 1/12 de la frecuencia del oscilador trabajando en modo Temporizador, o la frecuencia de la señal de entrada al pin Tx (1) si trabaja en modo contador (counter).

El Timer funciona en este caso como un contador de 8 bits precedido por un predivisor de 32 . El registro del contador se configura, pues, como un registro de 13 bits: 5 bits en la parte baja para el predivisor (TLx) y 8 bits en la parte alta para la cuenta (THx). Cuando el contador pase de estar los 13 bits a 1, a estar todos a 0, el indicador de interrupción TRx se pone a 1. La entrada de conteo esta habilitada cuando TRx (bit de control del registro TCON) está a 1 y cuando GATE (Bit de modo de TMOD) está a 0, o bien cuando la entrada INTx se encuentra en estado 1.

timer_contador_modo0.GIF (2024 bytes)

figura: TIMER 1 EN MODO 0

Para el Timer 0 sería lo mismo pero utilizando los registros correspondientes a este Timer.

En este modo se produce el rebosamiento al contar 2^13=8.192 ciclos máquina o flancos de bajada, hecho que activa el fag de interrupción del timer utilizado.

i088.gif (541 bytes)Los 5 bits de TLx son de menor peso, y los 3 de mayor peso son indeterminados, por lo que han de ser ignorados por el programador.

 

Modo 1 - 16 bits

El modo 1 es idéntico al modo 0 excepto porque el registro del contador emplea su capacidad completa (16 bits) sin predivisor, 8 en TLx y otros 8 en THx. El rebasamiento se produce al contar 2^16=65.536 ciclos máquina o flancos de bajada, con lo que se activa el flag de interrupción.

timer_contador_modo1.GIF (2020 bytes)

 

Modo 2 - 8 bits auto-recarga

El modo 2 de funcionamiento configura el Timer como un contador de 8 bits con recarga automática. La parte baja TLx sirve de contador. Cuando este contador llega a 0 por desbordamiento, el indicador TFx se pone a 1 y el contenido de THx se carga en el contador TLx. El valor de autorrecarga lo elige el programador según sus cálculos, y el caso  de que fuera 00 hexadecimal, entonces se produciría el rebosamiento al contar 2^8=256 ciclos máquina o flancos de bajada.

timer_contador_modo2.GIF (2389 bytes)

figura: TIMER/COUNTER (T1) EN MODO 2

Modo 3

Es un modo que proporciona dos contadores de 8 bits independientes, siendo los registros de contaje, el TL0 y el THO. El primero mantiene la estructura del Timer T0, y el segundo (ver figura) permite solamente la cuenta de ciclos máquina, realizándose su control directamente mediante la señal TR1 y activando el flag de interrupción del Timer T1 cuando se produce el rebosamiento.

El modo 3 esta dirigido a las aplicaciones que necesitan un contador adicional de 8 bits. Con el Timer T0  configurado en modo 3, el 8051 posee un timer de 16 bits (T1) y dos timers de 8 bits. Esta característica sólo es utilizable en aplicaciones en las que el Timer T1 no requiera su recurso de interrupción, puesto que en este caso su indicador (TF1) está unido a la salida del contador de 8 bits en que se convierte TH0.

timer_contador_modo3.GIF (2792 bytes)

figura: TIMER/COUNTER (T0) EN MODO 3

i088.gif (541 bytes)En modo 3, el Timer 1 está bloqueado como si su bit de control TR1 estuviera a 0.

   

l002.gif (417 bytes)

(1) Se utiliza el termino "x" haciendo referencia a la utilización tanto del Timer 0 (T0) como del Timer 1 (T1) indistintamente. 


   Contenido>Indice>Intro Tutor