Cómo configurar la frecuencia pwm del microcontrolador STC8H
Durante el proceso de uso, descubrí que algunas partes del manual de instrucciones de este chip no son muy claras en comparación con el manual de instrucciones 32, es necesario comprender algunos principios en los que me centraré. el cronómetro avanzado.
El microcontrolador de la serie STC8H integra un temporizador PWM avanzado de 8 canales y 16 bits, que se divide en dos grupos de PWM con periodos diferentes, denominados PWMA y PWMB, que se pueden configurar de forma independiente. El primer conjunto de PWM/PWMA se puede configurar como 4 PWM de control complementario/simétrico/de tiempo muerto o capturar señales externas, mientras que el segundo conjunto de PWM/PWMB se puede configurar como 4 salidas PWM o capturar señales externas.
pwmA se puede configurar como modo de comparación de salida, captura de entrada y pwm. Tiene modos de alineación de borde y alineación media. Puede accionar directamente algunos motores pequeños. Al accionar algunos motores pequeños, se debe conectar el puerto io correspondiente. Empuje la salida, de lo contrario no se activará. No se escribirán los principios específicos, los registros principales y la configuración del modo principal.
Seleccione el contador de reloj (interno, externo o preescalador (PSCR)), yo usé interno.
El preescalador se configura según el rango de frecuencia a emitir
2. Escriba los datos correspondientes en los registros PWMA_ARR (establecer frecuencia) y PWMA_CCRi (establecer ciclo de trabajo). Frecuencia = reloj/(PSCR+1)/(ARR+1)
3. Si desea generar una solicitud de interrupción, configure el bit CCiIE en el bit de estado SR1 de juicio de interrupción, PWMA y PWMB. no son el mismo número de interrupción.
4. Pasos para seleccionar el modo de salida:
1. Establezca OCiM = 011, cuando el contador coincida con CCRi, alterne la salida del pin OCiM.
2 . Establezca OCiPE = 0 para desactivar el registro de precarga
3. Establezca CCiP = 0, seleccione el nivel alto como nivel activo y comience a generar un nivel alto.