Está en la página 1de 27

LOS TIMER DE LOS 16F87x

MICROCONTROLADORES PIC

TEMA
EL TIMER 1

CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

Diagrama de Bloques del TIMER1

CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

INTRODUCCIN
El mdulo TIMER1 es un temporizador/contador de
16 bits, est formado por la unin de dos registros
TMR1H y TMR1L, de 8 bits cada uno.
Ambos registros se pueden leer y escribir.
El par de registros TMR1 (TMR1H:TMR1L),
(TMR1H:TMR1L) se
incrementan desde 0000h a FFFFh, para volver a
comenzar desde 0000h.
Si la interrupcin de TMR1 est habilitada, cuando
el contador pasa de todo 1 a todo 0, se activar,
sealndose esta circunstancia en el flag
correspondiente, TMR1IF (PIR1<0>).
CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

La interrupcin del TMR1 puede ser habilitada o


enmascarada, poniendo a 1 0 el bit TMR1IE
(PIE1<0>).
El TIMER1 pueden operar de dos modos:
Como temporizador
Como contador
El modo de funcionamiento se determina por el
origen de los pulsos a contar, mediante el bit,
TMR1CS (T1CON<1>).

CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

A.- En el modo temporizador, el TIMER1 se


incrementa con cada ciclo de instruccin (Fosc/4).
B.- En el modo contador, el TIMER1 se
incrementa con cada flanco ascendente de un
reloj externo.
El

Timer1 puede ser activado/desactivado,


poniendo a 1/0 el bit TMR1ON (T1CON<0>).

El Timer1 posee un reset interno, este RESET,


puede ser generado por cualquiera de los dos
mdulos CCP que posee el PIC.
CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

Cuando el oscilador del Timer1 est habilitado


(T1OSCEN es 1), los pines RC1/T1OSI/CCP2 y
RC0/T1OSO/T1CKI son entradas, y el valor de
TRISC<1:0>es ignorado, y la lectura de estos
pines da 0.

CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

El Registro T1CON
T1CON es el registro de control del TIMER1, y
contiene los bits de: modo de funcionamiento
del
mdulo
temporizador/contador,
habilitacin del oscilador
del timer1,
programacin del preescaler etc.
Ocupa la direccin 10h de memoria RAM

CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

El Registro T1CON
TMR1ON: ACTIVACIN/PARADA del TIMER1
1: Habilita el timer
0: El timer no funciona (valor por defecto)
TMR1CS: Bit de seleccin de la fuente del reloj
(modo de funcionamiento)
91:Reloj externo; ( contador) por el pin
RC0/T1OSO/T1CKI (en el flanco de subida)
90: Reloj interno (FOSC/4) valor por defecto
CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

El Registro T1CON
#T1SYNC: BIT DE CONTROL DE LA
SINCRONIZACIN DE LA SEAL DE
ENTRADA (en modo contador).
Hay que comprobar el valor de TMR1CS,
Si TMR1CS=1
1: No sincroniza la entrada de reloj externo.
0: Sincroniza la entrada de reloj externa
Si TMR1CS=0
No se tiene en cuenta el valor de T1SYNC, ya
que la seal activa para el timer1 es interna
(modo temporizador) y ya est sincronizada.
CCFF D.P.E. MDULO DE PROYECTOS

LOS TEMPORIZADORES

El Registro T1CON
T1OSCEN: Bit de habilitacin del oscilador del
TIMER1, cuando se utiliza un oscilador externo,
hay que poner este bit a 1, EL TIMER1 PUEDE
TRABAJAR A UNA FRECUENCIA TOTALMENTE
INDEPENDIENTE DEL SISTEMA.
1: Habilita el oscilador.
0: Deshabilita el oscilador.
El inversor de entrada al oscilador se desconecta
para disminuir el consumo.

CCFF D.P.E. MDULO DE PROYECTOS

10

LOS TEMPORIZADORES

El Registro T1CON
T1CKPS1:T1CKPS0: Bits de seleccin del
rango del preescaler, que acta sobre la seal
de reloj del TIMER1.
TCKPS1
TCKPS0
0 0
0 1
1 0
1 1

Valor del
preescaler
1:1
1:2
1:4
1:8

Bits 7:6 Bits no implementados se leen como 0.


CCFF D.P.E. MDULO DE PROYECTOS

11

LOS TEMPORIZADORES

EL TIMER 1 Como Temporizador


Este modo de funcionamiento se selecciona
poniendo a 0 el bit TMR1CS (T1CON<1>).
En este modo de trabajo el origen de los pulsos a
contar es interno, y proceden del reloj del sistema
siendo su frecuencia FOSC/4.
Evidentemente en este caso el bit T1SYNC no tiene
sentido ya que no existe seal a sincronizar.

CCFF D.P.E. MDULO DE PROYECTOS

12

LOS TEMPORIZADORES

EL TIMER 1 Como Contador


Este modo de funcionamiento se selecciona
poniendo a 1 el bit TMR1CS (T1CON<1>).
En este modo de trabajo el origen de los pulsos a
contar es externo, siendo el flanco activo
siempre el de subida.
Despus de que el TIMER1 se ha configurado
como contador se debe producir un flanco de
bajada para que se empiece a contar.
CCFF D.P.E. MDULO DE PROYECTOS

13

LOS TEMPORIZADORES

EL TIMER 1 Como Contador

Dentro del modo contador se distinguen dos


clases de contador:

Contador sncrono
Contador asncrono

CCFF D.P.E. MDULO DE PROYECTOS

14

LOS TEMPORIZADORES

EL TIMER 1 Como Contador Sncrono


Para
seleccionar
este
modo
de
funcionamiento
en
primer
lugar
deberemos tener TMR1CS a 1 (modo
contador) y adems T1SYNC estar a 0.
As, la seal externa es sincronizada con
la fase del reloj interno. La sincronizacin
se hace con la seal de salida del
preescaler, por lo tanto en la entrada del
preescaler, el reloj externo es asncrono.

CCFF D.P.E. MDULO DE PROYECTOS

15

LOS TEMPORIZADORES

EL TIMER 1 Como Contador Sncrono


La
seal
de
reloj
es
por
el
pin
RC1/T1OSI/CCP2, si el bit T1OSCEN est a
1, o por el pin RC0/T1OSO/T1CKI, cuando el
bit T1OSCEN es 0.
En esta configuracin, y durante el modo SLEEP
mode, el Timer1 no se incrementa aunque el
reloj externo est presente, sin embargo el
preescaler si que sigue incrementndose.

CCFF D.P.E. MDULO DE PROYECTOS

16

LOS TEMPORIZADORES

EL TIMER1 Como Contador Asncrono


Para seleccionar este modo de funcionamiento, se
debe poner a 1 el bit TMR1CS (modo
contador), y adems T1SYNC debe encontrarse
a 1 tambin.
En estas condiciones, la seal de reloj externa no
se sincroniza con el reloj interno. El contador
contina incrementndose si el microcontrolador
se encuentra en el modo SLEEP y puede
generar una interrupcin si se produce el
desbordamiento y despertar al procesador.
Cuando se trabaja con el TIMER1 en modo
contador asncrono, ste no pude utilizarse
como base de tiempos para el mdulo CCP.
CCFF D.P.E. MDULO DE PROYECTOS

17

LOS TEMPORIZADORES

Lectura Y Escritura En El TIMER1 Cuando Se


Trabaja En Modo Contador Asncrono
Se puede leer TMR1H o TMR1L, mientras el
contador est funcionando con una seal de
reloj externa. Sin embargo el usuario debe
tener en cuenta que el valor de la cuenta es de
16 bits, y que debe ser ledo en dos veces (8
bits cada vez), por lo cual puede ocurrir que se
produzca un overflow entre estas dos lecturas,
con lo cual el valor ledo no es el correcto.

CCFF D.P.E. MDULO DE PROYECTOS

18

LOS TEMPORIZADORES

Lectura Y Escritura En El TIMER1 Cuando Se


Trabaja En Modo Contador Asncrono
Para la escritura, se recomienda parar el
contador, y luego proceder a escribir el valor
deseado.
Una escritura mientras el registro est siendo
incrementado por la seal externa (no se ha
parado), produce que que el valor almacenado
en el contador sea impredecible.

CCFF D.P.E. MDULO DE PROYECTOS

19

LOS TEMPORIZADORES

Oscilador Del TIMER1


Se puede conectar un cristal entre los terminales
T1OSI (entrada) y T1OSO (salida del
amplificador). Este oscilador se habilita
poniendo a 1 el bit de control T1OSCEN
(T1CON<3>).

CCFF D.P.E. MDULO DE PROYECTOS

20

LOS TEMPORIZADORES

Oscilador Del TIMER1


El oscilador es de bajo consumo, y puede llegar a
funcionar hasta con frecuencias de 200kHz, En
estas condiciones , seguir funcionando incluso
en el modo de bajo consumo (sleep).
Este oscilador fue concebido para funcionar con
un cristal de 32kHz. Y de idntica manera al
oscilador LP del procesador, al cual es idntico.
La estructura, as como los condensadores
tpicos para el oscilador se muestran en la
siguiente transparencia.
CCFF D.P.E. MDULO DE PROYECTOS

21

LOS TEMPORIZADORES
CCFF D.P.E. MDULO DE PROYECTOS

22

LOS TEMPORIZADORES

Oscilador Del TIMER1


En el anterior circuito hay que observar que a
mayor capacidad, mayor estabilidad del
oscilador, pero tambin aumenta el start-up.
Tambin se debe indicar que cada cristal/
resonador posee sus propias caractersticas. El
usuario debe consultar los valores apropiados
de los componentes externos al cristal.
CCFF D.P.E. MDULO DE PROYECTOS

23

LOS TEMPORIZADORES

Reset Del Timer1, Mediante El Disparo De Los


Mdulos CCP
Si alguno de los mdulos CCP1 o CCP2 estn
configurados en modo comparacin para generar
un
disparo
por
evento
especial
(CCP1M3:CCP1M0 = 1011), esta seal puede
resetear el Timer1.
Para aprovechar la anterior caracterstica, el
TIMER1 debe configurarse en modo temporizador
o como contador sncrono, en el tercer modo
(contador asncrono) no se produce el reset.
CCFF D.P.E. MDULO DE PROYECTOS

24

LOS TEMPORIZADORES

Reset Del Timer1, Mediante El Disparo De Los


Mdulos CCP
Nota: El disparo por evento especial en CCP1 y
CCP2, no provoca que se ponga a 1 el flag de
interrupcin TMR1IF (PIR1<0>).
En este modo de operacin, el par de registros
CCPRxH:CCPRxL se reinician para tener el
mismo periodo que el timer 1.
Si el evento especial de CCP1 o CCP2 coincide
con una escritura sobre TMR1, se escribir el
valor anterior.
CCFF D.P.E. MDULO DE PROYECTOS

25

LOS TEMPORIZADORES

Reset De Los Registros TMR1H Y TMR1L


Los registros TMR1H y TMR1L no se ponen a 00h
despus de un Power On Reset (POR), o por
cualquier otro RESET, excepto por el disparo por
eventos especiales de CCP1 o CCP2
El registro T1CON, tras unPower-on Reset, o un
Brown-out Reset, se pone a 00h, el timer se para
y el el preescaler es situado con el factor 1:1.
Con los dems reset, el registro no se ve afectado.
El preescaler se resetea siempre que se escribe
sobre el registro TMR1H o TMR1L.
CCFF D.P.E. MDULO DE PROYECTOS

26

LOS TEMPORIZADORES

Registros Asociados Con El


Contador/Temporizador TIMER1

CCFF D.P.E. MDULO DE PROYECTOS

27

También podría gustarte