单片机控制3个LED灯渐亮渐灭
要求这3个灯在同一时刻有一个灯最亮,有一个灯半亮,有一个灯不亮。现在我有控制一个灯渐亮渐灭的代码,怎么改成控制3个灯的?请老鸟指教一下
void slow()
{
LED0=1;
Delay(60000); //特意加延时,可以看到熄灭的过程
for(PWM1=1;PWM1
{
LED0=0; //点亮LED
Delay(PWM1);//延时长度,600次循环中从1加至599
LED0=1; //熄灭LED
Delay(CYCLE-PWM1);//延时长度,600次循环中从599减至1
}
LED0=0;
for(PWM1=CYCLE-1;PWM1>0;PWM1--){ //与逐渐变亮相反的过程
LED0=0;
Delay(PWM1);
LED0=1;
Delay(CYCLE-PWM1);
}
}
分享到:
更多
------解决方案--------------------
Delay 函数占据了 cpu, 此原理不行,另想别法,比如用 pwm 功能, dac 功能。。。或硬件
------解决方案--------------------
如果非要在你这个程序上改
reentrant void slow(uchar cs)
{
switch(cs)