本文主要是介绍关于应广11Bit_PWM的一点理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
应广单片机有两种PWM控制器,一种是8bit,另外一种是11bit。8bit的pwm输出,用起来很简单的,也很好理解。就是 CLK/2^8,得到pwm的输出频率,然后配置 占空比寄存器 tm3b=(0-255)就可以输出对应的占空比。
但是11bit的pwm就没有那么好理解了
先看手册上的公式
为什么10bit的分频却可以实现11bitpwm呢?
我的理解是:这个PWM可以认为是10bit半的,不是真的11bit的。只是10bit占空比的最低位可以通过DB0来控制是输出完整的(1bit)宽度的时间还是(半bit)宽度的宽度的时间,这样和10bit数据组合一下,就变成11bit分辨率。
这样就可以解释为啥11bitPWM,分频却是10bit了。
就是和公式中 (DB10_1+DB0*0.5+0.5)这个对应,只要不看这个DB0*0.5+0.5,这就是一个10bitPWM。和8bitPWM原理没有任何区别。
这样做法有两种好处
1,可以提高pwm输出的频率,在主频一定的条件下,分频越小,输出频率越高
2.10bitPWM实现是11bit分辨率,有了11bitPWM,调节起来就会更加细腻。
3.。。。。。。。。。。。。
晶圆/硬件是是怎么实现我就不得而知了,我只是大概分析一下原理,让大家好理解一点。这个只是我的个人对这个pwm理解。
这篇关于关于应广11Bit_PWM的一点理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!