51 单片机流水灯程序 程序一(用C 语言编的最基础的程序) #include #include sbit D0=P1^0;//位定义,把P1 口的第一个管脚定义为D0 sbit D1=P1^1;// 位定义,把P1 口的第二个管脚定义为D1 sbit D2=P1^2;// 位定义,把P1 口的第3 个管脚定义为D2 sbit D3=P1^3;// 位定义,把P1 口的第4 个管脚定义为D3 sbit D4=P1^4;// 位定义,把P1 口的第5 个管脚定义为D4 sbit D5=P1^5;// 位定义,把P1 口的第6 个管脚定义为D5 sbit D6=P1^6;// 位定义,把P1 口的第7 个管脚定义为D6 sbit D7=P1^7;// 位定义,把P1 口的第8 个管脚定义为D7 void main() { while(1)//建立大的死循环。 { unsigned int i,j; D0=0,D7=1;//亮灯1,关灯8 for(i=50;i>0;i--) for(j=200;j>0;j--);//两个FOR 组成的延时 D0=1,D1=0;// 亮灯2,关灯1 for(i=50;i>0;i--) for(j=200;j>0;j--); D1=1,D2=0; for(i=50;i>0;i--) for(j=200;j>0;j--); D2=1,D3=0; for(i=50;i>0;i--) for(j=200;j>0;j--); D3=1,D4=0; for(i=50;i>0;i--) for(j=200;j>0;j--); D4=1,D5=0; for(i=50;i>0;i--) for(j=200;j>0;j--); D5=1,D6=0; for(i=50;i>0;i--) for(j=200;j>0;j--); D6=1,D7=0; for(i=50;i>0;i--) for(j=200;j>0;j--); } } 程序二(用swich case 语句编的) #include//51 单片机的头文件。 sbit d1=P1^0;// sbit d2=P1^1; sbit d3=P1^2; sbit d4=P1^3; sbit d5=P1^4; sbit d6=P1^5; sbit d7=P1^6; sbit d8=P1^7; void main() { unsigned int i=1,a,b; while(1)//大循环 { for(i=1;i<15;i++) { for(a=0;a<80;a++)//延时。 for(b=0;b<200;b++); switch(i) { case 1: d2=1,d1=0,d8=1; break; case 2: d1=1,d2=0; break; case 3: d2=1,d3=0; break; case 4: d3=1,d4=0; break; case 5: d4=1,d5=0; break; case 6: d5=1,d6=0; break; case 7: d6=1,d7=0; break; case 8: d7=1,d8=0; break; case 9: d8=1,d7=0; break; case 10: d7=1,d6=0; break; case 11: d6=1,d5=0; break; case 12: d5=1,d4=0; break; case 13: d4=1,d3=0; break; case 14: d3=1,d2=0; break; } }; } } 程序三(最简洁的): #include #include//_crol_和 _cror_的头文件。 void delay(unsigned...