Logo Studenta

Módulo Contador-Temporizador

¡Este material tiene más páginas!

Vista previa del material en texto

INFORMÁTICA 2 
Módulo 
Contador/Temporizador 
Ing. Gustavo Fresno. Profesor 
Ing. Jorge Manganiello. Ayudante 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 2 
¿Para qué se utiliza? 
 
 El módulo se puede utilizar para lo siguiente: 
 
– Contador de Eventos externos (medición de pulsos para calculo 
de RPM) 
 
– Tiempos 
– Temporización de eventos periódicos 
– Base de tiempo para mediciones 
 
– Generación de Baud-Rate (se utiliza en comunicaciones series) 
 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 3 
Características del módulo en el 8051 
 
 
El microcontrolador 8051 posee dos registros contadores/temporizadores 
denominados timer 0 y timer 1, mientras que el 8052 incorpora un tercer 
contador/temporizador, timer 2. 
 
Los tres timers pueden ser configurados para que operen como 
temporizadores o como contadores. 
 
• Cuando operan como temporizadores (timers), el contenido de los registros 
asociados a los mismos se incrementa cada ciclo de máquina. 
 
• Cuando funcionan como contadores (counters), el contenido de sus registros 
asociados es incrementado con cada flanco descendente recibido a través de 
ciertos pines, que actúan como entradas para los pulsos a contar. Estos pines 
son T0 (P3.4) para el timer 0, T1 (P3.5) para el timer 1 y T2 (P1.0) para el 
timer 2 (este último sólo en el 8052) . 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 4 
Conceptos 
 
 
 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 5 
Conceptos 
 
 
 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 6 
Multiplicación / Division en frecuencia 
 
 
 
Módulo Contador/Temporizador 
 
f = 1Hz f = 2Hz 
Multiplico 
Divido 
TIEMPO 
Divisor / 
Multiplicador 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 7 
Multiplicación / Division en frecuencia 
 
 
 
Módulo Contador/Temporizador 
 
f = 1Hz 
TIEMPO 
Transformacion 
al dominio de la 
frecuencia 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 8 
Multiplicación / Division en frecuencia 
 
 
 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 9 
¿ Qué registros se utilizan? 
 
- TMOD Timer Mode 
- TCON Timer Control 
- TH0/TL0 Timer 0 16 bit register (byte addressable only) 
- TH1/TL1 Timer 1 16 bit register (byte addressable only) 
 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 10 
 TCON (Timer Control) Dirección: 0x88 
 Bit-Addreassable 
 
El registro TCON se utiliza para la configuración y modificación del modo de operación. 
Leyendo este registro se puede conocer el estado del mismo (si esta corriendo, detenido o si 
ya termino). 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 11 
 TMOD (Timer Mode) Dirección: 0x89 
 Bit-Addreassable 
 
El registro TMOD se utiliza para configurar el modo de operación de cada temporizador. 
0
 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 12 
Modos de Funcionamiento. Modo 0 (13 bits) 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 13 
Modos de Funcionamiento. Modo 1 (16 bits) 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 14 
Modos de Funcionamiento. Modo 2 (8 bits / 
Autorecarga) 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 15 
Modos de Funcionamiento. Modo 3 (8 bits / 
Split Time) 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 16 
¿Cómo se calcula la cuenta? 
 
Ejemplo 
 Calcular la cuenta a cargar de un temporizador configurado en modo 1 (16bits) para 
 contar 20ms (50Hz), utilizando un cristal de 11.0592Mhz. 
 
 Frecuencia_requerida [s] = Cuenta (?) x F_Base_de_Tiempo_uC [s] 
 
 Cuenta = Frecuencia_requerida [s] / F_Base_de_Tiempo_uC [s] 
 
 F_Base_de_Tiempo_uC [s] = 11.0592Mhz / 12 
 
 Cuenta = (11.0592 Mhz / 12) / 50 
 
 Cuenta = 18432 
 
Cuidado!! El contador 
interno del Timer es 
ascendente 
= 65536 – 18432 
= 47104 
= 0xB800 
Entonces el Timer 0 es cargado con: 
 TH0 = 0xB8; 
 TL0 = 0x00; 
0xFFFF 
0x0000 
18432 
? 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 17 
¿Cómo se configura? 
Módulo Contador/Temporizador 
 
Informática II - UTN-FRBA 2010 - Ing. Fresno Gustavo 18 
Función de Interrupción 
¿Por qué? 
Es para corregir el tiempo que tarda desde que se desborda el 
timer hasta atenderse la interrupción 
Módulo Contador/Temporizador