流水灯 附加

来源:互联网 发布:opcserver软件 编辑:程序博客网 时间:2024/04/29 06:10

这个是从水剑那看到的程序

#include<reg52.h>

#define LED P1
//sbit LED0 = P1^0;
typedef unsigned int uint;
typedef unsigned char uchar;
void Delay_Nms(uint N);

void main()
{
   LED = 0xFF;       //熄灭所有LED
   while(1)
  {
       LED >>= 1;     //从高(7)到低(0)依次点亮
         Delay_Nms(1000);//延时约1秒,可减少延时数加快灯流动速度
     if(LED == 0x00)
     {
            LED = 0xFF;               //重新开始
        Delay_Nms(1000);  //需要加延时,否则看不到全部熄灭个过程
     }
  }
}

void Delay_Nms(uint N)
{
   uchar i;
   uint j;
   for(j = N;j > 0; j--)
   {
      for(i = 0;i<120;i++);
   }
}

实现功能稍微有点不同,这个程序是一个接着一个亮的,到最后全部都亮然后再熄灭,重头来过,我写的那个是只有一个是亮着的,差点忘了还有现成的左移和右移功能,这里补上,:-)

上面那个是右移,左移就是把">>"改成"<<",OK

原创粉丝点击