间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。
#include<reg52.h> #include<intrins.h> #define uint unsigned int void delay() //延时程序 { uint x,y; for(x=300;x>0;x--) for(y=300;y>0;y--); } void main() { uint a,b; a=0xfe; //点亮最低位 b=a; a=_crol_(a,1); while(a!=b) //当A不等于B时,跳出程序。 点亮一盏灯,开始流水 { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0xfc; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0xf8; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0xf0; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0xe0; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0xc0; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0x80; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } a=0x00; b=a; a=_crol_(a,1); while(a!=b) { P1=a; delay(); a=_crol_(a,1); P1=a; } }