看着就是一个利用单片机外部中断来检测按键的电路
在按键被按下的时候,同时触发外部中断,无论是哪个按键被按下,都会触发外部中断
所以根据这个特性,就可以写出相应的程薯猜序了
思路是:编写一个外部中断的函数数如型,在函数内检测哪个按键被按下即可
如果没有按键被按下,则不执行
/***************************************************************************/
void
main(void)//主函数
{
ea=1
ex0=1//开总中断和外部中断
0
while(1)
{
if(int0==0&&p1==0xf1){
p2=0x00
}//如果中断进来且按键1被按下
}
}
/***************************************************************************/
这属于查询方式,int0
是外部中断的关键字
也可以用中断方式写,只有中断进来的时候才检测按键状态
/***************************************************************************/
void
int()
interrupt
0
//外部中断
0
{
if(p1==0xf1){
p2=0x00
}//如果按键1被按下
}
/***************************************************************************/
这丛姿个简单,开始
中断初始化
显示初始化
MAIN:将20H地址内容送显示
跳转MAIN
进入中段服务程序
判断P0.7(写按键名字)是否按下?是 跳转DIV1
否
判断P0.6(写按键名字)是否按下?是 跳转DIV2
否
判断P0.5(写按键名字)是否按下?是 跳转DIV3
否渗渗绝
判断P0.4(写按键名字)是否按下喊桐?是 跳转DIV4
否
关中断
中断程序返回
DIV1:将1送P1口显示
跳转 MAIN
DIV2:将2送P1口显示
跳转 MAIN
DIV3:将3送P1口显示
跳转 MAIN
DIV4:将4送P1口显示
跳转 MAIN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)