Cómo utilizar el microcontrolador 51 para generar ondas PWM
El método de utilizar dos temporizadores es utilizar el temporizador T0 para controlar la frecuencia y el temporizador T1 para controlar el ciclo de trabajo. La idea general de programación es la siguiente: la interrupción del temporizador T0 hace que un puerto I0 genere un nivel alto, y el temporizador T1 se inicia durante la interrupción del temporizador T0, y este T1 hace que el puerto IO genere un nivel bajo, cambiando así la sincronización. La frecuencia se puede cambiar cambiando el valor inicial del temporizador T0, y el ciclo de trabajo se puede cambiar cambiando el valor inicial del temporizador T1.
Cuando utilice un temporizador (como el temporizador T0), primero debe determinar el período de PWM T y el ciclo de trabajo D. Después de determinarlos, puede usar el temporizador para generar una base de tiempo t, como El tiempo en el que el temporizador se desborda n veces es el tiempo de alto nivel de PWM, entonces D*T=n*t De manera similar, se puede encontrar cuántas bases de tiempo n' se necesitan para el tiempo de bajo nivel de PWM.
Debido a que aquí estamos generando PWM con un período de 1 ms (1000 HZ), la base de tiempo de la interrupción se puede configurar en 0,01 ms, y luego 100 interrupciones serán 1 ms. En la subrutina de interrupción, puede configurar una variable como el tiempo. En la subrutina de interrupción, hay tres declaraciones importantes: 1. Cuando el tiempo> = 100, el tiempo se borra (esta declaración garantiza que la frecuencia es 1000 HZ), 2. Cuando time Cuando >n (n debe variar entre 0 y 100), deje que el puerto de E/S correspondiente del chip único emita un nivel alto. Cuando time < n, deje que el puerto de E/S correspondiente del chip único emita un nivel bajo. En este momento, el ciclo de trabajo es %n.
Materiales de referencia: /link?url=10ZbI3DZeY5Ij6eLEOpWhZ1rcFqZXote9xKqxZhyudfWgkfZhRmfe-Q74XVCQtStw6zJYtmlveX_O4_p3CkaHS-KIbWcgOIwQVMGTOGUdui