例如你要最亮的灯先点亮,隔几十微妙后点亮第二个灯,再相隔同样时间点亮第三个灯……依次类推间隔一定时间点亮八个灯。但间隔时间不要太大,超过十几毫秒就不行了。然后再间隔相同的时间一次性把灯全关了,再间隔几十微秒回到上面的状态依次点亮灯。……一直这样循环。这样的话因为人的视力有一定的滞回效果,只要间隔时间不大,你就能看到八个灯不是闪的,而是同时亮,但亮度又不一样。这是单片机设计中,PWM控制的思路。
LED PWM调光C程序
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit LED1 = P2^0;
sbit LED = P2^1; //定义LED灯,通过LED