標(biāo)題:
單片機(jī)程序?qū)崿F(xiàn) 按鍵 長(zhǎng)按短按識(shí)別
[打印本頁(yè)]
作者:
JACK_WEI
時(shí)間:
2020-2-21 11:32
標(biāo)題:
單片機(jī)程序?qū)崿F(xiàn) 按鍵 長(zhǎng)按短按識(shí)別
/*****************讀IO電平***********************************/
void anjian(void) //按鍵控制
{
if((!KEY==0)&&(ks==9)) //大于1.9S 有松開 判斷是短按了
{
ks = 0;
}
if(KEY==0)
{
delay4ms();
if(KEY==0)
{
chp+=1;
if((!KEY)&&(chp==20)) // 按鍵單擊
{
ks += 1;
ZS_LED = 1;
chp = 0;
}
else if((!KEY)&&(ks==10)) //長(zhǎng)按按鍵
{
ks = 0;
ZS_LED = 1;
cho +=1;
}
else if((!KEY)&&(cho==1)) //大于2S 還沒有松開 直到松開也判斷是長(zhǎng)按了
{
ks = 10;
cho = 0;
}
}
}
}
作者:
JACK_WEI
時(shí)間:
2020-2-21 15:06
第一次發(fā)帖 寫的有點(diǎn)亂 修整一下
/*****************讀IO電平***********************************/
void anjian(void) //按鍵控制
{
if((!KEY==0)&&(ks==9)) //小于1.9S 有松開 判斷是短按了
{
ks = 0;
}
if(KEY==0)
{
delay4ms();
if(KEY==0)
{
chp+=1;
if((!KEY)&&(chp==20)) // 按鍵單擊
{
ks += 1;
kaishi = 1;
chp = 0;
}
else if((!KEY)&&(ks==10)) //長(zhǎng)按按鍵
{
ks = 0;
kaishi = 0;
qidong = 0;
cho +=1;
}
else if((!KEY)&&(cho==1)) //大于2S 還沒有松開 直到松開也判斷是長(zhǎng)按了
{
ks = 10;
cho = 0;
}
}
}
}
作者:
神劍無(wú)敵
時(shí)間:
2020-2-21 15:50
謝謝,受教了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1