首页 > 代码库 > 流水灯--“I LOVE YOU”

流水灯--“I LOVE YOU”

 1 #include <reg51.h>
 2 #include <stdio.h>
 3 //延时函数
 4 void delay(){
 5     int i=10000;
 6     //用while循环来做兜底循环
 7     while(i--);
 8 }
 9 //主函数
10 void main(void)
11  { 
12      int i;
13      char p;
14      char led[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
15      while(1)
16     {
17         for(i=0;i<4;i++)
18         {
19             P3=led[i];
20             delay();
21         }
22         //点亮第一盏灯
23         P2=0xfe;
24         //调用延时函数
25         delay();
26         //for循环来做向做位移8位
27         for(i=0;i<8;i++)
28        {
29            //备份P2值
30             p=P2;
31            //p的值向左移一位,与0x01或运算就是在结果后面补1
32             P2=p<<1;
33            //调用延时函数
34             delay();
35         }
36         for(i=0;i<8;i++)
37         {
38             P1=led[i];
39             delay();
40         }
41         P1=0xff;
42         delay();
43         P2=0xff;
44         delay();
45         P3=0xff;
46         delay();
47      }  
48  }

技术分享

 

流水灯--“I LOVE YOU”