间隔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;
}
}
我要赚赏金
