#include
void delay(unsigned int i);
unsigned int i,n,k,j,m,w=0;
sbit P2_7=P2^7;
void main()
{m=0xfe;
n=0x01;
k=0x80;
EA=1;
EX1=1;
IT1=1;
P2_7=1;
while(1)
{ m=0XFE;
if(w==1)
{for(i=0;i<8;i++)
{P0=~m;
delay(100);
m<<=1;
}
m=0XFE;
for(i=0;i<8;i++)
{P0=m;
delay(100);
m<<=1;
}
}
if(w==2)
{
for(j=0;j<2;j++)
{ n=0X01;
for(i=0;i<8;i++)
{P0=n;
delay(100);
n<<=1;
}
}
}
if(w==3)
{ for(i=0;i<2;i++)
{P0=0X55;
delay(100);
P0=0XAA;
delay(100);
}
}
if(w==4)
{n=0X01;
for(i=0;i<8;i++)
{P0=n;
delay(200);
n<<=1;
}
k=0x80;
for(i=0;i<8;i++)
{P0=k;
delay(200);
k>>=1;
}
}
}
}
void dong()interrupt 2
{ w++;
if(w==5)
{w=0;}
}
void delay(unsigned int i)
{ unsigned int j,k;
for(k=0;k
for(j=0;j<255;j++);
}
每按P3.3一次都会出现不同的流水灯,不过必须等他执行完一种花样才会响应按的另一种。
是用外部中断?还是内部计时中断?