久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9647|回復: 3
收起左側

關于單片機一個按鍵實現多種功能

[復制鏈接]
ID:536280 發表于 2020-6-15 20:09 | 顯示全部樓層 |閱讀模式
循環計數法,標志位法,都是比較簡單的按鍵多次按下識別的方法也是常用方法


這個是計數法例子,先通過管腳電瓶高低識別按鍵(注意延遲)是否按下,按鍵按下計數,通過型參計數,也可以用switch條件語句控制。
void main()//這里進入主函數{
while(1)//一直循環
{
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;
}
}

回復

使用道具 舉報

ID:85865 發表于 2020-6-15 22:03 | 顯示全部樓層
這樣不會有誤觸發的情況?
回復

使用道具 舉報

ID:282538 發表于 2020-6-16 08:27 | 顯示全部樓層
我的在定時器(1ms)中寫的按鍵,當按鍵下計時,松手的時候檢測計時值>=10ms表示有效按鍵,如果增加長按當執行長按時松手清空短按檢測。
回復

使用道具 舉報

ID:536280 發表于 2020-6-16 19:15 | 顯示全部樓層
252622979 發表于 2020-6-15 22:03
這樣不會有誤觸發的情況?

我只是提供一個思路,這個肯定會誤觸的,加個延時消除抖動在加個確定按下的判斷語句就可以了,也可以加個while變成識別長按,(單片機有定時器中斷,c語言本身也有中斷)靈活應用可以少寫代碼。優化


像這樣
        flag=1;                                                          //緊急狀態標志位置1,進入緊急通行狀態
                        save=P0;                                                  //保存燈的狀態
                        P0=0x84;                                                  //全部亮紅燈
                        while(key_stop==0);                                  //按鍵釋放,當按鍵一直按下的時候,程序就會一直執行這里,直到按鍵按下
                        while(flag==1)                                          //如果是緊急狀態就一直執行下面的程序
                        {
                                if(key_stop==0)                                  //在緊急狀態時判斷按鍵是否按下
                                {
                                        delay(50);                                  //延時去抖
                                        if(key_stop==0)                          //再次判斷按鍵是否按下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂一区 | 欧美日韩免费一区二区三区 | 国产一区二区视频在线 | 三级视频在线观看电影 | 久久久久国产精品一区三寸 | 日韩久久久久 | 日本一区二区三区精品视频 | 亚洲国产情侣自拍 | 国产乱性 | 一区二区在线免费播放 | 日韩三级电影在线看 | 羞羞视频在线观看 | h视频免费在线观看 | 日韩中出 | www.婷婷 | 一级毛片视频在线 | 亚洲精品一区二区三区中文字幕 | 国产成人综合网 | 亚洲综合二区 | 97国产一区二区 | 精品中文字幕在线 | 在线播放国产一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 亚洲一区二区三区在线视频 | 国产视频第一页 | 视频一二区 | 亚洲欧美一区二区三区在线 | 日韩在线小视频 | 亚洲国产成人在线视频 | 国产一区日韩在线 | 涩涩视频网站在线观看 | a中文在线视频 | 中文字幕综合在线 | 国产精品久久久久永久免费观看 | 午夜小电影| jdav视频在线观看免费 | 国产精品久久精品 | 亚洲精品日韩在线观看 | 污视频免费在线观看 | 中文字幕在线一区二区三区 | 久久久91 |