目的:单片机上电后,显示流水灯,按下按键后小灯全亮,然后返回主函数,继续显示流水灯。
目前问题:按下按键后,小灯全亮,但松开按键后小灯还是保持全亮,没有恢复中断前的状态。
请问这是什么原因导致,以下是代码
#include <reg52.h>
#include <intrins.h>
#define LED P0
sbit K1=P3^2;
int a;
void delay(ms)
{
int i;
while(ms--)
{
for (i=0;i<100;i++)
{
;
}
}
}
void zhongduan()
{
EA=1;
EX0=1;
}
void main()
{
a=0;
zhongduan();
LED=0xfe;
delay(200);
while(1)
{
for(a=0;a<7;a++)
{
LED=_crol_(LED,1);
delay(250);
}
for(a=0;a<7;a++)
{
LED=_cror_(LED,1);
delay(250);
}
}
}
void init0() interrupt 0
{
if(K1==0)
{
delay(10);
if(K1==0)
{
LED=0x00;
delay(200);
}
}
}
|