Los Temporizadores/Contadores Los Temporizadores/Contadores

Anuncio
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Los
Los Temporizadores/Contadores
Temporizadores/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Los Timers/Contadores
9El 80C51 tiene dos registros de Timers/
Timers/Contadore de 16 bits :
El Timer0 y el Timer 1.
9Se pueden configurar para operar ya sea como Timers o como contadores de
eventos.
TIMER PUEDE CONTAR EVENTOS O TEMPORIZAR
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Modelo de la operación de los Timers 0 y 1 del 80C51
fxtal
fosc= fxtal
Xtal1
Xtal1
Xtal2
Xtal2
Oscilador
Oscilador
interno
interno
fxtal / 12
::12
12
C/T=0
timer
Conteo inicial
Conteo inicial
CONTADOR
CONTADOR
CLK
OVF
C/T=1
contador
TF0
TF0
Tx
Tx
Genera
Genera
Interrupción
Interrupción
GATE
GATE
CC/ /TT
TRx
TRx
INTx
INTx
Carlos E. Canto Quintal
EL TIMER
Microcontroladores
Configuración de Timer
Funcionando como Timer, el registro es incrementado cada ciclo de
de
máquina, por lo tanto se puede pensar que opera como un contador de
ciclos de má
máquina .
Ya que un ciclo de má
máquina consta de 12 periodos del oscilador, la rapidez
de conteo es de 1/12 la frecuencia del oscilador.
Conteo
Conteoinicial
inicial
Oscilador
Oscilador
interno
interno
:: 12
12
Contador
Contador
programable
programable
TF0
TF0
fxtal = 12 MHz
fosc= fxtal = 12 MHz
fxtal / 12= 1 MHhz
1µseg
Facultad de Ciencias/UASLP
MICROCONTROLADORES
M.I. Carlos Canto Quintal
Timer/Contadores
Timer/Contadores
Modelo de los Timer 0 y 1
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
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 selección de la función TIMER:
C/T = 0, el TIMER actúa como TEMPORIZADOR
C/T = 1, el TIMER actúa como CONTADOR de los eventos presentes en la
patilla de entrada Tx.
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 0-1,TMOD – Modos de funcionamiento
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 0-1, Registro de control TCON
TF1: Indicador de desbordamiento del TIMER 1. Puesto a 1
automáticamente cuando el contador llega a 0. Si la interrupción
correspondiente está permitida, este indicador automáticamente se vuelve
a poner a 0 cuando se ejecuta la subrutina de interrupción 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
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 0-1,Modo 0: Contador de 13 bits
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 0-1,Modo 1: Contador de 16 bits
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Ejemplo del uso del Timer en modo 1 :
Se desea conseguir un retardo de 50 msegs con un Timer del
80C51
Inicio
Iniciode
deconteo
conteo
Para
Paragenerar
generarun
unretardo
retardode
de50
50
msegs
con
un
cristal
de
12
msegs con un cristal de 12Mhz
Mhz
se
serequiere
requierecontar
contar50,000
50,000
pulsos
de
reloj
(ciclos
pulsos de reloj (ciclosde
de
máquina)
máquina)
65,536-50,000=15,536
65,536-50,000=15,536
Reset
Tx=15,536
T=50,000
Tmax=65,536
Cada ciclo de máquina es igual a 1µsegundo tal que:
50 msegs=1µsegundo X 50,000
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Obtención del Valor Inicial del timer para conseguir el
conteo de 50,000 pulsos (ciclos de máquina)
15,
15, 536/256=60.6875
536/256=60.6875
60*256=15360
60*256=15360
15536-15360=176
15536-15360=176
TH0=176
TH0=60
00 00
11 11 11 11
00 00
11 00 11 11 00 00 00 00
Timer T0=15,536
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 0-1,Modo 2: Contador de 8 bits con
recarga
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
FUNCIONALIDAD MODO 2
Generar interrupciones periódicas de periodo:
– Frecuencia Máxima. Cargando en THx=0xFF
– Frecuencia Mínima. Cargando en THx=0x00
Generar la frecuencia de reloj para las comunicaciones serie asíncronas
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Timer 1, Generador de frecuencia de comunicación
serie
Configuración TMOD
Frecuencias comunicación normalizadas
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
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
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
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 también en modo 3. El timer 1 se puede emplear,
por ejemplo, para generar la frecuencia de funcionamiento del
dispositivo de comunicaciones serie (UART)
Carlos E. Canto Quintal
EL TIMER
Microcontroladores
Ejemplo: programa el timer0 para que genere
una onda cuadrada de aproximadamente
500hz
+5 V
Frecuencia = 500Hz
1ms
P1.0
P1.0
fxtal = 12 MHz
8031
8031
1ms
(1/8) 74LS244
2ms
M.I. Carlos Canto Quintal
Facultad de Ciencias/UASLP
EL TIMER
Microcontroladores
CONTEO INICIAL=FFFFH-CONTEO DESEADO+1
0000h
CONTEO DESEADO=1000=03E8H
POR LO TANTO EL CONTEO INICIAL
SERÁ:
FFFFH-03E8H=FC17H+1=FC18H
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
Carga
Cargade
de
Conteo
Conteo
inicial
inicial
Para
Paratimer
timer
TR0=0
TR0=0
SI TF0=1
llama a RSI
Facultad de Ciencias/UASLP
TF0=0
Alcanzó
Alcanzó
Conteo
Conteo
final
final
FC18H
Arranca
Arrancatimer
timer
TR0=1
TR0=1
Conteo inicial
1000 pulsos contados
FFFFh
M.I. Carlos Canto Quintal
EL TIMER
Microcontroladores
Diagrama de flujo para el programa del ejemplo del Timer
Apagar LED en P1.0
Apagar LED en P1.0
Rutina
Rutinade
deservicio
servicio
del
Timer0
del Timer0
TF0
TF0 se
se hace
hace 00
automáticamente
automáticamente
Habilita interrupción
Habilita interrupción
de Timer0
de Timer0
Parar
Pararconteo
conteo
Selección Modo
Selección Modo
De operación del Timer0
De operación del Timer0
Complementa
ComplementaP1.0
P1.0
Cargar conteo inicial
Cargar conteo inicial
en TH0 y TL0
en TH0 y TL0
Cargar
Cargarconteo
conteoinicial
inicial
en
TH0
en TH0yyTL0
TL0
Arranca Timer0
Arranca Timer0
Arranca
ArrancaTimer0
Timer0
Espera fin de conteo
Espera fin de conteo
Retorna
Retorna
Es TF0=1
Es TF0=1
?
?
No
Call
CallRutina
Rutinade
deservicio
servicio
del
Timer
del Timer00
El
ElMicro
Microrealiza
realiza
esta
estaparte
parte
automáticamente
automáticamente
M.I. Carlos Canto Quintal
Facultad de Ciencias/UASLP
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Configuración como Contador de eventos
externos
La
Laseñal
señalde
de
reloj
reloj
proviene
provienede
de
algún
algúnsensor
sensor
del
delevento
evento
Conteo inicial
Conteo inicial
CONTADOR
CONTADOR
CLK
OVF
TF0
TF0
contador
Tx
Tx
Genera
Genera
Interrupción
Interrupción
GATE
GATE
CC/ /T=1
T=1
TRx
TRx
INTx
INTx
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Configuración como Contador de eventos externos
En esta función , la entrada externa T0 ó T1, es monitoreada durante S5P2 de cada ciclo de
máquina. 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 transición.
Ya que se requieren 2 ciclos de máquina (24 periodos del oscilador) para detectar una
transición de 1 a 0 , la velocidad máxima de conteo es de 1/24 la frecuencia del oscilador . No
hay restricciones en el ciclo de trabajo de la señal 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
CLK
S1
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
T0
2 ciclos de máquina= 24 ciclos de reloj
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
¿ Qué es exactamente un evento ?
Es importante notar que el 80C51 checa la línea P3.4 en cada ciclo
de máquina (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 también significa que el Contador de eventos del 80C51
solamente es capaz de contar eventos que ocurren a una velocidad
máxima de 1/24 avo la velocidad de la frecuencia del cristal.
Tal que , si la frecuencia del cristal es 12 Mhz se podría contar un
máximo de 500,000 eventos por segundo (12Mhz*1/24=500,000).
Si el evento a contar ocurre a más de 500,000 veces por segundo el
80C51 no será capaz de contarlo con exactitud.
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Ejemplo: Determinación de volúmen de táfico vehicular
Supongamos que tenemos un sensor colocado en el camino, que enviará un
pulso cada vez que un carro pasa por encima de él. Ésto podría ser usado para
determinar el voúmen de tráfico del camino. Podríamos conectar este sensor a
una de las líneas 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 técnica de sondeo no es complicada pero si ineficiente,
supongamos que el sensor está en P1.0 nuestro programa podría ser:
JNB P1.0,$
;si un carro no ha levantado la señal, se
queda esperando
JB P1.0,$
;La línea es alta lo cual significa que el carro
está sobre el sensor justo ahora
INC COUNTER
;El carro ha pasado completamente, entoces
lo contamos
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Lo que el Timer realmente cuenta, hablando a nivel
eléctrico, son las transiciones de 1 a 0 de la línea P3.4.
Esto significa que cuando un carro primero pasa por
encima del sensor, ésto pondrá la entrada a una
condición alta (“1”).
En este momento el 80C51 no contará nada ya que la
transición fue de 0 a 1, pero cuando el carro ya haya
pasado el sensor regresará a su estado bajo (“0“) .
Ésta ya es una transición de 1 a 0 y en ese instante el
contador será incrementado en 1.
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
PROBLEMA DE TAREA:
Implemente un programa para contar el número de autos que
pasan en un minuto por encima de un sensor de volumen de
tránsito
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Ejemplo: Medición de la duración de un Pulso
Con un sistema basado en el 80C51, se desea medir la duració
duración de un
pulso a nivel alto que se produce en la señ
señal “pulso”
pulso” tal y como se
muestra en la figura. Supondremos que el microcontrolador tiene una
señ
señal de reloj de 12MHz. Indique qué
qué recursos del 80C51 utilizarí
utilizaría para
realizar esta aplicació
aplicación y có
cómo conectarí
conectaría las señ
señales del sistema.
Pulso
Tiempo a medir
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Ejemplo: Medición de la duración de un Pulso
Fxtal=12Mhz
fosc= fxtal
Xtal1
Xtal1
Xtal2
Xtal2
Pulso
Oscilador
Oscilador
interno
interno
::12
12
fxtal / 12
C/T=0
timer
Tiempo a medir
GATE=1
GATE=1
Conteo inicial
Conteo inicial
CONTADOR
CONTADOR
CLK
OVF
CC/ /T=0
T=0
TF0
TF0
Genera
Genera
Interrupción
Interrupción
TRx=1
TRx=1
INTx
INTx
Configuarció
Configuarción del Timer para arrancarse por hardware ,al inicio del pulso y pararse
pararse al final del mismo
Carlos E. Canto Quintal
Controlling the Brightness of an LED
Pulse Width Modulation
TIMER_0_INTERRUPT:
•
JB F0, HIGH_DONE
LOW_DONE:
•
SETB F0
•
SETB P1.0
•
MOV TH0, R7
•
CLR TF0
•
RETI
HIGH_DONE:
•
CLR F0
•
CLR P1.0
•
MOV A, #FFH
•
CLR C
•
SUBB A, R7
•
MOV TH0, A
•
CLR TF0
•
RETI
; If F0 is set then we just finished the high section of the
; cycle so Jump to HIGH_DONE
; Make F0=1 to indicate start of high section
; Turn off LED
; Load high byte of timer with R7 (our pulse width control value)
; Clear the Timer 0 interrupt flag
; Return from Interrupt to where the program came from
; Make F0=0 to indicate start of low section
; Turn on LED
; Move FFH (255) to A
; Clear C (the carry bit) so it does not affect the subtraction
; Subtract R7 from A. A = 255 - R7.
; so the value loaded into TH0 + R7 = 255
; Clear the Timer 0 interrupt flag
; 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
LOOP:
•
AJMP LOOP
•
; set pulse width control to dim
;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.
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
El
El Timer
Timer 22
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
MICROCONTROLADORES
Timer/Contadores
Timer/Contadores
Carlos E. Canto Quintal
TIMER 2
Microcontroladores
Microcontroladores
TIMER 2 EN MODO CAPTURA
osc
osc
_: 12
: 12
C/T2=0
TL2
TH2
TL2 TH2
(8bits)
(8bits)
(8bits)(8bits)
C/T2=1
T2
T2
TF2
TF2
control
Interrupción
Interrupción
del
del Timer2
Timer2
TR2
Detector de
transición
captura
RCAP2L
RCAP2H
RCAP2L RCAP2H
T2EX
T2EX
EXF2
EXF2
control
EXEN2
Carlos Canto Quintal
TIMER 2
Microcontroladores
Microcontroladores
TIMER 2 EN MODO AUTO-RECARGA (cuando DCEN=0)
Con la habilidad de conteo Up/Down desactivada
osc
osc
_: 12
: 12
C/T2=0
TL2
TH2
TL2 TH2
(8bits)
(8bits)
(8bits)(8bits)
C/T2=1
T2
T2
control
TR2
Recarga
RCAP2L
RCAP2H
RCAP2L RCAP2H
Detector de
transición
TF2
TF2
T2EX
T2EX
EXF2
EXF2
control
EXEN2
Carlos Canto Quintal
Interrupción
Interrupción
del
del Timer2
Timer2
TIMER 2
Microcontroladores
Microcontroladores
TIMER 2 EN MODO AUTO-RECARGA (cuando DCEN=1)
Con la habilidad de conteo Up/Down activada
Valor
Valor de
de recarga
recarga en
en
conteo
descendente
conteo descendente
0FFh
0FFh
conmuta
0FFh
0FFh
EXF2
EXF2
osc
osc
_: 12
: 12
C/T2=0
TL2
TH2
TL2 TH2
(8bits)
(8bits)
(8bits)(8bits)
C/T2=1
T2
T2
TF2
TF2
control
TR2
Valor
Valor de
de recarga
recarga en
en
conteo
conteo ascendente
ascendente
T2EX
T2EX
Interrupción
Interrupción
del
del Timer2
Timer2
RCAP2L
RCAP2L RCAP2H
RCAP2H
Dirección de conteo
1= Up
0=Down
Carlos Canto Quintal
TIMER 2
Microcontroladores
Microcontroladores
TIMER 2 EN MODO GENERADOR DE BAUDAJE
Sobre flujo delTimer 1
Nota: la frecuencia del
oscilador es dividida entre 2
no entre12
osc
osc
_: 2
:2
1
_: 2
:2
0
TL2
TH2
TL2 TH2
(8bits)
(8bits)
(8bits)(8bits)
C/T2=1
T2
T2
1
0
RCLK
control
_: 16
: 16
TR2
1
RCAP2L
RCAP2H
RCAP2L RCAP2H
Detector de
transición
T2EX
T2EX
EXF2
EXF2
control
EXEN2
Carlos Canto Quintal
SMOD
C/T2=0
Interrupción
del
Timer 2
RX Clock
0
TCLK
_: 16
: 16
TX Clock
TIMER 2
Microcontroladores
Microcontroladores
TIMER 2 EN MODO RELOJ DE SALIDA
Nota: la frecuencia del
oscilador es dividida entre 2
no entre12
osc
osc
TL2
TH2
TL2 TH2
(8bits)
(8bits)
(8bits)(8bits)
_: 2
:2
TR2
Salida
de reloj
RCAP2L
RCAP2H
RCAP2L RCAP2H
Bit C/T2
P1.0
_: 2
:2
T2
T2
P1.1
T2EX
T2EX
EXF2
EXF2
Interrupción
del
Timer 2
T2OE (T2MOD.1)
Detector de
transición EXEN2
Carlos Canto Quintal
TIMER 2
Microcontroladores
Microcontroladores
(MSB)
TF2
TF2
T2CON: REGISTRO DE CONTROL DELTIMER/CONTADOR2
EXF2
EXF2
RCLK
RCLK
TCLK
TCLK EXEN2
EXEN2
TR2
TR2
(LSB)
C/T2
C/T2 CP/RL2
CP/RL2
SIMBOLO
POSICIÓN
TF2
T2CON.7
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
EXF2
T2CON.6
Bandera externa del Timer2, se hace 1 cuando ya sea una captura o una recarga sea producida desde el exterior, al ocurrir una
transición negativa en T2EX y además que EXEN2=1. Siempre la interrupción 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 interrupción en modo
contador Up//Down (DCEN=!)
RCLK
T2CON.5
Bandera del reloj de recepción. 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
TCLK
T2CON.4
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.
EXEN2
T2CON.3
Bandera de habilitación externa, Cuanda está habilitada permite que ocuura una captura o una recarga como resultado de una
transición 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
TR2
T2CON.2
Control de Arranque /Paro del Timer2. Un 1 lógico arranca el Timer2
C/T2
T2CON.1
Selección de Timer o contador (Timer2)
0=Timer interno (OSC/12)
1=Contador de eventos externos (disparado en la transición de bajada)
CP/RL2
T2CON.0
Bandera de Captura/Recarga. Cuando está en 1, ocurrirá una captura con una transición negativa en T2EX si EXEN2=1. Cuando está
en cero, ocurirá una auto recarga ya sea cuando el Timer 2 rebase o una transición 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.
Carlos Canto Quintal
NOMBRE Y SIGNIFICADO
Microcontroladores
Microcontroladores
TIMER 2
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
Carlos Canto Quintal
Descargar