找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 35585|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

學(xué)51單片機-按鍵的掃描檢測與消抖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:74835 發(fā)表于 2015-3-20 23:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      
     觸發(fā)按鍵,簡稱按鍵,是電路設(shè)計中常用的器件之一。種類很多,有貼片式的,有直插式的,有四條腿的,也有兩條腿的。一般根據(jù)需求,進行高低、大小的選擇。
     如上圖所示,樣式非常多。記得我第一次去中發(fā)買按鍵的時候,老板問我要什么樣的,我也不知道,就說常用的就行。老板嘿嘿一笑,知道我是新人,就拿了幾款常見的給我選。
     現(xiàn)在自然不會這么笨,一般來說,選擇的參數(shù)也就這么幾項,尺寸、高度、封裝方式。例如我想買一種按鍵,我就直接問老板:6*6*5,四腳貼片的按鍵有木有?
     6*6是什么意思?占地面積,單位是毫米,就是說長和寬都是6mm的。
     5是高度,按鍵整體高度,單位是毫米。要求精細的,會說明按鍵座的高度和按鍵頭的高度。
     國產(chǎn)按鍵最上面的那個按鍵頭一般都是硬塑料的,韓國、日本還有臺灣的按鍵,有很多是硅膠的頭,按的時候手感挺不錯的,不過價格也略貴。
     什么樣的按鍵是好的按鍵?我跟一個賣了十多年貨的老板聊過這個問題,拋開用料問題,就說觸發(fā)的效果,只要買的時候按一下那個按鍵,聽它那個聲音,聲音越清脆、越響,效果越好,當(dāng)然了,價格越貴。
     接下來說應(yīng)用電路,如下圖所示,這是常見的應(yīng)用電路:
     檢測方式有兩種,一種是掃描檢測,另一種是中斷檢測。這次先說第一種,什么是掃描檢測?
     就是單片機每隔一段時間,就去檢測一下IO口的狀態(tài),未觸發(fā)的時候,該引腳是高電平,觸發(fā)的時候是低電平。
     有人會有疑問,這種方式會不會有遺漏?基本不會,因為單片機以微秒甚至納秒的級別運行指令,而觸發(fā)一次按鍵至少需要幾十毫秒,汽車電子里面用到的觸發(fā)按鍵,它的觸發(fā)時間到了100毫秒。只要掃描次數(shù)足夠,基本不會有遺漏。
     什么是消抖?檢測出鍵閉合后執(zhí)行一個延時程序,5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。當(dāng)檢測到按鍵釋放后,也要給5ms~10ms的延時,待后沿抖動消失后才能轉(zhuǎn)入該鍵的處理程序。
     為什么要消抖?因為按鍵按下或者抬起時,電平會有劇烈的抖動,這些抖動會對按鍵的狀態(tài)判斷造成干擾。因此要消抖。
     這次的程序用按鍵觸發(fā)LED,每次按下的時候,LED的狀態(tài)進行翻轉(zhuǎn)。
     好了,廢話少說,上程序
     下載鏈接: 按鍵觸發(fā)LED.zip (79.83 KB, 下載次數(shù): 77)
     今天先寫這些,明個見!

   



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:301181 發(fā)表于 2018-5-10 17:03 | 只看該作者
我在實驗的時候把延時加到30ms,按鍵就沒有用處了,為什么啊
回復(fù)

使用道具 舉報

板凳
ID:1060328 發(fā)表于 2023-1-6 15:45 | 只看該作者
這是個典型的51單片機,P3口內(nèi)部電路并不是漏極開路。
我不明白在接按鍵時在外部接一個上拉電阻的作用是什么呢?
不接的話會有什么問題?
回復(fù)

使用道具 舉報

地板
ID:1017814 發(fā)表于 2023-1-29 17:04 | 只看該作者
hjc5035 發(fā)表于 2023-1-6 15:45
這是個典型的51單片機,P3口內(nèi)部電路并不是漏極開路。
我不明白在接按鍵時在外部接一個上拉電阻的作用是什 ...

不接上拉電阻 ,有可能出現(xiàn)混亂,就是說不按按鍵時,引腳可能是“0”,也可能是“1”,
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表