单片机 PWM频率和占空比设置办法

PWM是单片机应用最基础的一个外设,使用范围非常广。简单点的像我们LED亮度调节,难度大点的像升压电路,降压电路,电机控制,本文分享下单片机PWM的频率和占空比计算办法和实现思路。

首先目标设定:我们定义实现一个频率为126KHZ,占空比为50%的方波

第二,我们确定下思路:首先需要使用定时器,我们需要在一段时间内将电平拉高,过一段时间把电平拉低,需要使用PWM和定时器的相关函数

第三,参数配置,PWM频率涉及到单片机的时钟,单片机的时钟会有分频器,也就是实际到达PWM的频率为 单片机的主频除以分频器的频率 ;PWM函数配置的时候还有一个装载值,装载值定时器我们给的值,然后每进一次中断这个值减少1;可以理解这个装载值意思就是这个频率我需要分成多少份

例如我们把分频器设置为1,即不分频,单片机的频率为16MHZ,那么到达PWM的频率就为16MHZ/1=16MHZ,那再除以装载值就是我们最终的PWM频率,我们这里需要设置成126KHZ,那么装载值ARR为16M/126K=126,也就是PWM的频率为主频除以分频系数除以装载值

装载值设定好了之后,我们就可以设定占空比了,占空比可以理解为一个周期内,高电平与总周期之比,因为我们装载值设定的是126,那么这个时候我们理解126就是满的,如果需要设置成50,我们就需要X/126=50%,那么X就等于63,占空比也就是捕获比较寄存器的值除以装载值;可以确定我们捕获比较寄存器CCR设置的值为63,我们可以通过改变这个值来调节输出的占空比

举报
评论 0