利用不同的占空比来调整数码管和LED的亮度,仅用1个定时器

利用不同的占空比来调整数码管和LED的亮度,仅用1个定时器即可


一般用数码管或者led来做一些比较酷的动画效果,但是调led亮度方面却很难解决,毕竟控制了4组led灯,每组8个;但凡有一组点亮的时间变久,整排数码管都有可能显示不均匀、闪烁、甚至灭屏。解决方案:
让4组led灯保持同一个周期和占空比就是解决问题的关键。

定时器中断用作周期和调整占空比:
在这里插入图片描述

四位led灯 0.1占空比,数码管最暗时 效果如图:
(实际上数码管显示很清晰的,但是由于手机相机问题,图片没有实际效果那么明显)
在这里插入图片描述

0.99占空比,数码管最最亮 效果如图:
在这里插入图片描述
注意事项:
1.利用定时器中断来设定周期和占空比

2.每显示完一位数码管,要等待周期结束才能显示下一位。

3.等待周期结束利用标志位,而不是延时

4.注意,定时器初值并不能太接近65536,否则数码管会错开一次周期来显示,造成4位数码管不停闪烁。根据程序而定,最好控制在100us以上。
图片显示看起来效果并没有那么好,具体大家可以下载附件程序(含电路图)亲自实践看效果。https://download.csdn.net/download/qq_44876894/11217533
PWM可以用来调整LED的亮度,如果用上光敏电阻,让led灯跟随光线强度变化,看起来会非常科幻。

欢迎大家一同交流学习。

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页