8051 tiene dos temporizadores / contadores, temporizador0 y temporizador1. Ambos tienen registro de 16 bits. Como 8051 es un microcontrolador de 8 bits, los registros se dividen en dos registros de 8 bits cada uno, es decir, TL0, TH0 y TL1, TH1 (byte bajo y byte alto). Esto significa que los temporizadores tienen un rango máximo de 0 a 65536 (2 ^ 16).
El siguiente código mide el tiempo entre la pulsación y liberación de la tecla en el pin 5 del puerto 1. (El pin y el puerto seleccionados son aleatorios, no dude en usar cualquier otro puerto)
mybit = P1 ^ 5;
vacío principal (vacío)
{
unsigned int time = 0; // variable para almacenar el tiempo entre eventos
TMOD = 0x01; // Cargue el registro TMOD con los valores apropiados (modo 1)
TL0 = 0x00; // Inicializa los registros del temporizador a cero
TH0 = 0x00;
- ¿Qué cuidado se debe tener al conectar el microcontrolador con la memoria?
- ¿Cuáles son los pros y los contras de la interfaz I2C versus SPI?
- ¿Cuáles son las mejores instituciones de formación de sistemas integrados en Banglore? ¿Y por qué?
- ¿Se pueden colgar los microcontroladores durante la ejecución de un programa?
- ¿Cuál es la relación entre robótica y sistemas embebidos?
mybit = 1; // Establecer el pin P1.5 como entrada
mientras que (1)
{
if (mybit == 1) // cuando se presiona la tecla
{
TR0 = 1; // Inicia el temporizador
while (mybit == 1); // espera hasta que se suelte la llave
TR0 = 0; // Parar el temporizador
tiempo = (TH0 << 8) | TL0; // Lee el valor del temporizador
}
TH0 = 0; // Restablecer el temporizador.
TL0 = 0;
}
}
El código anterior se explica por sí mismo. Para los detalles de los SFR, consulte la hoja de datos [1] [2].
Si desea obtener más información sobre el uso de los temporizadores de 8051, visite estos enlaces [3] [4].
Temporizador / Contador es un concepto importante para usar en caso de microcontroladores. Le da una gran flexibilidad a sus proyectos.
Gracias y espero que les sea útil 🙂
Notas al pie
[1] http://ww1.microchip.com/downloa…
[2] http://www.keil.com/dd/docs/data…
[3] PROGRAMACIÓN DE TEMPORIZADORES 8051
[4] Temporizadores | Temporizador 8051 | Programación por temporizador