您现在的位置: 爱51代码网 >> 范文 >> 文章正文
单片机控制3个LED灯渐亮渐灭代码

3个灯在同一时刻有一个灯最亮,有一个灯半亮,有一个灯不亮。现在我有控制一个灯渐亮渐灭的代码,怎么改成控制3个灯的?请老鸟指教一下
void slow()
{
 LED0=1;
 Delay(60000);        //特意加延时,可以看到熄灭的过程
 for(PWM1=1;PWM1<CYCLE;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)   {     case 0:LED0=1;break;     case 1:LED1=1;break;     case 2:LED2=1;break;     default:break;    }     Delay(60000); //特意加延时,可以看到熄灭的过程   for(PWM1=1;PWM1<CYCLE;PWM1++)   {     switch(cs)   {     case 0:LED0=0;break;     case 1:LED1=0;break;     case 2:LED2=0;break;     default:break;    }     Delay(PWM1);//延时长度,600次循环中从1加至599   switch(cs)   {     case 0:LED0=1;break;     case 1:LED1=1;break;     case 2:LED2=1;break;     default:break;    }    Delay(CYCLE-PWM1);//延时长度,600次循环中从599减至1    }   switch(cs)   {     case 0:LED0=1;break;     case 1:LED1=1;break;     case 2:LED2=1;break;     default:break;    }   for(PWM1=CYCLE-1;PWM1>0;PWM1--){ //与逐渐变亮相反的过程     switch(cs)   {     case 0:LED0=0;break;     case 1:LED1=0;break;     case 2:LED2=0;break;     default:break;    }    Delay(PWM1);   switch(cs)   {     case 0:LED0=1;break;     case 1:LED1=1;break;     case 2:LED2=1;break;     default:break;    }    Delay(CYCLE-PWM1);          }         }

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    TClientDataSet如何避免多人更新
    如何用delphi代码修改XML节点
    vc++ pvoid *用delphi怎么表达
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    WINCE5.0里移植网卡驱动到6.
    YUV422,显示要转成RGB565
    STC单片机做RS232多机通信运
    modbus模拟器寄存器读取错误
    BUILD: corrupt database (D
    WinCE 7自带IE浏览器网页显示
    Directsound如何控制声卡左右
    如何将opencv2.0完整移植到W
    编译./arm_qt4.5_build不成功
    mini2440开发板发送at指令没
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |