基于Windows CE的7×3手機(jī)鍵盤(pán)驅(qū)動(dòng)實(shí)現(xiàn)
1. 前言
矩陣鍵盤(pán)是嵌入式設(shè)備中常用的輸入設(shè)備。它具有堅(jiān)固耐用、響應(yīng)速度快、小巧方便、原理簡(jiǎn)單、價(jià)格便宜、易于交流等諸多優(yōu)點(diǎn)。利用矩陣鍵盤(pán),用戶(hù)只要用手指按下鍵盤(pán)上的數(shù)字或符號(hào)鍵就能實(shí)現(xiàn)對(duì)嵌入式設(shè)備進(jìn)行相應(yīng)的操作,從而使人機(jī)交互更為直接,是極方便的交互設(shè)備。矩陣鍵盤(pán)的應(yīng)用范圍非常廣泛,特別是在手機(jī)、PDA等手持產(chǎn)品的運(yùn)用更為廣泛。本文討論了矩陣鍵盤(pán)的實(shí)現(xiàn)原理和Windows CE操作系統(tǒng)的矩陣鍵盤(pán)驅(qū)動(dòng)程序模型,并詳細(xì)闡述和分析了嵌入式系統(tǒng)中矩陣鍵盤(pán)驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)方法,對(duì)開(kāi)發(fā)手機(jī)鍵盤(pán)具有重要的參考價(jià)值。
2. 矩陣鍵盤(pán)原理
矩陣鍵盤(pán)作為輸入設(shè)備以默認(rèn)每秒2次的頻率掃描鍵盤(pán),當(dāng)有按鍵被按下時(shí),通過(guò)掃描鍵盤(pán)并生成相應(yīng)的掃描碼,并通過(guò)處理器中的中斷產(chǎn)生器產(chǎn)生一個(gè)中斷信號(hào),然后通過(guò)這個(gè)中斷信號(hào)控制相應(yīng)的程序獲取與之相對(duì)應(yīng)的虛擬碼,最后此虛擬碼由上層調(diào)用,實(shí)現(xiàn)按下此鍵的相應(yīng)功能。
鍵盤(pán)配置是很關(guān)鍵的,其中包括按鍵的個(gè)數(shù)、布局及按鍵功能的配置。鍵盤(pán)可以按照自定義布局,并且可以按照自己的喜好映射按鍵,從而實(shí)現(xiàn)按鍵的不同功能;對(duì)于Intel PXA272芯片而言,最多支持8×8的矩陣鍵盤(pán),這個(gè)矩陣鍵盤(pán)接口連接PXA272處理器到矩陣鍵盤(pán)上,本次開(kāi)發(fā)只使用7×3的矩陣鍵盤(pán),鍵盤(pán)布局按照常用手機(jī)鍵盤(pán)布局,其中Intel PXA272芯片的GPIO107、GPIO108、GPIO96分別對(duì)應(yīng)矩陣鍵盤(pán)的輸出端口4~6,Intel PXA272芯片的GPIO100、GPIO101、GPIO102、GPIO97、GPIO39、GPIO90、GPIO91分別對(duì)應(yīng)矩陣鍵盤(pán)的輸入端口0~6。矩陣鍵盤(pán)原理詳見(jiàn)下圖1所示[1]。
圖1 矩陣鍵盤(pán)原理圖
3. 鍵盤(pán)接口I/O信號(hào)描述
KP_MKIN7:0>信號(hào)為來(lái)自矩陣鍵盤(pán)的輸入信號(hào)和矩陣行所讀取的信號(hào)。
KP_MKOUT7:0>為矩陣鍵盤(pán)的輸出信號(hào)。這個(gè)鍵盤(pán)接口發(fā)射掃描信號(hào)到矩陣鍵盤(pán)的每一列,并檢查是否有鍵被按下。
評(píng)論