单片机的外部中断可不可以设置是上升沿触发或下降沿触发

我这个程序现在是一按下按钮就疯狂扫描有什么办法可以按下按钮进入中断后就执行一次中断里的程序后,等到松开按钮后再扫描一次?以前记得可以设置外部中断的触发方式的,不知道怎么设... 我这个程序现在是一按下按钮就疯狂扫描
有什么办法可以按下按钮进入中断后就执行一次中断里的程序后,等到松开按钮后再扫描一次?
以前记得可以设置外部中断的触发方式的,不知道怎么设置!

#ifndef _KEYS_H_
#define _KEYS_H_
/*key=0-9代表数字0-9
key=11 代表 上
key=12 代表 左
key=13 代表 右
key=14 代表 下
key=15 代表 删除/退出
key=16 代表 确定
*/
uint8 key=10;
void exint0(void) interrupt 0 using 1
{
P2=~0x10;
if(P2&0x0f==~0x01){key=11;}
if(P2&0x0f==~0x02){key=12;}
if(P2&0x0f==~0x04){key=13;}
if(P2&0x0f==~0x08){key=14;}
P2=~0x20;
if(P2&0x0f==~0x01){key=7;}
if(P2&0x0f==~0x02){key=4;}
if(P2&0x0f==~0x04){key=1;}
if(P2&0x0f==~0x08){key=15;}
P2=~0x40;
if(P2&0x0f==~0x01){key=8;}
if(P2&0x0f==~0x02){key=5;}
if(P2&0x0f==~0x04){key=2;}
if(P2&0x0f==~0x08){key=0;}
P2=~0x80;
if(P2&0x0f==~0x01){key=9;}
if(P2&0x0f==~0x02){key=6;}
if(P2&0x0f==~0x04){key=3;}
if(P2&0x0f==~0x08){key=16;}
if(~((key>=0)&&(key<=16)))
{P2=~0xf0;}
}
#endif
展开
 我来答
john_lee1969
2014-07-04 · TA获得超过1700个赞
知道小有建树答主
回答量:419
采纳率:100%
帮助的人:529万
展开全部
你的单片机是51的吧?51只能下降沿中断,没有上升沿中断的功能。
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机原理由运算器、控制器、存储器、输入输出设备构成,单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程;单片机的应用:节能控制;智能语音设备;报警控制;医疗设备。 单片机原理及应用 本书详细地介绍了MC... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式