獨立式鍵盤掃描定位電路的制作方法
【技術領域】
[0001] 本發(fā)明涉及一種鍵盤的掃描電路,尤其是一種獨立式鍵盤掃描定位電路。
【背景技術】
[0002] 隨著嵌入式技術的不斷發(fā)展,當前各類電子產品普遍采用微控制器作為控制核 心,鍵盤作為主要的輸入設備,得到了廣泛的應用。
[0003] 目前的鍵盤掃描主要由微控制器所控制,需要通過運行微控制器中的程序來進 行,遇到干擾,造成程序飛跑,掃描程序將不能正常工作。
[0004] 申請?zhí)枮镃N201010153560.2的發(fā)明專利"一種矩陣鍵盤的快速掃描定位方法"采 用鍵盤中斷觸發(fā)的方式進入鍵盤的掃描定位過程,采用多次重復鍵盤掃描步驟的方法判斷 按鍵是否有效,并對所獲得的鍵值進行狀態(tài)判斷;如果多次采樣狀態(tài)相同,則處于穩(wěn)定狀 態(tài),鍵值有效;如果多次采樣狀態(tài)不同,鍵值無效。單鍵操作或組合鍵操作需要單獨判斷,如 是單鍵操作,則進入單鍵處理模式;如是組合鍵操作,則進入組合鍵處理模式。該專利所述 方法解決了由于鍵盤自身的機械特性造成的鍵盤抖動而引起錯鍵、連續(xù)觸鍵等錯誤問題, 以及對組合鍵和重復按鍵的支持問題。但所述方法單鍵操作與組合鍵操作需要分別處理; 沒有考慮鍵盤狀態(tài)維持一段時間到后才執(zhí)行有效操作的鍵盤操作功能;增減按鍵操作功能 或者是調整按鍵操作功能時,需要修改鍵盤掃描定位程序結構。
【發(fā)明內容】
[0005] 為了解決現(xiàn)有鍵盤掃描定位方法存在的上述技術問題,本發(fā)明提供了一種獨立式 鍵盤掃描定位電路,由獨立式鍵盤、緩沖寄存器、狀態(tài)碼寄存器、編碼器組成。
[0006] 所述獨立式鍵盤共有N個按鍵,設有N位鍵盤狀態(tài)信號輸出端;所述N位鍵盤狀態(tài)信 號為電平信號。
[0007] 所述緩沖寄存器為N位二進制寄存器;緩沖寄存器的N位數據輸入端連接至N位鍵 盤狀態(tài)信號輸出端。
[0008] 所述狀態(tài)碼寄存器為2 XN位二進制寄存器;狀態(tài)碼寄存器的2 XN位數據輸入端中 的N位連接至N位鍵盤狀態(tài)信號輸出端,另外N位連接至緩沖寄存器的N位數據輸出端。
[0009] 所述編碼器有2 XN位編碼輸入端,所述2 XN位編碼輸入端連接至狀態(tài)碼寄存器的 2 X N位數據輸出端;所述編碼器有Μ位鍵號輸出端。
[0010]所述緩沖寄存器的接收脈沖輸入端和狀態(tài)碼寄存器的接收脈沖輸入端均連接至 時鐘脈沖。
[0011] 所述緩沖寄存器和狀態(tài)碼寄存器在時鐘脈沖的上升沿同時進行數據鎖存,或者在 時鐘脈沖的下降沿同時進行數據鎖存。
[0012] 所述狀態(tài)碼寄存器2ΧΝ位數據輸出端輸出2ΧΝ位的狀態(tài)碼;所述狀態(tài)碼由有效狀 態(tài)碼和無效狀態(tài)碼組成;所述編碼器輸出的鍵號由有效鍵號和無效鍵號組成;所述有效狀 態(tài)碼由有效鍵盤操作或狀態(tài)產生,編碼器輸入每一個有效狀態(tài)碼時對應輸出相應的有效鍵 號;所述無效狀態(tài)碼由無效鍵盤操作或狀態(tài)產生,編碼器輸入所有無效狀態(tài)碼時都對應輸 出無效鍵號。
[0013] 所述編碼器有Μ位鍵號輸出端,Μ值的選擇應滿足2?大于等于有效鍵號與無效鍵號 的數量之和。
[0014] 所述Ν位鍵盤狀態(tài)信號與Ν個按鍵之間滿足一一對應關系。
[0015] 所述時鐘脈沖的周期為20~100ms;所述獨立式鍵盤掃描定位電路還包括振蕩器; 所述振蕩器輸出時鐘脈沖。
[0016] 所述獨立式鍵盤掃描定位電路還包括鍵盤狀態(tài)變化脈沖產生單元,用于判斷獨立 式鍵盤輸出的鍵號是否發(fā)生改變,當獨立式鍵盤輸出的鍵號發(fā)生改變時,輸出鍵盤狀態(tài)變 化脈沖。
[0017] 所述鍵盤狀態(tài)變化脈沖產生單元由Μ位延遲緩沖器、Μ個異或門和或門組成;Μ位延 遲緩沖器用于對獨立式鍵盤輸出的Μ位鍵號分別進行信號延遲;Μ個異或門的輸入分別為Μ 位延遲緩沖器的輸入、輸出信號;Μ個異或門的輸出分別連接至或門的輸入端;或門的輸出 端輸出鍵盤狀態(tài)變化脈沖。
[0018] 所述的Ν位、2 X Ν位、Μ位均指二進制位數據。
[0019] 本發(fā)明的有益效果是:將對單鍵操作、組合鍵操作、鍵盤維持狀態(tài)操作的定位,由 時鐘脈沖掃描轉換成同一二進制長度的狀態(tài)碼,采用統(tǒng)一編碼的方式進行處理,單鍵操作、 組合鍵操作、鍵盤維持狀態(tài)操作僅體現(xiàn)在狀態(tài)碼的不同上;如果需要增減按鍵操作功能或 者是調整按鍵操作功能,不需要修改鍵盤掃描電路結構,只需根據增減后的狀態(tài)碼與鍵號 之間的對應關系更改編碼器、即重新寫入只讀存儲器的存儲內容即可。所述發(fā)明電路沒有 使用單片機、ARM等微控制器,不用運行程序,工作可靠。
【附圖說明】
[0020] 圖1是獨立式鍵盤掃描定位電路原理框圖;
[0021 ]圖2是本發(fā)明實施例的獨立式鍵盤電路圖;
[0022]圖3是本發(fā)明實施例的掃描定位電路圖;
[0023] 圖4是本發(fā)明實施例的鍵盤狀態(tài)變化脈沖產生單元的電路圖;
[0024] 圖5是本發(fā)明實施例的鍵盤有效操作的相關波形示意圖。
【具體實施方式】
[0025] 以下結合附圖對本發(fā)明作進一步說明。
[0026]圖1是獨立式鍵盤掃描定位電路原理框圖,由獨立式鍵盤400、緩沖寄存器100、狀 態(tài)碼寄存器200、編碼器300、振蕩器500組成。
[0027]圖2是本發(fā)明實施例的獨立式鍵盤400的電路圖,共有4個按鍵,由按鍵S1、按鍵S2、 按鍵S3、按鍵S4和連接至電源+VCC的上拉電阻R1、上拉電阻R2、上拉電阻R3、上拉電阻R4組 成。獨立式鍵盤400的4個輸出端分別一一對應輸出按鍵S1、按鍵S2、按鍵S3、按鍵S4的狀態(tài) 信號II、12、13、14,按鍵按下時,相應輸出端的狀態(tài)信號為低電平;按鍵未按下時,相應輸出 端的狀態(tài)信號為高電平。
[0028]圖1中的緩沖寄存器100、狀態(tài)碼寄存器200、編碼器300組成掃描定位電路,其實施 例電路圖如圖3所示。獨立式鍵盤電路有4個按鍵,因此,緩沖寄存器100要求寄存4位二進制 數據,狀態(tài)碼寄存器200要求寄存8位二進制數據。緩沖寄存器100的4個數據輸入端連接至 II、12、13、14;狀態(tài)碼寄存器200的8個數據輸入端中,4個數據輸入端連接至II、12、13、14, 另外4個數據輸入端連接至緩沖寄存器100的4個輸出端;編碼器300的8個輸入端連接至狀 態(tài)碼寄存器200的8個輸出端。編碼器300輸出經過掃描定位確定的4位二進制鍵號。
[0029]圖3中,觸發(fā)器101組成緩沖寄存器100、觸發(fā)器201組成狀態(tài)碼寄存器200。觸發(fā)器 101由4個邊沿觸發(fā)器組成,4個邊沿觸發(fā)器的觸發(fā)輸入端為緩沖寄存器100的接收脈沖輸入 端,均連接至振蕩器500的CP時鐘脈沖輸出端;觸發(fā)器201由8個邊沿觸發(fā)器組成,8個邊沿觸 發(fā)器的觸發(fā)輸入端為狀態(tài)碼寄存器200的接收脈沖輸入端,均連接至振蕩器500的CP時鐘脈 沖輸出端。觸發(fā)器101、觸發(fā)器201優(yōu)選由邊沿觸發(fā)的D觸發(fā)器組成,例如,由雙D觸發(fā)器 74HC74、4D觸發(fā)器74HC175組成。圖3實施例中,觸發(fā)器101、觸發(fā)器201均選擇上升沿觸發(fā)的 8D觸發(fā)器74HC273,此時,要將圖3中未畫出的清零輸入端連接至高電平,使74HC273的清零 功能處于無效狀態(tài),只具有觸發(fā)功能;觸發(fā)器101只需要4D觸發(fā)器,任意使用所選8D觸發(fā)器 74HC273中的4個D觸發(fā)器即可。兩個8D觸發(fā)器74HC273的觸發(fā)輸入端CLK1、CLK2均連接至CP。
[0030] 圖3中,只讀存儲器301組成編碼器300。只讀存儲器301的地址輸入端A7~A0為編 碼器300的輸入端,只讀存儲器301的數據輸出端D3~D0為編碼器300的編碼輸出端C3~C0。
[0031] 實施例未畫出振蕩器500的電路,振蕩器500為多諧振蕩器,輸出周期為20~100ms 的矩形波,該矩形波為圖3中的CP時鐘脈沖。CP時鐘脈沖也可以由獨立式鍵盤掃描定位電路 之外的電路或者裝置提供。