Proporcionar un retraso adecuado como 1 segundo O 1 minuto solo es posible utilizando temporizadores internos del microcontrolador 8051 (89c51,89c52). Los microcontroladores de la serie 8051 tienen dos temporizadores integrados de 16 bits, el temporizador 0 y el temporizador 1. Algunos también tienen un temporizador adicional, el temporizador 3. Puede usarlos para generar retrasos, velocidad en baudios a UART
para comunicación en serie O controlar un evento fuente Función para ejecutar una interrupción cada vez que se cumple una condición específica. Le recomiendo encarecidamente que haga un tutorial sencillo sobre los registros del temporizador interno de los microcontroladores 8051 (89c51,89c52) y los registros asociados a ellos.
-
Los registros asociados con los temporizadores del microcontrolador 89c51.
Si no conoce los registros internos dedicados a los temporizadores, no podrá comprender el tutorial ni el código a continuación. Generar retrasos de tiempo específico no es fácil usando temporizadores internos de microcontroladores 8051. Se requiere un amplio conocimiento para generar retrasos correctamente.
El proyecto/tutorial es simple, solo hace parpadear un LED cada 1 minuto. Calculé el retraso en 2 ms y cargué los valores calculados en los registros TH y TL. Para calcular los valores, acceda al enlace del tutorial proporcionado anteriormente. Ahora, si ejecuto un retraso de 2 ms 500 veces, generará un retraso de 1 segundo. Ejecutar este retraso de 1 segundo 60 veces me da un retraso de 1 minuto.
Generación de retardo utilizando temporizadores de microcontrolador 8051 (89c51)
Diagrama de circuito de retardo de 1 segundo del microcontrolador 8051
El diagrama del circuito es bastante simple. El LED está conectado al pin #0 del puerto 1. Configurar este pin en alto y bajo hará que el LED parpadee. La función principal es fácil de entender. La función de retraso nos genera un retraso de 1 minuto. En la parte superior está el bucle for, que se ejecuta 60 veces. Para generar un retraso de 1 minuto, el bucle se ejecuta 60 veces generando 60 segundos. Entonces, el ciclo while se ejecuta 500 veces para generar un retraso de 1 segundo.
El tutorial anterior es muy importante para comprender la función de retraso. Calculé los valores de los registros TH y TL para un retraso de 2 ms y los ejecuté durante 1 ms (500 veces). El código genera exactamente 1 ms de retraso.
El puerto 1 Pn#0 está conectado a la pata LED – (negativa). Aplique 5 voltios a la pata + (positiva) del LED. Conecte el oscilador (11.0592 MHz) con los PIN #18 y 19 (XTAL0, XTAL1) del microcontrolador 89c51. Aplique 5 voltios a los pines #40 y 31 de 8051 (89c51). Clavija de conexión a tierra n.º 20.
LED con microcontrolador 8051(89c51)
Siga el tutorial si no está familiarizado con los registros del temporizador interno del microcontrolador 8051(89c51,89c52). El tutorial le ayudará a comprender el código siguiente.
- 8051 REGISTROS TEMPORIZADORES Y SU FUNCIONAMIENTO
Hice un reloj digital con un microcontrolador 89c51 usando la técnica de retardo de tiempo anterior. Puedes ver la publicación. Cada código de diseño y diagrama de circuito es gratuito.
- Reloj Digital con Microcontrolador 89c51.
- Calculadora con microcontrolador 89c51.
- CÓMO HACER UN SEGUNDO RETRASO
Descargue archivos de proyecto, código (c y hexadecimal) compilado en c usando keil U-vision4. Si tiene alguna consulta sobre la publicación, escriba sus consultas a continuación.
Generación de retardo de un minuto con microcontrolador 89c51