Contadores

MICROCONTROLADORES Timer/Contadores Timer/Contadores Los Los Temporizadores/Contadores Temporizadores/Contadores Carlos E. Canto Quintal MICROCONT
Author:  Eugenio Torres Gil

9 downloads 236 Views 854KB Size

Recommend Stories


CONTADORES CONTADORES ASINCRONOS ASCENDENTE
CONTADORES CONTADORES ASINCRONOS ASCENDENTE Vdd Vdd S S J ck K Q2 Q2 Vdd J ck K Q1 Q1 R S J ck K Q0 Q0 R R Las entradas asincronas S y R

Contadores
MICROCONTROLADORES Timer/Contadores Timer/Contadores Aplicaciones Aplicaciones de de los los Temporizadores/Contadores Temporizadores/Contadores Ca

Story Transcript

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

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.