按鍵是一種常開型按鈕開關,與單片機的常見接法如圖所示。按鍵未按下時兩個觸點斷開,單片機I/O口輸入高電平;當按鍵閉合時,I/O口輸入低電平。
一、按鍵講解
當I/O口為P0口時,由于沒有內部上拉電阻,所以必須外接上拉電阻,當I/O口為P1、P2和P3口時,由于內部已有上拉電阻,因此可省略外接的上拉電阻。

二、按鍵消抖
單片機系統中所使用的鍵盤都是機械式的彈性按鍵,因為存在機械觸點的彈性作用,在按鍵閉合和彈起的瞬間都會出現抖動,如圖所示。按鍵抖動一般會持續5~10ms,為使一次按鍵僅被處理一次,必須消除按鍵抖動。消除按鍵抖動可以采用軟件消抖或硬件消抖。

軟件消抖指在檢測到有按鍵閉合時,延時一小段時間之后再次檢測,如果仍然檢測到按鍵閉合,則認為按鍵真正閉合。
硬件消抖方法
1.R-S觸發器
一旦有鍵按下,觸發器立即反轉,觸點的抖動便不會再對輸出產生影響,按鍵釋放時也一樣。

2.電容濾波
將電容并聯在按鍵的兩端,利用電容放電的延時特性,將產生抖動的電平通過電容吸收掉,從而達到消抖的作用;

三、獨立按鍵
獨立鍵盤指每個按鍵都占據一個獨立的引腳。

四、矩陣按鍵
同一行上的所有按鍵都連接到一個引腳,同一列上的所有按鍵都連接到一個引腳。

(1)列掃描方式
所有行線都輸出高電平,列線依次輸出低電平;查詢該列上行的值,若為0,則說明該行上的按鍵被按下;若該列上所有行的值都為1,則進行下一列行值的查詢;循環往復。

(2)反轉法
所有行線都輸出0,查詢列線上的值,若某列線上的值為0,則說明該列線上的按鍵被按下;然后所有列線都輸出0,查詢行線上的值,若某行線上的值為0,則說明該行線上的按鍵被按下;從而確定某行某列的按鍵被按下。

五、程序舉例

編輯:jq
-
電阻
+關注
關注
88文章
5803瀏覽量
179824 -
觸發器
+關注
關注
14文章
2065瀏覽量
63510 -
P0口
+關注
關注
1文章
16瀏覽量
9610 -
單機片
+關注
關注
0文章
58瀏覽量
12937
發布評論請先 登錄
探索 MAX25630:4x24 汽車 LED 矩陣驅動器的卓越性能
探索MAX25503:4 x 24汽車LED矩陣驅動器的卓越性能
MAX25500:4 x 24 汽車 LED 矩陣驅動器的卓越之選
探索DS90CP04:1.5 Gbps 4x4 LVDS交叉點開關的卓越性能
解析SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉點開關的卓越性能
探索SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉點開關的卓越性能
探索SN65LVDS250和SN65LVDT250:高性能LVDS 4x4交叉點開關
深入解析SN65LVDS250與SN65LVDT250:高性能4x4 LVDS交叉點開關
探索SN65LVCP404:高性能千兆4x4交叉點開關的技術剖析
深入剖析DS10CP154A:1.5 Gbps 4x4 LVDS交叉點開關的卓越性能與應用
探索DS25CP104A/DS25CP114 3.125 Gbps 4x4 LVDS交叉點開關的奧秘
原廠 FZH1697 帶鍵盤掃描接口的LCD驅動控制專用電路
0.25-2.15 GHz 4x2 開關矩陣,帶音調/電壓檢測器 skyworksinc
0.25 - 2.15 GHz 4x2 開關矩陣,帶音調/電壓解碼器 skyworksinc
4 x 2 開關矩陣,帶音調/電壓解碼器 250 MHz–2.15 GHz skyworksinc
4x4矩陣鍵盤工作原理及掃描程序
評論