找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3330|回復: 14
收起左側(cè)

單片機鍵盤消抖,不用延時還能用什么?中斷輪詢程序怎么寫呢?

  [復制鏈接]
ID:340765 發(fā)表于 2021-3-31 20:37 | 顯示全部樓層 |閱讀模式
上網(wǎng)查了用中斷輪詢,但是具體要怎么寫,無從下手。有哪個大佬有演示程序給我參考一下嗎?
回復

使用道具 舉報

ID:584814 發(fā)表于 2021-3-31 21:06 | 顯示全部樓層
鍵盤消抖原理就是延時,認為超短的時間內(nèi)能按多次就是抖,硬件軟件都是繞著這個轉(zhuǎn)的。
中斷輪詢就象一個簡單的操作系統(tǒng),弄個定時中斷,以不同的間隔時長(中斷)執(zhí)行不同的函數(shù)(程序)。
試過也就扔一邊了畢竟只是業(yè)余玩玩實用為主,網(wǎng)上可以找到如果真的很神奇早就必學了。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:46065 發(fā)表于 2021-3-31 21:39 | 顯示全部樓層
并一個103電容也可以,但成本會上去一點
回復

使用道具 舉報

ID:592807 發(fā)表于 2021-4-1 08:47 | 顯示全部樓層
我用STM8S做過。
就是中斷函數(shù)里面檢測到是下降沿中斷(按下按鍵),就將標志位置1(flag = 1),上升沿(抬起)就將標志位置0(flag = 0).
在對應的執(zhí)行函數(shù)內(nèi)部多執(zhí)行幾次判斷(if(flag == 1))

回復

使用道具 舉報

ID:390416 發(fā)表于 2021-4-1 09:10 | 顯示全部樓層
回復

使用道具 舉報

ID:342822 發(fā)表于 2021-4-1 09:13 | 顯示全部樓層
本帖最后由 taotie 于 2021-4-1 10:21 編輯

用硬件74c922。怎么用本壇搜哦。
回復

使用道具 舉報

ID:517951 發(fā)表于 2021-4-1 09:30 | 顯示全部樓層
不想用延時, 可以考慮加門電路去抖動, 要增加硬件成本開銷. 還是在軟件中做延時,消抖簡單又節(jié)省成本.
回復

使用道具 舉報

ID:382454 發(fā)表于 2021-4-1 10:06 | 顯示全部樓層
一般都是延時,幾個ms級,也可以用定時器。定她個ms級。
回復

使用道具 舉報

ID:487569 發(fā)表于 2021-4-1 14:10 | 顯示全部樓層
搞個計時,每10ms檢測一次按鍵,如果連續(xù)累計7~8次都都能檢測到,認為按鍵按下,若是某次檢測不到,則清除計數(shù)。
回復

使用道具 舉報

ID:883031 發(fā)表于 2021-4-1 15:19 | 顯示全部樓層
用硬件電路去抖,會增加成本。
如果不影響軟件的執(zhí)行效率,沒必要去計較這些吧。
回復

使用道具 舉報

ID:553939 發(fā)表于 2021-4-1 20:34 | 顯示全部樓層
硬件消抖:按鍵上并聯(lián)一個0.1uF的電容;軟件消抖:除去延時消抖之外可以利用定時器消抖
回復

使用道具 舉報

ID:553939 發(fā)表于 2021-4-1 20:36 | 顯示全部樓層
硬件消抖:按鍵并聯(lián)一個0.1uF的電容但往往效果不是很好;軟件消抖:利用定時器消抖
回復

使用道具 舉報

ID:63132 發(fā)表于 2021-5-14 15:57 來自觸屏版 | 顯示全部樓層
還是硬件消抖好點,兩個電阻一個電容
回復

使用道具 舉報

ID:554500 發(fā)表于 2021-5-14 16:18 | 顯示全部樓層
關于按鍵去抖動。 去除低級的while和delay寫法
硬件就是加個電容接地。
我常用的軟件去抖動如下,  //最好軟硬件結(jié)合效果會更好!�。。。�
void Key_scan()
{
     static u8 i=0,j=0;
     if(key==0)
    {
          if(i==0)         {
              if(key==0&&j++>100)  //j的值根據(jù)函數(shù)調(diào)度周期調(diào)整
             {
                   i=1;
                   //要執(zhí)行的任務
             }
        }
     }
    else
    {
        i=0;        j=0;
    }
}

回復

使用道具 舉報

ID:922008 發(fā)表于 2021-5-16 08:58 | 顯示全部樓層
按鍵加小電容呀。那樣不用對按鍵程序延時
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表