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