#include <reg52.h>
void delay(void) //误差 0us
{
unsigned char a,b,c;
for(c=23;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
}
main()
{
unsigned char i,j,disp,disp1,disp2;
P1=0xff;
while(1)
{
disp1=0x01; //变量初值
disp2=0x04; //
disp=disp1+disp2; //
P1=~disp; //取反输出
delay();
for(i=0;i<5;i++) //跑P1口
{
disp1=disp1<<1; //
disp2=disp2<<1;
disp=disp1+disp2; //两个变量移位相加
P1=~disp; //
delay(); //
}
for(j=4;j>0;j--) //跑P1口
{
disp1=disp1>>1; //
disp2=disp2>>1;
disp=disp1+disp2; //两个变量移位相加
P1=~disp; //
delay(); //
}
}
}