本帖最后由 742624689 于 2019-6-1 08:52 编辑
一般用数码管或者led来做一些比较酷的动画效果,但是调led亮度方面却很难解决,毕竟控制了4组led灯,每组8个;但凡有一组点亮的时间变久,整排数码管都有可能显示不均匀、闪烁、甚至灭屏。解决方案:
让4组led灯保持同一个周期和占空比就是解决问题的关键。
单片机定时器中断用作周期和调整占空比:
四位led灯 0.1占空比,数码管最暗时 效果如图: (实际上数码管显示很清晰的,但是由于手机相机问题,图片没有实际效果那么明显)
0.99占空比,数码管最最亮 效果如图:
注意事项:
1.利用定时器中断来设定周期和占空比 2.每显示完一位数码管,要等待周期结束才能显示下一位。 3.等待周期结束利用标志位,而不是延时 4.注意,定时器初值并不能太接近65536,否则数码管会错开一次周期来显示,造成4位数码管不停闪烁。根据程序而定,最好控制在100us以上。
图片显示看起来效果并没有那么好,具体大家可以下载附件程序(含电路图)亲自实践看效果。
PWM可以用来调整LED的亮度,如果用上光敏电阻,让led灯跟随光线强度变化,看起来会非常科幻。
欢迎大家一同交流学习。
电路原理图如下:
全部资料51hei下载地址:
PWM数码管和LED调光亮度.zip
(10.32 MB, 下载次数: 121)
|