一、原理
我们需要两个计数器cnt1和cnt2:
cnt1随系统时钟同步计数(系统时钟上升沿时cnt1加1),范围为0~ T;cnt2随cnt1的周期同步计数(每当cnt1等于T时,cnt2加1)范围也是0~ T;
这样每次cnt1在0 ~ T的计数时,cnt2为一个固定值,相邻cnt1计数周期对应的cnt2的值逐渐增大,每次将cnt1和cnt2进行大小比较,不同比较结果下设置pwm信号为高电平或者低电平即可。
我们将cnt1计数0~T的时间作为脉冲周期,cnt2的值作为脉冲宽度,则占空比 = cnt2/T,占空比从0%—100%(或者100%—0%)的时间 =cnt2*cnt1 = T^2 (单位是clk周期)。
