新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機人機接口4×4行列式鍵盤的工作原理

        PIC單片機人機接口4×4行列式鍵盤的工作原理

        作者: 時間:2013-01-09 來源:網絡 收藏

        ①逐行(或列)掃描查詢法。

        確定矩陣式鍵盤上哪個鍵被按下時運用掃描法,又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,過程如下。

        · 判斷鍵盤中有無鍵按下,將全部行線Y0~Y3置低電平,然后檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。

        · 判斷閉合鍵所在的位置,在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其他線為高電平,在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態,若某列為低,則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鍵。

        ②反轉法。

        掃描法要逐列(行)掃描查詢,當按下的鍵在最后行(列),要經過多次掃描才能獲得鍵值/鍵號。而反轉法只要經過兩個步驟就可獲得鍵值,原理如圖2所示。

        1.jpg

        圖中硬件采用中斷方式工作,用一個8位I/O口構成4×4鍵盤。假定圖中虛線為所按下的鍵,其反轉法的步驟如下。

        · 將D3~D0設為列輸入線,D7~D4設為行輸出線,并使I/O輸出信號D7~D4為0000。若有鍵按下,與門的輸出端變為低電平,向CPU申請中斷,表示鍵盤中有鍵按下。與此同時,D3~D0的數據輸入到內存中的某一單元中,其中0位對應的是被按下鍵的列位置。

        · 將第一步中的傳送方向反轉過來,即將D7~D4設為輸入線,D3~D0設為輸出線。使I/O口輸出數據為N單元中的數(即D3~D0為按下鍵的列位置),然后讀入I/O口數據,并送入內存N+1單元中存放,該數據的D7~D4位中0電平對應的位是按下鍵的行位置。最后,將N單元中的D3~D0與N+1單元中的D7~D4拼接起來就是按下鍵的鍵值。

        單片機應用系統中,任何I/O口或擴展I/O口均可構成行列式鍵盤。典型的鍵盤接口有通用I/O擴展口、串行LO擴展口和專用鍵盤芯片構成的行列式鍵盤。由于帶有行列式鍵盤的應用系統中通常都有顯示器,為節省I/O口線,往往把顯示器電路與行列式鍵盤做在一個接口電路中。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 牡丹江市| 沐川县| 图木舒克市| 西乌珠穆沁旗| 武城县| 沐川县| 仁寿县| 双城市| 通辽市| 宿松县| 九龙县| 乃东县| 岳阳县| 巴青县| 华阴市| 沧源| 津南区| 新巴尔虎左旗| 临朐县| 涪陵区| 即墨市| 灌云县| 永吉县| 东光县| 鄄城县| 石楼县| 嘉义县| 泾源县| 天等县| 土默特右旗| 固阳县| 安仁县| 乡宁县| 泸水县| 胶州市| 峨眉山市| 手游| 三明市| 理塘县| 海口市| 乌恰县|