单片机89c51外部摁键中断程序

如题所述

按键一端接地,另一端接P3^2 就是外部中断0 ,,
sbit key = P3^2;
void main()
{
EX0 = 1;

IT0 = 1;

EA = 1;

while(1)

{
这里写你的功能;

}
}
void int0() interrupt 0
{
unsigned int i = 0;

while(1)

{
if(key == 0)

{
i++;

if(i >= 1000)

{
i=0;
flag = 1;

break;

}
}
else

{
i=0;

break;

}

}
}
这个程序包括了消抖部分,flag = 1的时候就表明 按键按下了。 flag的变量定义,还有头文件,自己加上,在主程序你检测flag的状态就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-30
EX0=1;//开外部中断0
EA=0;//开总中断
lT0=1;//下降沿触发

然后写中断函数即可
void extern0( ) interrupt 0
{
执行动作语句
}
相似回答