矩陣鍵盤驅動原理

2021-06-06 19:41:31 字數 542 閱讀 5425

矩陣鍵盤驅動原理

矩陣鍵盤由行訊號和列訊號組成矩陣。每個按鍵連線到行訊號和列訊號的交叉點。通過矩陣鍵盤控制器行訊號線順序逐行輸出掃瞄脈衝,列訊號線作為輸入訊號線。

如果沒有按鍵按下,列訊號線不會產生中斷,沒有對按鍵的處理。

如果有按鍵按下去,對應的行輸出掃瞄脈衝就會在對應的列訊號線產生變化,就會觸發鍵盤中斷。鍵盤中斷服務程式就會將鍵盤的按鍵鍵碼暫存器讀出來,判斷是那個按鍵按下去。

鍵盤驅動包括初始化,中斷服務程式。

初始化函式主要

1,根據硬體的連線,掃瞄矩陣的行和列的線的數目,設定控制暫存器對應的行和列的設定位元位設定到對應的數值,一般是乙個位元組的2個位元代表行。用5個位元代表列。乙個位元是控制器是使能或者關閉。0對應是最小的掃瞄行和列數目。

2, gpio功能配置,設定行掃瞄線gpio作為輸入,列掃瞄線gpio作為輸出。

3,中斷服務程式的實現。

4,註冊中斷服務程式。

5,按鍵按下就會產生中斷,中斷服務程式將按鍵對映表讀出來,對每個位元做判斷,找出對應的按鍵。將按鍵的鍵碼通過input子系統給上層提供按鍵鍵碼。

矩陣鍵盤掃瞄原理

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

矩陣鍵盤程式設計原理

mcu讀取按鍵是否按下,往往需要進行消抖,而消抖措施有很多種,可以利用電容電路,可以用數電裡學的觸發器電路,這些可以說都是在硬體層面來消抖的。但是有更簡單便宜的軟體消抖措施。軟體消抖也分為延時重取樣和持續取樣兩種方式。延時重取樣就是在取樣到按鍵被按下訊號後,延時約10ms後,再次取樣,如果扔檢測到是...

linux下矩陣鍵盤驅動

1 路徑 linux drivers input keyboard 2 檔名 matrix keypad.c 說明 這是乙個平台驅動程式,在上面的.c檔案裡沒有建乙個裝置,只有驅動 static struct platform driver matrix keypad driver 3 probe探...