单片机按键松手检测

单片机按键松手检测,第1张

电机

代码旦顷码放

等迟陆待按键松手

while()

即松手

再进行电机控制

if(!KEY1)

//检测按键按

{

DelayMs(200)

//

if(!KEY1)

//检测迟简按键确实按

进行按键处理

{

while(!KEY1);

//等待按键松手

Coil_A1

//遇

Coil_A1

用{A1=1B1=0C1=0D1=0}代替

DelayMs(Speed)

//改变

参数

调整电机转速

Coil_B1

DelayMs(Speed)

Coil_C1

DelayMs(Speed)

Coil_D1

DelayMs(Speed)

}

}

松手检测也就是消抖嘛,在你这程序中就是

if

(key==0xff){

//如果读取不到P0口的值,比如是干扰,拆汪我们不做键值处烂御闭理,返回

SPK=1

//按键有松开,停止蜂鸣器响

return

}

主要作用就是防止其他干扰信号误判成按键信号。

另一个就是假如你长按不放的话就要使它在那等待你放开才会执行程序,所以这在你这的程序就是

if(l_keyold==key)

{

//检测按键放开否,如果一样表明没放开,

return

}

其实这个return可以不要,直接用分号等待也行,还有什么不懂的饥裂吗?


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

原文地址: http://outofmemory.cn/yw/12467250.html

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

发表评论

登录后才能评论

评论列表(0条)

保存