矩陣鍵盤程式設計原理

2022-09-01 02:51:07 字數 1049 閱讀 6339

mcu讀取按鍵是否按下,往往需要進行消抖,而消抖措施有很多種, 可以利用電容電路,可以用數電裡學的觸發器電路, 這些可以說都是在硬體層面來消抖的。但是有更簡單便宜的軟體消抖措施。

軟體消抖也分為延時重取樣和持續取樣兩種方式。

延時重取樣就是在取樣到按鍵被按下訊號後,延時約10ms後,再次取樣,如果扔檢測到是按下,則就會判定為按鍵確實被按下「一次」。

持續取樣就是當取樣到按鍵被按下訊號後,在一段時間內連續檢測,如果一直沒變,則判定為被按下一次。

乙個4*4的矩陣鍵盤的原理就是,四行串聯在四位io口,四列串聯在四位io口

以上**釋,先將pd = 1111 1110 ,即將第一列置低,然後取pd的高四位,若檢測到高四位不是1111,比如是1101,說明第三行雖然一開始是置高的,但是被強制拉低了,所以說明s13鍵被按下了。

然後將pd迴圈左移,將第二列置低,以此類推。

這其中還要加上延時重取樣消抖,就可以進行矩陣鍵盤的檢測了。

舉個栗子

1 #include 2 #include 3

4#define uint unsigned int

5#define uchar unsigned char

67 uchar key = 0

;8 uchar table=;

1415

void

init()

1620

21void delayms(uint

xms)

2227

28void

keys()

2948

while(temp != 0xf0)52

}53}54

}55}56

57void

display(uchar key)

5861

62void

main()

6369 }

**實現功能是檢測4*4鍵盤,每個按鍵代表乙個數字,顯示在螢幕上。

矩陣鍵盤驅動原理

矩陣鍵盤驅動原理 矩陣鍵盤由行訊號和列訊號組成矩陣。每個按鍵連線到行訊號和列訊號的交叉點。通過矩陣鍵盤控制器行訊號線順序逐行輸出掃瞄脈衝,列訊號線作為輸入訊號線。如果沒有按鍵按下,列訊號線不會產生中斷,沒有對按鍵的處理。如果有按鍵按下去,對應的行輸出掃瞄脈衝就會在對應的列訊號線產生變化,就會觸發鍵盤...

矩陣鍵盤掃瞄原理

當乙個按鍵兩端分別接乙個io口,乙個io口置高電平另乙個置低電平,當按下按鍵時高電平io口電平被拉低,另一端還是為低電平,這時檢測io口值就是兩個低電平。把上述方法應用到矩陣鍵盤上,如果把4個行引腳接p2前4位io口 p2.0 p2.3 都置低電平,把4個列引腳接p2後4位io口 p2.4 p2.7...

矩陣鍵盤及其基本原理

一.原理 矩陣鍵盤的原理就是分行和列掃瞄,來獲知按下按鍵的行數和列數,然後得到按下按鍵的鍵值。矩陣鍵盤的原理圖及接線圖如下 因為四腳的微動按鍵的同一排引腳是相連的,相當於是乙個同乙個引腳,所以利用這個有點會大大簡化我們的電路,不用做太多的飛線。矩陣鍵盤的掃瞄原理為,先讓三個橫行或者三個豎列輸出高電平...