矩陣式鍵盤掃描定位電路的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種鍵盤的掃描電路,尤其是一種矩陣式鍵盤掃描定位電路。
【背景技術(shù)】
[0002] 隨著嵌入式技術(shù)的不斷發(fā)展,當(dāng)前各類電子產(chǎn)品普遍采用微控制器作為控制核 屯、,鍵盤作為主要的輸入設(shè)備,得到了廣泛的應(yīng)用。
[0003] 目前的鍵盤掃描主要由微控制器所控制,需要通過運(yùn)行微控制器中的程序來進(jìn) 行,遇到干擾,造成程序飛跑,掃描程序?qū)⒉荒苷9ぷ鳌?br>[0004] 申請(qǐng)?zhí)枮镃N201010153560.2的發(fā)明專利"一種矩陣鍵盤的快速掃描定位方法"采 用鍵盤中斷觸發(fā)的方式進(jìn)入鍵盤的掃描定位過程,采用多次重復(fù)鍵盤掃描步驟的方法判斷 按鍵是否有效,并對(duì)所獲得的鍵值進(jìn)行狀態(tài)判斷;如果多次采樣狀態(tài)相同,則處于穩(wěn)定狀 態(tài),鍵值有效;如果多次采樣狀態(tài)不同,鍵值無效。單鍵操作或組合鍵操作需要單獨(dú)判斷,如 是單鍵操作,則進(jìn)入單鍵處理模式;如是組合鍵操作,則進(jìn)入組合鍵處理模式。該專利所述 方法解決了由于鍵盤自身的機(jī)械特性造成的鍵盤抖動(dòng)而引起錯(cuò)鍵、連續(xù)觸鍵等錯(cuò)誤問題, W及對(duì)組合鍵和重復(fù)按鍵的支持問題。但所述方法單鍵操作與組合鍵操作需要分別處理; 沒有考慮鍵盤狀態(tài)維持一段時(shí)間到后才執(zhí)行有效操作的鍵盤操作功能;增減按鍵操作功能 或者是調(diào)整按鍵操作功能時(shí),需要修改鍵盤掃描定位程序結(jié)構(gòu)。
【發(fā)明內(nèi)容】
[0005] 為了解決現(xiàn)有鍵盤掃描定位方法存在的上述技術(shù)問題,本發(fā)明提供了一種矩陣式 鍵盤掃描定位電路,由矩陣式鍵盤、緩沖寄存器、狀態(tài)碼寄存器、編碼器組成。
[0006] 所述矩陣式鍵盤共有X行、Y列,設(shè)有N位鍵盤狀態(tài)信號(hào)輸出端;所述N位鍵盤狀態(tài)信 號(hào)為電平信號(hào);所述N=X+Y。
[0007] 所述緩沖寄存器為N位二進(jìn)制寄存器;緩沖寄存器的N位數(shù)據(jù)輸入端連接至N位鍵 盤狀態(tài)信號(hào)輸出端。
[000引所述狀態(tài)碼寄存器為2 X N位二進(jìn)制寄存器;狀態(tài)碼寄存器的2 X N位數(shù)據(jù)輸入端中 的N位連接至N位鍵盤狀態(tài)信號(hào)輸出端,另外N位連接至緩沖寄存器的N位數(shù)據(jù)輸出端。
[0009] 所述編碼器有2XN位編碼輸入端,所述2XN位編碼輸入端連接至狀態(tài)碼寄存器的 2 X N位數(shù)據(jù)輸出端;所述編碼器有M位鍵號(hào)輸出端。
[0010] 所述緩沖寄存器的接收脈沖輸入端和狀態(tài)碼寄存器的接收脈沖輸入端均連接至 時(shí)鐘脈沖。
[ocm]所述矩陣式鍵盤由X行-Y列按鍵矩陣、行立態(tài)緩沖器、列立態(tài)緩沖器、行狀態(tài)寄存 器、列狀態(tài)寄存器組成;所有按鍵矩陣的行線分別連接至行=態(tài)緩沖器的輸出端,所有按鍵 矩陣的列線分別連接至列=態(tài)緩沖器的輸出端;行=態(tài)緩沖器和列=態(tài)緩沖器的所有輸入 端連接至低電平;所有按鍵矩陣的行線分別連接至行狀態(tài)寄存器的輸入端,所有按鍵矩陣 的列線分別連接至列狀態(tài)寄存器的輸入端;所述行狀態(tài)寄存器的輸出端與列狀態(tài)寄存器的 輸出端共同組成鍵盤狀態(tài)信號(hào)輸出端。
[0012] 所述矩陣式鍵盤由取樣脈沖控制獲取鍵盤狀態(tài)信號(hào);所述行=態(tài)緩沖器在取樣脈 沖的低電平使能有效時(shí),要求列狀態(tài)寄存器在取樣脈沖的上升沿進(jìn)行數(shù)據(jù)鎖存、列=態(tài)緩 沖器在取樣脈沖的高電平使能有效、行狀態(tài)寄存器在取樣脈沖的下降沿進(jìn)行數(shù)據(jù)鎖存;或 者是,行=態(tài)緩沖器在取樣脈沖的高電平使能有效時(shí),要求列狀態(tài)寄存器在取樣脈沖的下 降沿進(jìn)行數(shù)據(jù)鎖存、列=態(tài)緩沖器在取樣脈沖的低電平使能有效、行狀態(tài)寄存器在取樣脈 沖的上升沿進(jìn)行數(shù)據(jù)鎖存。
[0013] 所述緩沖寄存器和狀態(tài)碼寄存器在時(shí)鐘脈沖的上升沿同時(shí)進(jìn)行數(shù)據(jù)鎖存,或者在 時(shí)鐘脈沖的下降沿同時(shí)進(jìn)行數(shù)據(jù)鎖存;所述狀態(tài)碼寄存器2 X N位數(shù)據(jù)輸出端輸出2 X N位的 狀態(tài)碼;所述狀態(tài)碼由有效狀態(tài)碼和無效狀態(tài)碼組成;所述編碼器輸出的鍵號(hào)由有效鍵號(hào) 和無效鍵號(hào)組成;所述有效狀態(tài)碼由有效鍵盤操作或狀態(tài)產(chǎn)生,編碼器輸入每一個(gè)有效狀 態(tài)碼時(shí)對(duì)應(yīng)輸出相應(yīng)的有效鍵號(hào);所述無效狀態(tài)碼由無效鍵盤操作或狀態(tài)產(chǎn)生,編碼器輸 入所有無效狀態(tài)碼時(shí)都對(duì)應(yīng)輸出無效鍵號(hào)。
[0014] 所述編碼器有M位鍵號(hào)輸出端,M值的選擇應(yīng)滿足/大于等于有效鍵號(hào)與無效鍵號(hào) 的數(shù)量之和。
[0015] 所述時(shí)鐘脈沖的周期為20~looms;所述取樣脈沖的周期不大于所述時(shí)鐘脈沖的 周期,其特例是所述取樣脈沖為所述時(shí)鐘脈沖。
[0016] 所述的矩陣式鍵盤掃描定位電路還包括振蕩器;所述振蕩器輸出時(shí)鐘脈沖和取樣 脈沖。
[0017] 所述的矩陣式鍵盤掃描定位電路還包括鍵盤狀態(tài)變化脈沖產(chǎn)生單元,用于判斷矩 陣式鍵盤輸出的鍵號(hào)是否發(fā)生改變,當(dāng)矩陣式鍵盤輸出的鍵號(hào)發(fā)生改變時(shí),輸出鍵盤狀態(tài) 變化脈沖。
[001引所述鍵盤狀態(tài)變化脈沖產(chǎn)生單元由M位延遲緩沖器、M個(gè)異或口和或口組成;M位延 遲緩沖器用于對(duì)矩陣式鍵盤輸出的M位鍵號(hào)分別進(jìn)行信號(hào)延遲;M個(gè)異或口的輸入分別為M 位延遲緩沖器的輸入、輸出信號(hào);M個(gè)異或口的輸出分別連接至或口的輸入端;或口的輸出 端輸出鍵盤狀態(tài)變化脈沖。
[0019] 所述的N位、2XN位、M位均指二進(jìn)制位數(shù)據(jù)。
[0020]本發(fā)明的有益效果是:將對(duì)單鍵操作、組合鍵操作、鍵盤維持狀態(tài)操作的定位,由 時(shí)鐘脈沖掃描轉(zhuǎn)換成同一二進(jìn)制長度的狀態(tài)碼,采用統(tǒng)一編碼的方式進(jìn)行處理,單鍵操作、 組合鍵操作、鍵盤維持狀態(tài)操作僅體現(xiàn)在狀態(tài)碼的不同上;如果需要增減按鍵操作功能或 者是調(diào)整按鍵操作功能,不需要修改鍵盤掃描電路結(jié)構(gòu),只需根據(jù)增減后的狀態(tài)碼與鍵號(hào) 之間的對(duì)應(yīng)關(guān)系更改編碼器、即重新寫入只讀存儲(chǔ)器的存儲(chǔ)內(nèi)容即可。所述發(fā)明電路沒有 使用單片機(jī)、ARM等微控制器,不用運(yùn)行程序,工作可靠。
【附圖說明】
[0021 ]圖1是矩陣式鍵盤掃描定位電路原理框圖;
[0022] 圖2是本發(fā)明實(shí)施例的矩陣式鍵盤電路圖;
[0023] 圖3是本發(fā)明實(shí)施例的掃描定位電路圖;
[0024] 圖4是本發(fā)明實(shí)施例的鍵盤狀態(tài)變化脈沖產(chǎn)生單元的電路圖;
[0025] 圖5是本發(fā)明實(shí)施例的鍵盤有效操作的相關(guān)波形示意圖。
【具體實(shí)施方式】
[0026] W下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
[0027] 圖1是矩陣式鍵盤掃描定位電路原理框圖,由矩陣式鍵盤400、緩沖寄存器100、狀 態(tài)碼寄存器200、編碼器300、振蕩器500組成。
[002引振蕩器500為多諧振蕩器,設(shè)有CP時(shí)鐘脈沖輸出端和CK取樣脈沖輸出端,CP時(shí)鐘脈 沖的周期為20~100ms,CK取樣脈沖的周期不大于CP時(shí)鐘脈沖的周期。
[0029] 圖2是本發(fā)明實(shí)施例的矩陣式鍵盤400的電路圖,共有2行、2列,共4個(gè)按鍵,由按鍵 Sl、按鍵S2、按鍵S3、按鍵S4和連接至電源+VCC的上拉電阻Rl、上拉電阻R2、上拉電阻R3、上 拉電阻R4, W及行S態(tài)緩沖器401、列S態(tài)緩沖器402、行狀態(tài)寄存器403、列狀態(tài)寄存器404 組成。行=態(tài)緩沖器401的2個(gè)輸出端Y1、Y2分別連接至2根行線,列=態(tài)緩沖器402的2個(gè)輸 出端Y3、M分別連接至2根列線;行S態(tài)緩沖器40巧日列S態(tài)緩沖器402的所有輸入端Xl~X4 連接至低電平。
[0030] 行狀態(tài)寄存器403的2個(gè)輸入端D4UD42分別連接至2根行線,列狀態(tài)寄存器404的2 個(gè)輸入端D43、D44分別連接至2根列線;行狀態(tài)寄存器403的2個(gè)輸出端Q41、Q42輸出行狀態(tài) 信號(hào)11、12,列狀態(tài)寄存器4