找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

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

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

   



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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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