Problema de histéresis del reloj electrónico fabricado por microcontrolador
Mi método de programación:
1. Establecer las variables H, M, S para representar horas, minutos y segundos, y la bandera FLAG para representar actualizaciones.
2. Ejecute el contenido en la interrupción del temporizador: si el temporizador expira durante 1 segundo, complete las siguientes operaciones:
S
if(S==60; ){ S=0;M;}
if(M==60){M=0;H;}
if(H==24){H=0; }
FLAG=1;
3. Utilice el método de consulta en el programa principal para comprobar si la hora se ha actualizado:
if(FLAG) p>
{
FLAG=0;
mostrar (H, M, S
}
En este); De esta manera, cuando FLAG es 0, representa el tiempo. Si no hay actualización, el microcontrolador puede hacer otras cosas. Solo cuando FLAG = 1 puede controlar el contenido actualizado de la pantalla LCD. Este tipo de rendimiento en tiempo real sigue siendo relativamente bueno.
Además, controla el temporizador con mayor precisión.