51单片机的外部中断如何写按键消抖c程序!

51单片机的外部中断如何写按键消抖c程序!,第1张

跟外部的按键消抖一样处理就可以了。

void

ext0()

interrupt

0

{

delay(10)//

flag=0//按键有效标志=0为无效

if(P3_2)

{

while(!P3_2)//等待按键抬起

flag=1

}

}

key为按键,规定按下为低电平

if(key==0)

{

delay(50); //延时50ms,消抖

if(key==0) //再判断是否按下

{

while(!key); 松手检测

··················································

该按键按下要实现的功能程序

··················································

}

}

我的习惯是这样写

一个按键时程序如下:

while(1)

{

if(key==0)//按键按下

{ delayms(20)//延时消抖

if(key==0)//再次判断按键是否按下

{

while(key==0)//按键没有抬起

{ led=!leddelayms(200)}//LED闪烁

}

}

else led=0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7818667.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存