Você está na página 1de 0

Los Temporizadores/Contadores

Los Temporizadores/Contadores
Los Temporizadores/Contadores
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Los
Los
Timers
Timers
/Contadores
/Contadores
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
El 80C51 tiene dos registros de El 80C51 tiene dos registros de Timers Timers/ /Contadore Contadore de 16 bits : de 16 bits :
El Timer0 y el Timer 1. El Timer0 y el Timer 1.
Se pueden configurar para operar ya sea como Se pueden configurar para operar ya sea como Timers Timers o como contadores de o como contadores de
eventos. eventos.
TIMER PUEDE CONTAR EVENTOS O TEMPORIZAR
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Modelo de la operaci Modelo de la operaci n de los n de los Timers Timers 0 y 1 del 80C51 0 y 1 del 80C51
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Oscilador
interno
Oscilador
interno
fxtal
: 12
: 12
CONTADOR
CONTADOR
fxtal / 12
fosc= fxtal
Conteo inicial
Conteo inicial
TF0
TF0
C/T=1
contador
C/T=0
timer
C / T
C / T
TRx
TRx
GATE
GATE
CLK OVF
Genera
Interrupcin
Genera
Interrupcin
Xtal1
Xtal1
Xtal2
Xtal2
Tx
Tx
INTx
INTx
Configuraci
Configuraci

n de Timer
n de Timer
Oscilador
interno
Oscilador
interno
fxtal = 12 MHz
: 12
: 12
Contador
programable
Contador
programable
fxtal / 12= 1 MHhz
fosc= fxtal = 12 MHz
Conteo inicial
Conteo inicial
1seg
TF0
TF0
Microcontroladores
M.I. Carlos Canto Quintal Facultad de Ciencias/UASLP
EL TIMER
Funcionando como Timer, el registro es incrementado cada ciclo d Funcionando como Timer, el registro es incrementado cada ciclo de e
m m quina, por lo tanto se puede pensar que opera como un contador quina, por lo tanto se puede pensar que opera como un contador de de
ciclos de m ciclos de m quina . quina .
Ya que un ciclo de m Ya que un ciclo de m quina consta de 12 periodos del oscilador, la rapidez quina consta de 12 periodos del oscilador, la rapidez
de conteo es de 1/12 la frecuencia del oscilador. de conteo es de 1/12 la frecuencia del oscilador.
Modelo de los Timer 0 y 1
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0-1, Registro de control TMOD
GATE
GATE=1, el TIMER x est habilitado solamente cuando su patilla de entrada INTx est
a 1 y el bit TRx del registro TCON est a 1
GATE = 0, el TIMER x est habilitado si TRx est a 1.
C/T
Permite la seleccin de la funcin TIMER:
C/T = 0, el TIMER acta como TEMPORIZADOR
C/T = 1, el TIMER acta como CONTADOR de los eventos presentes en la
patilla de entrada Tx.
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0-1,TMOD Modos de funcionamiento
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0-1, Registro de control TCON
TF1: Indicador de desbordamiento del TIMER 1. Puesto a 1
automticamente cuando el contador llega a 0. Si la interrupcin
correspondiente est permitida, este indicador automticamente se vuelve
a poner a 0 cuando se ejecuta la subrutina de interrupcin Si se utiliza por
sondeo hay que borrar el flag manualmente
TR1: Bit de arranque del TIMER 1. Se debe poner a 1 por software para
permitir la cuenta en el TIMER y a 0 para detenerla
TF0: Indicador de desbordamiento del TIMER 0 . Mismo funcionamiento
que TF1
TR0: Bit de arranque del TIMER 0. Mismo funcionamiento que TR1
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0-1,Modo 0: Contador de 13 bits
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0-1,Modo 1: Contador de 16 bits
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Ejemplo del uso del Timer en modo 1 Ejemplo del uso del Timer en modo 1 : :
Se desea conseguir un retardo de 50 Se desea conseguir un retardo de 50 msegs msegs con un Timer del con un Timer del
80C51 80C51
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Tmax=65,536
65,536-50,000=15,536
65,536-50,000=15,536
Tx=15,536 T=50,000
Reset
Para generar un retardo de 50
msegs con un cristal de 12 Mhz
se requiere contar 50,000
pulsos de reloj (ciclos de
mquina)
Para generar un retardo de 50
msegs con un cristal de 12 Mhz
se requiere contar 50,000
pulsos de reloj (ciclos de
mquina)
Inicio de conteo
Inicio de conteo
Cada ciclo de mquina es igual a 1segundo tal que:
50 msegs=1segundo X 50,000
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
Timer T0=15,536
TH0=60
TH0=176
15, 536/256=60.6875
60*256=15360
15536-15360=176
15, 536/256=60.6875
60*256=15360
15536-15360=176
Obtenci Obtenci n del Valor Inicial del timer para conseguir el n del Valor Inicial del timer para conseguir el
conteo de 50,000 pulsos (ciclos de m conteo de 50,000 pulsos (ciclos de m quina) quina)
Timer 0-1,Modo 2: Contador de 8 bits con
recarga
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
FUNCIONALIDAD MODO 2
Generar interrupciones peridicas de periodo:
Frecuencia Mxima. Cargando en THx=0xFF
Frecuencia Mnima. Cargando en THx=0x00
Generar la frecuencia de reloj para las comunicaciones serie asncronas
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 1, Generador de frecuencia de comunicaci Timer 1, Generador de frecuencia de comunicaci n n
serie serie
Configuracin TMOD
Frecuencias comunicacin normalizadas
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer 0 y 1. Modo 3
Timer 0 y 1. Modo 3
Si se configura el timer 1 en modo 3 este contador detiene su cuenta; tiene
un efecto equivalente a poner TR1= 0 en los modos 0, 1 o
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
FUNCIONAMIENTO DEL MODO 3 FUNCIONAMIENTO DEL MODO 3
FUNCIONAMIENTO DEL MODO 3
Al configurar el timer 0 en modo 3, se convierte en dos timers:
TL0: temporizador o contador de eventos de 8 bits, se pone en
funcionamiento con TR0. Cuando se produce el desbordamiento activa TF0
TH0: temporizador de 8 bits, se pone en funcionamiento con TR1. Cuando
se produce el desbordamiento se activa TF1. Estos bits (TR1 y TF1) dejan de
estar asociados al Timer 1
Cuando el timer 0 funciona en modo 3, el Timer 1 puede configurarse
como temporizador o contador en uno de los modos: 0, 1 o 2, estando
siempre funcionando y sin indicador de desbordamiento; para pararlo
hay que configurarlo tambin en modo 3. El timer 1 se puede emplear,
por ejemplo, para generar la frecuencia de funcionamiento del
dispositivo de comunicaciones serie (UART)
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
+5 V
8031
8031
P1.0
P1.0
(1/8) 74LS244
1ms
1ms
fxtal = 12 MHz
2ms
Frecuencia = 500Hz
Microcontroladores
M.I. Carlos Canto Quintal Facultad de Ciencias/UASLP
EL TIMER
Ejemplo: programa el timer0 para que genere
una onda cuadrada de aproximadamente
500hz
Microcontroladores
M.I. Carlos Canto Quintal Facultad de Ciencias/UASLP
EL TIMER
Carga de
Conteo
inicial
Carga de
Conteo
inicial
Alcanz
Conteo
final
Alcanz
Conteo
final
FC18H
FFFFh
0000h
SI TF0=1
llama a RSI
1000 pulsos contados
Se desea que cuando el
contador rebase su
conteo final FFFFh, no
regrese a ceros sino que
se recargue con el valor
de conteo inicial FC18h
Para timer
TR0=0
Para timer
TR0=0
Arranca timer
TR0=1
Arranca timer
TR0=1
CONTEO INICIAL=FFFFH-CONTEO DESEADO+1
CONTEO DESEADO=1000=03E8H
POR LO TANTO EL CONTEO INICIAL
SER:
FFFFH-03E8H=FC17H+1=FC18H
TF0=0
Conteo inicial
Diagrama de flujo para el programa del ejemplo del Timer
Apagar LED en P1.0
Apagar LED en P1.0
Habilita interrupcin
de Timer0
Habilita interrupcin
de Timer0
Seleccin Modo
De operacin del Timer0
Seleccin Modo
De operacin del Timer0
Cargar conteo inicial
en TH0 y TL0
Cargar conteo inicial
en TH0 y TL0
Arranca Timer0
Arranca Timer0
Espera fin de conteo
Espera fin de conteo
Es TF0=1
?
Es TF0=1
?
Call Rutina de servicio
del Timer 0
Call Rutina de servicio
del Timer 0
No
El Micro realiza
esta parte
automticamente
El Micro realiza
esta parte
automticamente
Rutina de servicio
del Timer0
Rutina de servicio
del Timer0
Parar conteo
Parar conteo
Complementa P1.0
Complementa P1.0
Cargar conteo inicial
en TH0 y TL0
Cargar conteo inicial
en TH0 y TL0
Arranca Timer0
Arranca Timer0
Retorna
Retorna
Microcontroladores
M.I. Carlos Canto Quintal Facultad de Ciencias/UASLP
EL TIMER
TF0 se hace 0
automticamente
TF0 se hace 0
automticamente
Configuraci
Configuraci

n como Contador de eventos


n como Contador de eventos
externos
externos
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
CONTADOR
CONTADOR
Conteo inicial
Conteo inicial
TF0
TF0
contador
C / T=1
C / T=1
TRx
TRx
GATE
GATE
CLK OVF
Genera
Interrupcin
Genera
Interrupcin
Tx
Tx
INTx
INTx
La seal de
reloj
proviene de
algn sensor
del evento
La seal de
reloj
proviene de
algn sensor
del evento
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
En esta funcin , la entrada externa T0 T1, es monitoreada durante S5P2 de cada ciclo de
mquina. Cuando la muestra presenta un alto en un ciclo y bajo en el siguiente el conteo es
incrementado. El valor de la nueva cuenta aparece en el registro durante S3P1 del ciclo
siguiente en donde fue detectada la transicin.
Ya que se requieren 2 ciclos de mquina (24 periodos del oscilador) para detectar una
transicin de 1 a 0 , la velocidad mxima de conteo es de 1/24 la frecuencia del oscilador . No
hay restricciones en el ciclo de trabajo de la seal de entrada externa , pero se debe asegurar
que un nivel dado se debe muestrear al menos una vez en antes de que cambie , deber
sostenerse por al menos un ciclo completo
Configuraci Configuraci n como Contador de eventos externos n como Contador de eventos externos
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
CLK
2 ciclos de mquina= 24 ciclos de reloj
T0

Qu
Qu

es exactamente un evento ?
es exactamente un evento ?
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Es importante notar que el 80C51 checa la lnea P3.4 en cada ciclo
de mquina (12 ciclos de reloj). Esto significa que si P3.4 es bajo, va
a alto y regresa a bajo en 6 ciclos de reloj es probable que no sea
detectado por el 80C51.
Esto tambin significa que el Contador de eventos del 80C51
solamente es capaz de contar eventos que ocurren a una velocidad
mxima de 1/24 avo la velocidad de la frecuencia del cristal.
Tal que , si la frecuencia del cristal es 12 Mhz se podra contar un
mximo de 500,000 eventos por segundo (12Mhz*1/24=500,000).
Si el evento a contar ocurre a ms de 500,000 veces por segundo el
80C51 no ser capaz de contarlo con exactitud.
Ejemplo Ejemplo: Determinaci : Determinaci n de n de vol vol men men de de t t fico fico vehicular vehicular
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
JNB P1.0,$
;si un carro no ha levantado la seal, se
queda esperando
JB P1.0,$
;La lnea es alta lo cual significa que el carro
est sobre el sensor justo ahora
INC COUNTER
;El carro ha pasado completamente, entoces
lo contamos
Supongamos que tenemos un sensor colocado en el camino, que enviar un
pulso cada vez que un carro pasa por encima de l. sto podra ser usado para
determinar el vomen de trfico del camino. Podramos conectar este sensor a
una de las lneas de E/S del 80C51 y monitorearla constantemente, detectando
cuando el pulso es alto y entonces incrementar nuestro contador cuando regresa
al estado bajo. Esta tcnica de sondeo no es complicada pero si ineficiente,
supongamos que el sensor est en P1.0 nuestro programa podra ser:
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Lo que el Timer realmente cuenta, hablando a nivel
elctrico, son las transiciones de 1 a 0 de la lnea P3.4.
Esto significa que cuando un carro primero pasa por
encima del sensor, sto pondr la entrada a una
condicin alta (1).
En este momento el 80C51 no contar nada ya que la
transicin fue de 0 a 1, pero cuando el carro ya haya
pasado el sensor regresar a su estado bajo (0) .
sta ya es una transicin de 1 a 0 y en ese instante el
contador ser incrementado en 1.
PROBLEMA DE TAREA: PROBLEMA DE TAREA:
Implemente un programa para contar el n Implemente un programa para contar el n mero de autos que mero de autos que
pasan en un minuto por encima de un sensor de volumen de pasan en un minuto por encima de un sensor de volumen de
tr tr nsito nsito
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Ejemplo: Ejemplo: Medici Medici n de la duraci n de la duraci n de un Pulso n de un Pulso
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Con un sistema basado en el 80C51, se desea medir la duraci Con un sistema basado en el 80C51, se desea medir la duraci n de un n de un
pulso a nivel alto que se produce en la se pulso a nivel alto que se produce en la se al al pulso pulso tal y como se tal y como se
muestra en la figura. Supondremos que el microcontrolador tiene muestra en la figura. Supondremos que el microcontrolador tiene una una
se se al de reloj de 12MHz. Indique qu al de reloj de 12MHz. Indique qu recursos del 80C51 utilizar recursos del 80C51 utilizar a para a para
realizar esta aplicaci realizar esta aplicaci n y c n y c mo conectar mo conectar a las se a las se ales del sistema. ales del sistema.
Tiempo a medir
Pulso
Ejemplo: Ejemplo: Medici Medici n de la duraci n de la duraci n de un Pulso n de un Pulso
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Tiempo a medir
Pulso
Oscilador
interno
Oscilador
interno
Fxtal=12Mhz
: 12
: 12
CONTADOR
CONTADOR
fxtal / 12
fosc= fxtal
Conteo inicial
Conteo inicial
TF0
TF0
C/T=0
timer
C / T=0
C / T=0
TRx=1
TRx=1
GATE=1
GATE=1
CLK OVF
Genera
Interrupcin
Genera
Interrupcin
Xtal1
Xtal1
Xtal2
Xtal2
INTx
INTx
Configuarci Configuarci n n del Timer para arrancarse por hardware ,al inicio del pulso y p del Timer para arrancarse por hardware ,al inicio del pulso y pararse al final del mismo ararse al final del mismo
Controlling the Brightness of an LED
Pulse Width Modulation
TIMER_0_INTERRUPT:
JB F0, HIGH_DONE ; If F0 is set then we just finished the high section of the
LOW_DONE: ; cycle so Jump to HIGH_DONE
SETB F0 ; Make F0=1 to indicate start of high section
SETB P1.0 ; Turn off LED
MOV TH0, R7 ; Load high byte of timer with R7 (our pulse width control value)
CLR TF0 ; Clear the Timer 0 interrupt flag
RETI ; Return from Interrupt to where the program came from
HIGH_DONE:
CLR F0 ; Make F0=0 to indicate start of low section
CLR P1.0 ; Turn on LED
MOV A, #FFH ; Move FFH (255) to A
CLR C ; Clear C (the carry bit) so it does not affect the subtraction
SUBB A, R7 ; Subtract R7 from A. A = 255 - R7.
MOV TH0, A ; so the value loaded into TH0 + R7 = 255
CLR TF0 ; Clear the Timer 0 interrupt flag
RETI ; Return from Interrupt to where the program came from
The basic idea of the routine is fairly simple. First it checks to see if it just finished thigh or tlow.
If it was thigh then it jumps to HIGH_DONE and prepares for the tlow period. We set F0 to 0 to indicate we are
timing tlow. Then we turn on the LED. Next we find the value to load into the 8 bit timer register TH0. Timer 0 will
count up from there. If it was tlow then we continue through LOW_DONE and set F0 to 1 to indicate we are timing
thigh. Then we turn off the LED. Next we load R7 into the 8 bit timer register TH0 and Timer 0 will count up from
there.
Main Code
The main part of the code does not have to do anything. In this
example we just move 01 to R7 for the minimum brightness and
then make an infinite loop with
MOV R7, #001H ; set pulse width control to dim
LOOP:
AJMP LOOP ;go to LOOP
The processor just sits there in an endless loop until the Timer 0
interrupt occurs. Then it goes off and goes through the Timer 0
interrupt routine and returns to the endless loop to wait for the next
interrupt. If we had some other processing to do we could put that
code in here in place of the endless loop and the processor could
actually do something useful while it is waiting for the next interrupt.
Using the Timer
Now we can load a value into the 8 bit timer register, TH0, and it will run
freely until it "overflows". The overflow occurs when it is at its maximum
value of 255 and on the next count goes back to 0. This is the same as what
would happen to the mileage meter in your car when it reaches all 9s and
"flips over" to all 0s. The overflow triggers the Timer 0 interrupt and the
processor stops whatever it is doing and goes to the point 0BH in its
program. (0BH is the hex value 0B which is the 11th memory location) You
can see in the program pwmled2.asm that we have used the ORG
command to put a command in the 0BH location that jumps to our Interrupt
Service Routine (ISR) for Timer 0. This just means that when the interrupt
occurs the processor will go and process some code and then return to
what is was doing before.
Below is the code that the processor goes through each time the Timer 0
interrupt occurs. Since we are using Timer 0 to time both tlow and thigh, we
use a Flag (which is just a bit) to indicate whether we are currently timing
tlow or thigh. We set the bit to 1 for thigh and 0 for tlow.
El Timer 2
El Timer 2
El Timer 2
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Timer/Contadores
Timer/Contadores Timer/Contadores
MICROCONTROLADORES MICROCONTROLADORES
Carlos E. Canto Quintal
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
T2EX
T2EX
T2
T2
osc
osc
TL2
(8bits)
TL2
(8bits)
TH2
(8bits)
TH2
(8bits)
TF2
TF2
EXF2
EXF2
RCAP2L
RCAP2L
RCAP2H
RCAP2H
: 12
: 12
_
TR2
C/T2=0
C/T2=1
control
captura
control
Interrupcin
del Timer2
Interrupcin
del Timer2
TIMER 2 EN MODO CAPTURA
Detector de
transicin
EXEN2
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
T2EX
T2EX
T2
T2
osc
osc
TF2
TF2
EXF2
EXF2
: 12
: 12
_
TR2
C/T2=0
C/T2=1
control
Recarga
control
Interrupcin
del Timer2
Interrupcin
del Timer2
TIMER 2 EN MODO AUTO-RECARGA (cuando DCEN=0)
Con la habilidad de conteo Up/Down desactivada
TL2
(8bits)
TL2
(8bits)
TH2
(8bits)
TH2
(8bits)
RCAP2L
RCAP2L
RCAP2H
RCAP2H
Detector de
transicin
EXEN2
T2EX
T2EX
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
T2
T2
osc
osc
TF2
TF2
EXF2
EXF2
: 12
: 12
_
TR2
C/T2=0
C/T2=1
Valor de recarga en
conteo ascendente
Valor de recarga en
conteo ascendente
control
Interrupcin
del Timer2
Interrupcin
del Timer2
TIMER 2 EN MODO AUTO-RECARGA (cuando DCEN=1)
Con la habilidad de conteo Up/Down activada
RCAP2L
RCAP2L
RCAP2H
RCAP2H
TL2
(8bits)
TL2
(8bits)
TH2
(8bits)
TH2
(8bits)
0FFh
0FFh
0FFh
0FFh
Direccin de conteo
1= Up
0=Down
Valor de recarga en
conteo descendente
Valor de recarga en
conteo descendente
conmuta
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
TIMER 2 EN MODO GENERADOR DE BAUDAJE
T2EX
T2EX
T2
T2
osc
osc
: 2
: 2
_
TR2
C/T2=0
C/T2=1
control
control
TL2
(8bits)
TL2
(8bits)
TH2
(8bits)
TH2
(8bits)
RCAP2L
RCAP2L
RCAP2H
RCAP2H
Detector de
transicin
EXF2
EXF2
Interrupcin
del
Timer 2
: 16
: 16
: 16
: 16
_
_
RX Clock
TX Clock
TCLK
RCLK
SMOD
1 0
1
0
1 0
Sobre flujo delTimer 1
: 2
: 2
_
EXEN2
Nota: la frecuencia del
oscilador es dividida entre 2
no entre12
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
TIMER 2 EN MODO RELOJ DE SALIDA
T2EX
T2EX
T2
T2
osc
osc
: 2
: 2
_
TR2
T2OE (T2MOD.1)
Bit C/T2
TL2
(8bits)
TL2
(8bits)
TH2
(8bits)
TH2
(8bits)
RCAP2L
RCAP2L
RCAP2H
RCAP2H
Detector de
transicin
EXF2
EXF2
Interrupcin
del
Timer 2
EXEN2
Nota: la frecuencia del
oscilador es dividida entre 2
no entre12
P1.1
P1.0
: 2
: 2
_
Salida
de reloj
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
T2CON: REGISTRO DE CONTROL DELTIMER/CONTADOR2
TF2
TF2
EXF2
EXF2
RCLK
RCLK
TCLK
TCLK
EXEN2
EXEN2
TR2
TR2
C/T2
C/T2
CP/RL2
CP/RL2
(LSB) (MSB)
Bandera de Captura/Recarga. Cuando est en 1, ocurrir una captura con una transicin negativa en T2EX si EXEN2=1. Cuando est
en cero, ocurir una auto recarga ya sea cuando el Timer 2 rebase o una transicin negativa en T2EX y que EXEN=1. Cuando ya sea
que RCLK=1 o TCLK=1, este bit es ignorado y el timer es forzado a una auto recarga en el rebase del Timer 2.
T2CON.0 CP/RL2
Seleccin de Timer o contador (Timer2)
0=Timer interno (OSC/12)
1=Contador de eventos externos (disparado en la transicin de bajada)
T2CON.1 C/T2
Control de Arranque /Paro del Timer2. Un 1 lgico arranca el Timer2
T2CON.2 TR2
Bandera de habilitacin externa, Cuanda est habilitada permite que ocuura una captura o una recarga como resultado de una
transicin negativa en T2EX si el Timer 2 no est siendo usado para temporizar el puerto serial. EXEN2=0 hace que el Timer2 ignore
los eventos en T2EX
T2CON.3 EXEN2
Bandera de reloj del transmisor. Cuando est en 1, hace que el puerto serial use los pulsos del sobre flujo del timer 2 para el reloj de su
transmisor en los Modos 1 , 3 y el timer 1 proporcionar el baudaje del receptor. TCLK=0 har que el sobre flujo del Timer 1 sea usado
para el reloj del transmisor.
T2CON.4 TCLK
Bandera del reloj de recepcin. Cuando se hace 1, hace que el puerto serie use los pulsos del sobre flujo del timer 2 para el reloj de su
receptor en los Modos 1 , 3 y el timer 1 proporcionar el baudaje del transmisor. RCLK=0 har que el sobre flujo del Timer 1 sea usado
para el reloj del receptor
T2CON.5 RCLK
Bandera externa del Timer2, se hace 1 cuando ya sea una captura o una recarga sea producida desde el exterior, al ocurrir una
transicin negativa en T2EX y adems que EXEN2=1. Siempre la interrupcin del timer 2 est habilitada, EXF2=1 har que la CPU
vectorice a la rutina de servicio del timer 2. EXF2 debe deshabilitarse por software. EXF2 no produce una interrupcin en modo
contador Up//Down (DCEN=!)
T2CON.6 EXF2
Bandera de sobre flujo del Timer2 se hace 1 con el rebase del Timer y debe hacerse 0 por software.TF2 no se hace 1 cuando RCLK=1
o cuando RCLK=1
T2CON.7 TF2
NOMBRE Y SIGNIFICADO POSICIN SIMBOLO
Microcontroladores
Microcontroladores
TIMER 2
Carlos Canto Quintal
Auto-recarga (contador Ascendente o Descendente)
El timer 2 puede ser programado para conteo ascendente descendente cuando es
configurado en su modo de recarga de 16 bits. Esta habilidad es invocada con el bit
DCEN (Down Counter Enable ), localizado en el SFR T2MOD: Al resetear el DCEN
est en cero tal que el Timer 2 por default cuenta hacia arriba (Up). Cuando el DCEN
se pone a uno, elk Timer 2 puede contar hacia arriba o hacia abajo, dependiendo del
valor de

Você também pode gostar