La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TIMERS Modelo Básico : 2 Timers/Contadores de 16 bits (T0 y T1) Derivados: 3 Timers/Contadores de 16 bits (T0, T1 y T2) Timers: Cuentan ciclos de Máquina.

Presentaciones similares


Presentación del tema: "TIMERS Modelo Básico : 2 Timers/Contadores de 16 bits (T0 y T1) Derivados: 3 Timers/Contadores de 16 bits (T0, T1 y T2) Timers: Cuentan ciclos de Máquina."— Transcripción de la presentación:

1 TIMERS Modelo Básico : 2 Timers/Contadores de 16 bits (T0 y T1) Derivados: 3 Timers/Contadores de 16 bits (T0, T1 y T2) Timers: Cuentan ciclos de Máquina (1 cuenta cada 12 clocks) Contadores: Cuentan Flancos descendientes de entradas externas P3.4 External Input T0 P3.5 External Input T1 Para que cuente tiene que estar 1 ciclo de máquina en cada estado (fck / 24 ¡optimista!) Registros: Cada uno posee: dos registros de 8 bits R/W TH0, TL0 y TH1, TL1

2 Timers Registros de Control: TMOD (0x89) TCON (0x88) C/T:1 Contador0 Timer TF1, TF0:Flags de Overflow Cuentan hacia arriba (up), Overflow 0xFFFF 0x0000 Si está habilitada dan IRQ M1, M0:Modos de funcionamiento C/TM1M0 Gate C/TM1M0 Timer 1Timer 0 Gate TR1TF0TR0 IE1 IT1IE0IT0TF1

3 Timers

4 M1=0, M0=0: Modo 0 Contador o Timer de 13 bits (compatible 8048) [No Usar] M1=0, M0=1: Modo 1 Contador o Timer de 16 bits M1=1, M0=0: Modo 2 Contador o Timer de 8 bits (Tli) con auto recarga de Thi sobre Tli en overflow M1=1, M0=1: Modo 3 T0 en Modo 3 : 2 Contadores o Timers de 8 bits (TL0 y TH0) TL0 con los bits de control de TMOD para T0 (puede dar IRQ) TH0 con los bits de control de TMOD para T1 (puede dar IRQ) Con T0 en Modo 3 se pierde control de T1 y este no dá IRQ T1 en Modo 3 : detenido, conservando su cuenta T0 en Modo 3 y T1 en modo 1 : T0 2 Contadores o Timers de 8 bits (TL0 y TH0) T1 Generador de Baud Rate (no da IRQ)

5 Tiempos Largos y Precisos Por ejemplo: quiero hacer algo cada tres minutos: ;clock = 12 Mhz dseg at 0x20 mseg:ds 1 seg:ds 1 min:ds 1 mseg50 equ 0x10000-50000 ; 50 mseg Tmseg equ 20 ; 1 seg Tseg equ 60 ; 1 minuto Tmin equ 3 ; cant.de minutos cseg at 0000 movmseg,#Tmseg movseg,#Tseg movmin,#Tmin movTH1,#HIGH(mseg50); cargo el timer 1 movTL1,#LOW(mseg50) movTMOD,#00010000B ; Modo 1 movIE,#10001000B ; Habilito IRQ de T1 setbTR1 ; arranco el timer ;....................... IRQT1: push Acc push psw clr TR1 ; paro el timer mov A,#LOW mseg50; 2 cm. clr C; 1 cm subb A,TL1; 2 cm subb A,# Ciclos; 2 cm mov TL1,A; 2 cm mov A,#HIGH mseg50; 2 cm. subb A,#0; 2 cm mov TH1,A; 2 cm setb TR1; 2 cm ; Ciclos = 17 Ciclos equ17 ;Comienza la rutina…….

6 Tiempos Largos y Precisos ;Comienza la Rutina: decmseg MovA, mseg Jnzfin Movmseg, #Tmseg Decseg MovA,seg Jnzfin Movseg, #Tseg Decmin MovA, min Jnzfin movmin, #Tmin LcallHagaLoQueTengaQueHacer Fin: pop PSW popAcc reti

7 Timer 2 Patas: P1.0T2 entrada de pulsos para contador P1.1T2EX entrada de control up/down Registros TH2 y TL2 PROPIOS RCAP2H y RCAR2L CAPTURA T2CON, T2MOD CONTROL DEL TIMER T2CON T2MOD EXF2RCLKTCLK EXEN2 TR2C/T2CP/RL2TF2 DCENT2OE

8 Timer 2 C/T2Contador o Timer TF2 Flag de Overflow EXF2 Flag Overflow MODOS RCLKTCLKCP/RL2TR2MODO 000116 BITS AUTORELOAD 001116 BITS CAPTURE 101101 011011 X1BAUD RATE GENERATOR XX00OFF

9 Timer 2 Modos de Funcionamiento Baud Rate Generator Para Tx, o Rx, o ambas, se selecciona con RCLK y TCLK, la no seleccionada puede tener el Baud Rate dado por T1 en Modo 1 o 3 T2 se incrementa a Fclk / 2 En este modo no genera interrupción Se recarga con el contenido de RCAP2

10 Timer 2 AUTORELOAD  Se activa con CP/RL2 = 0  En Overflow se recarga con RCAP2H / L  Submodos dependen de DCEN (T2MOD), EXEN2 (T2CON) y T2EX (P1.1) DCENEXENT2EXCuentaRecarga enRecarga conFlag 00-UPOverflowRCAP2H / LTF2 01-UPOverflowRCAP2H / LTF2 01  T2EX UP  T2EXRCAP2H / LEXF2 1-0DOWNTH/L2 = RCAP2H/L 0XFFFFTF2 1-1UPOverflowRCAP2H / LTF2

11 Timer 2 CAPTURA  EXEN = 0 TIMER NORMAL  En OV TF2 = 1 (debe clerearse por soft y puede generar IRQ)  EXEN = 1 TIMER NORMAL CON CAPTURA  En OV TF2 = 1 (debe clerearse por soft y puede generar IRQ)  Con  T2EX (P1.1) se copia TH/L2 a RCAP2H/L, se setea EXF2 (puede generar IRQ) INTERRUPCIONES Se habilitan con IE.5 (ET2) La prioridad es la menor de todas Se puede cambiar el nivel de Prioridad con IP.5 (PT2) Vector en 0x002B (tanto para TF2 como para EXF2)

12 Timer 2 CLOCK OUT El timer 2 puede ser configurado como Clock para dispositivos externos. Para configurarlo:  C/T2 (T2CON.1) = 0  T2OE (T2MOD.2) = 1  TR2 (T2CON.2) = 1 arranca, = 0 para  Clock sale por P1.0  No genera IRQ  Se puede usar como Baud Rate Generator y Clock Out simultaneamente (a la misma frecuencia).

13 Métodos de Recuperación de errores Watch Dog Mov DPTR, #0x80FE Se codifica como: 100090 100180sjmp 1002FE-2 1003…..

14 Métodos de Recuperación de errores Watch Dog Interno (…52 y sucesivos) WDT Contador de 14 bits WDTRST SFR de Control Luego del Reset el WDT queda deshabilitado Para habilitarlo: movWDTRST, # 0x1E movWDTRST, # 0xE1 No se puede deshabilitar Para resetearlo: movWDTRST, # 0x1E movWDTRST, # 0xE1 Cuenta ciclos de máquina. Máximo tiempo 16368  seg

15 Métodos de Reducción de Energía IDLE  En activo el  C consume 25 mA (AT89S52)  En IDLE consume 6,5 mA.  Los timers, Interrupciones, Serial Port, etc están activos, la CPU no recibe clock.  Se ingresa pormedio de PCON, poniendo IDL = 1  Se sale con cualquier IRQ habilitada o con Reset La instrucción que se ejecuta es la siguiente a: movPCON, # 1  GF1 y GF0 son bits de Usuario --- GF1 GF0PDIDL SMOD

16 Métodos de Reducción de Energía POWER DOWN  El consumo en este estado es de 50  A  Se entra poniendo: movPCON, # 2  Solo se sale con Reset Los registros se inicializan La RAM interna se preserva Los ports conservan su valor, ALE y PSEN wuedan en 0  En modelos más modernos, se sale con IRQ esterna habilitada.


Descargar ppt "TIMERS Modelo Básico : 2 Timers/Contadores de 16 bits (T0 y T1) Derivados: 3 Timers/Contadores de 16 bits (T0, T1 y T2) Timers: Cuentan ciclos de Máquina."

Presentaciones similares


Anuncios Google