矩陣式鍵盤掃描及編碼電路的制作方法
【技術領域】
[0001] 本發明涉及一種鍵盤的掃描電路,尤其是一種矩陣式鍵盤掃描及編碼電路。
【背景技術】
[0002] 隨著嵌入式技術的不斷發展,當前各類電子產品普遍采用微控制器作為控制核 心,鍵盤作為主要的輸入設備,得到了廣泛的應用。
[0003] 目前的鍵盤掃描主要由微控制器所控制,需要通過運行微控制器中的程序來進 行,遇到干擾,造成程序飛跑,掃描程序將不能正常工作。
[0004] 申請號為CN201010153560.2的發明專利"一種矩陣鍵盤的快速掃描定位方法"采 用鍵盤中斷觸發的方式進入鍵盤的掃描定位過程,采用多次重復鍵盤掃描步驟的方法判斷 按鍵是否有效,并對所獲得的鍵值進行狀態判斷;如果多次采樣狀態相同,則處于穩定狀 態,鍵值有效;如果多次采樣狀態不同,鍵值無效。單鍵操作或組合鍵操作需要單獨判斷,如 是單鍵操作,則進入單鍵處理模式;如是組合鍵操作,則進入組合鍵處理模式。該專利所述 方法解決了由于鍵盤自身的機械特性造成的鍵盤抖動而引起錯鍵、連續觸鍵等錯誤問題, 以及對組合鍵和重復按鍵的支持問題。但所述方法單鍵操作與組合鍵操作需要分別處理; 沒有考慮鍵盤狀態維持一段時間到后才執行有效操作的鍵盤操作功能;增減按鍵操作功能 或者是調整按鍵操作功能時,需要修改鍵盤掃描定位程序結構。
【發明內容】
[0005] 為了解決現有鍵盤掃描定位方法存在的上述技術問題,本發明提供了一種矩陣式 鍵盤掃描及編碼電路,由矩陣式鍵盤、第一緩沖寄存器、第二緩沖寄存器、狀態碼寄存器、編 碼器、數據組合單元組成。
[0006] 所述矩陣式鍵盤掃描及編碼電路由掃描脈沖、時鐘脈沖和取樣脈沖進行同步控 制。
[0007] 所述矩陣式鍵盤共有X行、Y列,設有N位鍵盤狀態信號輸出端;所述N位鍵盤狀態信 號為電平信號;所述N=X+Y。
[0008] 所述第一緩沖寄存器和第二緩沖寄存器均N位二進制寄存器;所述第一緩沖寄存 器的N位數據輸入端依次連接至N位鍵盤狀態信號輸出端;所述第二緩沖寄存器的N位數據 輸入端依次連接至N位鍵盤狀態信號輸出端。
[0009] 所述第一緩沖寄存器和第二緩沖寄存器的接收脈沖輸入端連接至掃描脈沖。
[0010]所述數據組合單元設有第一路N位數據輸入端、第二路N位數據輸入端和2 XN位數 據輸出端;所述第一路N位數據輸入端依次連接至第一緩沖寄存器的N位數據輸出端,第二 路N位數據輸入端依次連接至第二緩沖寄存器的N位數據輸出端。
[0011]所述數據組合單元還設有數據選擇信號端;所述數據選擇信號端連接至掃描脈 沖;數據組合單元的2 X N位數據輸出中,所述掃描脈沖為低電平時,第一路N位數據在前,第 二路N位數據在后;所述掃描脈沖為高電平時,第一路N位數據在后,第二路N位數據在前;或 者是,數據組合單元的2XN位數據輸出中,所述掃描脈沖為低電平時,第一路N位數據在后, 第二路N位數據在前;所述掃描脈沖為高電平時,第一路N位數據在前,第二路N位數據在后。
[0012] 所述狀態碼寄存器為2 X N位二進制寄存器;狀態碼寄存器的2 X N位數據輸入端連 接至數據組合單元的2XN位數據輸出端。
[0013] 所述狀態碼寄存器的接收脈沖輸入端連接至時鐘脈沖;所述矩陣式鍵盤由取樣脈 沖控制獲取N位鍵盤狀態信號;
[0014] 所述編碼器有2 XN位編碼輸入端,所述2 XN位編碼輸入端連接至狀態碼寄存器的 2 XN位數據輸出端。
[0015] 所述時鐘脈沖的周期為20~100ms;所述掃描脈沖為時鐘脈沖的二分頻信號;所述 取樣脈沖的周期不大于所述時鐘脈沖的周期。
[0016] 所述時鐘脈沖控制掃描脈沖翻轉的無效觸發邊沿稱為狀態鎖存沿;所述狀態碼寄 存器在時鐘脈沖的狀態鎖存沿進行數據鎖存;所述第一緩沖寄存器在掃描脈沖的上升沿進 行數據鎖存時,第二緩沖寄存器在掃描脈沖的下降沿進行數據鎖存;或者是,所述第一緩沖 寄存器在掃描脈沖的下降沿進行數據鎖存時,第二緩沖寄存器在掃描脈沖的上升沿進行數 據鎖存。
[0017] 所述狀態碼寄存器的2XN位數據輸出端輸出2XN位的狀態碼;所述狀態碼由有效 狀態碼和無效狀態碼組成;所述編碼器輸出的鍵號由有效鍵號和無效鍵號組成;所述有效 狀態碼由有效鍵盤操作或狀態產生,編碼器輸入每一個有效狀態碼時對應輸出相應的有效 鍵號;所述無效狀態碼由無效鍵盤操作或狀態產生,編碼器輸入所有無效狀態碼時都對應 輸出無效鍵號。
[0018]所述編碼器有Μ位鍵號輸出端,Μ值的選擇應滿足2?大于等于有效鍵號與無效鍵號 的數量之和。
[0019] 所述矩陣式鍵盤掃描及編碼電路還包括鍵盤狀態變化脈沖產生單元,用于判斷矩 陣式鍵盤輸出的鍵號是否發生改變,當矩陣式鍵盤輸出的鍵號發生改變時,輸出鍵盤狀態 變化脈沖。
[0020] 所述鍵盤狀態變化脈沖產生單元由Μ位延遲緩沖器、Μ個異或門和或門組成;Μ位延 遲緩沖器用于對矩陣式鍵盤輸出的Μ位鍵號分別進行信號延遲;Μ個異或門的輸入分別為Μ 位延遲緩沖器的輸入、輸出信號;Μ個異或門的輸出分別連接至或門的輸入端;或門的輸出 端輸出鍵盤狀態變化脈沖。
[0021] 所述矩陣式鍵盤掃描及編碼電路還包括振蕩器;所述振蕩器輸出時鐘脈沖、掃描 脈沖和取樣脈沖。
[0022]所述矩陣式鍵盤由X行-Υ列按鍵矩陣、行三態緩沖器、列三態緩沖器、行狀態寄存 器、列狀態寄存器組成;所有按鍵矩陣的行線分別連接至行三態緩沖器的輸出端,所有按鍵 矩陣的列線分別連接至列三態緩沖器的輸出端;行三態緩沖器和列三態緩沖器的所有輸入 端連接至低電平;所有按鍵矩陣的行線分別連接至行狀態寄存器的輸入端,所有按鍵矩陣 的列線分別連接至列狀態寄存器的輸入端;所述行狀態寄存器的輸出端與列狀態寄存器的 輸出端共同組成鍵盤狀態信號輸出端。
[0023]所述行三態緩沖器在取樣脈沖的低電平使能有效時,要求列狀態寄存器在取樣脈 沖的上升沿進行數據鎖存、列三態緩沖器在取樣脈沖的高電平使能有效、行狀態寄存器在 取樣脈沖的下降沿進行數據鎖存;或者是,行三態緩沖器在取樣脈沖的高電平使能有效時, 要求列狀態寄存器在取樣脈沖的下降沿進行數據鎖存、列三態緩沖器在取樣脈沖的低電平 使能有效、行狀態寄存器在取樣脈沖的上升沿進行數據鎖存。
[0024] 所述的N位、2 XN位、Μ位均指二進制位數據。
[0025] 本發明的有益效果是:將對矩陣式鍵盤的單鍵操作、組合鍵操作、鍵盤維持狀態操 作的定位,由時鐘脈沖、掃描脈沖控制轉換成同一二進制長度的狀態碼,采用統一編碼的方 式進行處理,單鍵操作、組合鍵操作、鍵盤維持狀態操作僅體現在狀態碼的不同上;如果需 要增減按鍵操作功能或者是調整按鍵操作功能,不需要修改鍵盤掃描電路結構,只需根據 增減后的狀態碼與鍵號之間的對應關系更改編碼器、即重新寫入只讀存儲器的存儲內容即 可。所述發明電路沒有使用單片機、ARM等微控制器,不用運行程序,工作可靠。
【附圖說明】
[0026] 圖1是矩陣式鍵盤掃描及編碼電路原理框圖;
[0027] 圖2是本發明實施例的矩陣式鍵盤電路圖;
[0028] 圖3是本發明實施例的掃描定位電路圖;
[0029] 圖4是本發明實施例的數據組合單元電路圖;
[0030] 圖5是本發明實施例的時鐘脈沖和掃描脈沖波形圖;
[0031 ]圖6是本發明實施例的鍵盤狀態變化脈沖產生單元的電路圖;
[0032] 圖7是本發明實施例的鍵盤有效操作的相關波形示意圖。
【具體實施方式】
[0033] 以下結合附圖對本發明作進一步說明。
[0034]圖1是矩陣式鍵盤掃描及編碼電路原理框圖,由矩陣式鍵盤400、第一緩沖寄存器 101、第二緩沖寄存器102、狀態碼寄存器200、編碼器300、數據組合單元500組成。
[0035]圖2是本發明實施例的矩陣式鍵盤400的電路圖,共有2行、2列,共4個按鍵,由按鍵 S1、按鍵S2、按鍵S3、按鍵S4和連接至電源+VCC的上拉電阻R1、上拉電阻R2、上拉電阻R3、上 拉電阻R4,以及行三態緩沖器401、列三態緩沖器402、行狀態寄存器403、列狀態寄存器404 組成。行三態緩沖器401的2個輸出端Y1、Y2分別連接至2根行線,列三態緩沖器402的2個輸 出端Υ3、Υ4分別連接至2根列線;行三態緩沖器401和列三態緩沖器402的所有輸入端XI~Χ4 連接至低電平。
[0036] 行狀態寄存器403的2個輸入端D41、D42分別連接至2根行線,列狀態寄存器404的2 個輸入端D43、D44分別連接至2根列線;行狀態寄存器403的2個輸出端Q41、Q42輸出行狀態 信號II、12,列狀態寄存器404的2個輸出端Q43、Q44輸出列狀態信號13、14;行狀態寄存器 403的2個輸出端與列狀態寄存器404的2個輸出端共同組成4位鍵盤狀態信號輸出端,輸出 鍵盤狀態信號11、12、13、14。
[0037]實施例中,行三態緩沖器401的使能輸入EN1低電平有效,列三態緩沖器402的使能 輸入EN2高電平有效;EN1和EN2均連接至振蕩器500的CK取樣脈沖輸出端。行狀態寄存器403 與列狀態寄存器404的接收脈沖輸入端CLK3、CLK4均連接至振蕩器500的CK取樣脈沖輸