按鍵是一種常開型按鈕開關(guān),與單片機(jī)的常見接法如圖所示。按鍵未按下時(shí)兩個(gè)觸點(diǎn)斷開,單片機(jī)I/O口輸入高電平;當(dāng)按鍵閉合時(shí),I/O口輸入低電平。
一、按鍵講解
當(dāng)I/O口為P0口時(shí),由于沒有內(nèi)部上拉電阻,所以必須外接上拉電阻,當(dāng)I/O口為P1、P2和P3口時(shí),由于內(nèi)部已有上拉電阻,因此可省略外接的上拉電阻。
二、按鍵消抖
單片機(jī)系統(tǒng)中所使用的鍵盤都是機(jī)械式的彈性按鍵,因?yàn)榇嬖跈C(jī)械觸點(diǎn)的彈性作用,在按鍵閉合和彈起的瞬間都會(huì)出現(xiàn)抖動(dòng),如圖所示。按鍵抖動(dòng)一般會(huì)持續(xù)5~10ms,為使一次按鍵僅被處理一次,必須消除按鍵抖動(dòng)。消除按鍵抖動(dòng)可以采用軟件消抖或硬件消抖。
軟件消抖指在檢測(cè)到有按鍵閉合時(shí),延時(shí)一小段時(shí)間之后再次檢測(cè),如果仍然檢測(cè)到按鍵閉合,則認(rèn)為按鍵真正閉合。
硬件消抖方法
1.R-S觸發(fā)器
一旦有鍵按下,觸發(fā)器立即反轉(zhuǎn),觸點(diǎn)的抖動(dòng)便不會(huì)再對(duì)輸出產(chǎn)生影響,按鍵釋放時(shí)也一樣。
2.電容濾波
將電容并聯(lián)在按鍵的兩端,利用電容放電的延時(shí)特性,將產(chǎn)生抖動(dòng)的電平通過(guò)電容吸收掉,從而達(dá)到消抖的作用;
三、獨(dú)立按鍵
獨(dú)立鍵盤指每個(gè)按鍵都占據(jù)一個(gè)獨(dú)立的引腳。
四、矩陣按鍵
同一行上的所有按鍵都連接到一個(gè)引腳,同一列上的所有按鍵都連接到一個(gè)引腳。
(1)列掃描方式
所有行線都輸出高電平,列線依次輸出低電平;查詢?cè)摿猩闲械闹?,若?,則說(shuō)明該行上的按鍵被按下;若該列上所有行的值都為1,則進(jìn)行下一列行值的查詢;循環(huán)往復(fù)。
(2)反轉(zhuǎn)法
所有行線都輸出0,查詢列線上的值,若某列線上的值為0,則說(shuō)明該列線上的按鍵被按下;然后所有列線都輸出0,查詢行線上的值,若某行線上的值為0,則說(shuō)明該行線上的按鍵被按下;從而確定某行某列的按鍵被按下。
五、程序舉例
編輯:jq
-
電阻
+關(guān)注
關(guān)注
86文章
5416瀏覽量
171340 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1992瀏覽量
60983 -
P0口
+關(guān)注
關(guān)注
1文章
16瀏覽量
9264 -
單機(jī)片
+關(guān)注
關(guān)注
0文章
50瀏覽量
11710
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論