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