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