看过一些用单片机做的呼吸灯,很多都是利于延时做的。如果用延时做,会有大量的延时处理。这是非常落后的程序,再想扩展别的功能就可能得不到正确的响应。我想到一个方法来做,并且已实现同时多路LED 的呼吸灯;
原理图见附件。
利用一个定时器产生20US的中断。每500个中断时间就是10ms,利用500个中断控制这10ms的高低电平(占空比),如250个中断高,250个中断低,就是50%的占空比。10MS的周期刚好是100HZ,LED 100HZ刷新足够了。利用另一个定时器来控制占空比的时间,这样就产生的呼吸效果。而且可以同时控制多路。
单片机源码:
电路原理图如下:
下载:
直径105MM的三色呼吸灯.pdf
(104.15 KB, 下载次数: 16)
|