最近做一个PWM驱动LED呼吸灯电路,使用STC12C5604AD内置的PWM输出,发现在低占空比时,LED的亮度变化非常快,可以说肉眼能非常容易分辨的亮度变化区域在占空比5%~30%之间就完成了,剩下变化阶段亮度变化都不怎么明显。因此最终效果非常不好!
请问这是由于占空比分辨率不够高引起的么?如果改用软件PWM提高分辨率到1000级会不会好一些?我的打算是低占空比段(0~300)放慢速度,其它部分加快以获得比较线性的亮度变化输出
请高人指点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
255的话应该会有个小脉冲, 虽然在led上无关紧要, 不过还是应该注意的问题呢
-----------------------------------------------------------------------
你这个差值不是关键问题
你的计算方法比较简单,但是级数有所减少(255范围的PWM实际只能做出9段亮度),实际测试亮度变化更激进!
不过无论是你的算法还是iamyanh的算法,STC内置的硬件PWM输出是完全不够用的,为了得到比较理想的效果,必须使用更多bit的PWM。考虑硬件电路已经定型,决定做软件PWM输出,具体参数明天计算!
一周热门 更多>