PWM是脉冲宽度调制。它的参数就是有频率和占空比,当然还有峰值电压。
然而单片机的IO口,一般都具有高低电平输出的功能。然而要控制输出一个PWM信号,输出变化的高低电平就可以。但是通过程序只能控制频率和占空比。脉冲的幅度单片机是控制不了的。只能通过外围电路。如图所示。单片机一般供电3.3V或5V如果要控制一个12V电压驱动一个N沟道MOS就需要外围电路了有用芯片驱动的,也有直接用MOS驱动的。
要控制输出稳定的频率和占空比PWM信号有三种方法。
一、通过延时指令nop。也就是空指令,如图所示。
二、用单片机定时器,如图所示TIM1定时器中断函数。在中段中处理IO口输出。
三、有部分单片机的定时器有PWM输出功能。如图所示STM8S中间对齐输出脉冲模式设置和PWM初始化函数设置。