欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
關(guān)于單片機(jī)一個(gè)按鍵實(shí)現(xiàn)多種功能
[打印本頁(yè)]
作者:
hithy
時(shí)間:
2020-6-15 20:09
標(biāo)題:
關(guān)于單片機(jī)一個(gè)按鍵實(shí)現(xiàn)多種功能
循環(huán)計(jì)數(shù)法,標(biāo)志位法,都是比較簡(jiǎn)單的按鍵多次按下識(shí)別的方法也是常用方法
這個(gè)是計(jì)數(shù)法例子,先通過(guò)管腳電瓶高低識(shí)別按鍵(注意延遲)是否按下,按鍵按下計(jì)數(shù),通過(guò)型參計(jì)數(shù),也可以用switch條件語(yǔ)句控制。
void main()//這里進(jìn)入主函數(shù){
while(1)//一直循環(huán)
{
if(KEY==0)//如果有按鍵按下
{
num++;
}
if(num==1&&key_bit==0) {
realy=1;
key_bit=1;
}
if(num==2) {
realy=0;
key_bit=0;
num=0;
}
}
作者:
252622979
時(shí)間:
2020-6-15 22:03
這樣不會(huì)有誤觸發(fā)的情況?
作者:
289466080
時(shí)間:
2020-6-16 08:27
我的在定時(shí)器(1ms)中寫的按鍵,當(dāng)按鍵下計(jì)時(shí),松手的時(shí)候檢測(cè)計(jì)時(shí)值>=10ms表示有效按鍵,如果增加長(zhǎng)按當(dāng)執(zhí)行長(zhǎng)按時(shí)松手清空短按檢測(cè)。
作者:
hithy
時(shí)間:
2020-6-16 19:15
252622979 發(fā)表于 2020-6-15 22:03
這樣不會(huì)有誤觸發(fā)的情況?
我只是提供一個(gè)思路,這個(gè)肯定會(huì)誤觸的,加個(gè)延時(shí)消除抖動(dòng)在加個(gè)確定按下的判斷語(yǔ)句就可以了,也可以加個(gè)while變成識(shí)別長(zhǎng)按,(單片機(jī)有定時(shí)器中斷,c語(yǔ)言本身也有中斷)靈活應(yīng)用可以少寫代碼。優(yōu)化
像這樣
flag=1; //緊急狀態(tài)標(biāo)志位置1,進(jìn)入緊急通行狀態(tài)
save=P0; //保存燈的狀態(tài)
P0=0x84; //全部亮紅燈
while(key_stop==0); //按鍵釋放,當(dāng)按鍵一直按下的時(shí)候,程序就會(huì)一直執(zhí)行這里,直到按鍵按下
while(flag==1) //如果是緊急狀態(tài)就一直執(zhí)行下面的程序
{
if(key_stop==0) //在緊急狀態(tài)時(shí)判斷按鍵是否按下
{
delay(50); //延時(shí)去抖
if(key_stop==0) //再次判斷按鍵是否按下
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1