单片机89c51外部摁键中断程序
答案:2 悬赏:60 手机版
解决时间 2021-04-07 01:14
- 提问者网友:焚苦与心
- 2021-04-06 22:02
单片机89c51外部摁键中断程序
最佳答案
- 五星知识达人网友:渊鱼
- 2021-04-06 22:49
按键一端接地,另一端接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的状态就可以了
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楼网友:有你哪都是故乡
- 2021-04-06 23:33
EX0=1;//开外部中断0
EA=0;//开总中断
lT0=1;//下降沿触发
然后写中断函数即可
void extern0( ) interrupt 0
{
执行动作语句
}
EA=0;//开总中断
lT0=1;//下降沿触发
然后写中断函数即可
void extern0( ) interrupt 0
{
执行动作语句
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯