Programación en lenguaje C, cómo usar el microcontrolador 51 para escribir una subfunción con un retraso de 1 ms
Hay cuatro modos de trabajo del temporizador del microcontrolador 51, tres de los cuales requieren sobrecargar el valor inicial en la función de interrupción, y el C51 estipula claramente que no se pueden pasar parámetros ni se pueden devolver parámetros en la función de interrupción, por lo que solo puede use el valor inicial sin sobrecargar. El valor funciona en el modo 2. El autor proporciona el modo de trabajo 2 de la función de inicialización:
void init(unsigned int x)
{
TMOD=0x02 ;
TH0=x;
TL0=x;
EA=1;
ET0 =1;
TR0=1;
}
De esta manera, x se pasará como valor inicial del temporizador. Cuando TL0 cuenta, TH0. asignará automáticamente el valor a TL0 y TH0 lo mantendrá Sin cambios, por supuesto, puede definir su propia función de teclado u otras funciones para determinar el valor de x.
Espero que mi respuesta te pueda ayudar.