51普中的开发板
用外部中断控制流水灯,但是流水灯的效果没有出来。
部分代码:
void Int1Init()
{
IT1=0;
EX1=1;
EA=1;
}
//省略中间部分
void Int1(void) interrupt 2 using 1
{
if(!INT1)
{
DelayUs2x(100);
if(!INT1)
{
flag=1;
if(flag==1)
{
DelayUs2x(100);
for(i=0;i<8;i++)
{
P0=~(0x01<DelayUs2x(50000);
}
}
}
}
}
现象:
8个led灯一闪而过,然后就全灭了,没有达到流水灯的效果
把对灯的操作放在while(1)中,并用一个全局变量控制,全局变量在外中服务中修改,在主循环中判断。
流水灯写在主程序里,中断了要把中断响应位给清零
应该把全部代码粘贴出来,可能没有循环,main函数里面的循环