# include
bit flag; //添加
main()
{
int i;
EA=1; //添加
EX0=1; //添加
IT0=1; //添加
P1=0xfe;
while(1)
{
while(flag); //添加
for(i=0;i<30000;i++);
P1<<=1;
P1|=0x01;
if(P1==0xff)
{
for(i=0;i<30000;i++);
P1=0xfe;
}
}
}
void exint0() interrupt 0 //添加
{
flag=!flag;
}
用两个中断。一个定时器中断,每次定时中断后让LED移位。另一个外部中断P3.2,每次中断后将定时器停止,TR0=0
学习了
ee