一種矩陣式鍵盤掃描定位電路的制作方法
【專利摘要】一種矩陣式鍵盤掃描定位電路,由矩陣式鍵盤、緩沖寄存器、狀態碼寄存器、編碼器組成。所述電路經由時鐘脈沖掃描,將對單鍵操作、組合鍵操作、鍵盤維持狀態操作的定位,轉換成同一二進制長度的有效狀態碼和無效狀態碼,編碼器輸出與每一個有效狀態碼對應的有效鍵號或者是輸出與所有無效狀態碼對應的無效鍵號;不同的單鍵操作、組合鍵操作、鍵盤維持狀態操作僅體現在狀態碼的不同上;如果需要增減按鍵操作功能或者是調整按鍵操作功能,不需要修改鍵盤掃描電路結構,只需根據增減后的狀態碼與鍵號之間的對應關系更改編碼器即可。所述實用新型電路不用編寫和運行程序,工作可靠。
【專利說明】
-種矩陣式鍵盤掃描定位電路
技術領域
[0001] 本實用新型設及一種鍵盤的掃描電路,尤其是一種矩陣式鍵盤掃描定位電路。
【背景技術】
[0002] 隨著嵌入式技術的不斷發展,當前各類電子產品普遍采用微控制器作為控制核 屯、,鍵盤作為主要的輸入設備,得到了廣泛的應用。
[0003] 目前的鍵盤掃描主要由微控制器所控制,需要通過運行微控制器中的程序來進 行,遇到干擾,造成程序飛跑,掃描程序將不能正常工作。
[0004] 申請號為CN201010153560.2的發明專利"一種矩陣鍵盤的快速掃描定位方法"采 用鍵盤中斷觸發的方式進入鍵盤的掃描定位過程,采用多次重復鍵盤掃描步驟的方法判斷 按鍵是否有效,并對所獲得的鍵值進行狀態判斷;如果多次采樣狀態相同,則處于穩定狀 態,鍵值有效;如果多次采樣狀態不同,鍵值無效。單鍵操作或組合鍵操作需要單獨判斷,如 是單鍵操作,則進入單鍵處理模式;如是組合鍵操作,則進入組合鍵處理模式。該專利所述 方法解決了由于鍵盤自身的機械特性造成的鍵盤抖動而引起錯鍵、連續觸鍵等錯誤問題, W及對組合鍵和重復按鍵的支持問題。但所述方法單鍵操作與組合鍵操作需要分別處理; 沒有考慮鍵盤狀態維持一段時間到后才執行有效操作的鍵盤操作功能;增減按鍵操作功能 或者是調整按鍵操作功能時,需要修改鍵盤掃描定位程序結構。
【發明內容】
[0005] 為了解決現有鍵盤掃描定位方法存在的上述技術問題,本實用新型提供了一種矩 陣式鍵盤掃描定位電路,由矩陣式鍵盤、緩沖寄存器、狀態碼寄存器、編碼器組成。
[0006] 所述矩陣式鍵盤共有X行、Y列,設有N位鍵盤狀態信號輸出端;所述N位鍵盤狀態信 號為電平信號;所述N=X+Y。
[0007] 所述緩沖寄存器為N位二進制寄存器;緩沖寄存器的N位數據輸入端連接至N位鍵 盤狀態信號輸出端。
[000引所述狀態碼寄存器為2 X N位二進制寄存器;狀態碼寄存器的2 X N位數據輸入端中 的N位連接至N位鍵盤狀態信號輸出端,另外N位連接至緩沖寄存器的N位數據輸出端。
[0009] 所述編碼器有2XN位編碼輸入端,所述2XN位編碼輸入端連接至狀態碼寄存器的 2 X N位數據輸出端;所述編碼器有Μ位鍵號輸出端。
[0010] 所述緩沖寄存器的接收脈沖輸入端和狀態碼寄存器的接收脈沖輸入端均連接至 時鐘脈沖。
[0011] 所述矩陣式鍵盤設有取樣脈沖輸入端。
[0012] 所述矩陣式鍵盤由X行-Υ列按鍵矩陣、低電平使能有效行Ξ態緩沖器、高電平使能 有效列Ξ態緩沖器、下降沿鎖存有效行狀態寄存器、上升沿鎖存有效列狀態寄存器組成;所 有按鍵矩陣的行線分別連接至行Ξ態緩沖器的輸出端,所有按鍵矩陣的列線分別連接至列 Ξ態緩沖器的輸出端;行Ξ態緩沖器和列Ξ態緩沖器的所有輸入端連接至低電平;所有按 鍵矩陣的行線分別連接至行狀態寄存器的輸入端,所有按鍵矩陣的列線分別連接至列狀態 寄存器的輸入端;所述行狀態寄存器的輸出端與列狀態寄存器的輸出端共同組成鍵盤狀態 信號輸出端。
[001引所述低電平使能有效行立態緩沖器、高電平使能有效列立態緩沖器的使能控制輸 入端連接至取樣脈沖;所述下降沿鎖存有效行狀態寄存器、上升沿鎖存有效列狀態寄存器 的接收脈沖輸入端連接至取樣脈沖。
[0014] 所述緩沖寄存器和狀態碼寄存器在時鐘脈沖的上升沿同時進行數據鎖存,或者在 時鐘脈沖的下降沿同時進行數據鎖存;所述狀態碼寄存器2 X N位數據輸出端輸出2 X N位的 狀態碼;所述狀態碼由有效狀態碼和無效狀態碼組成;所述編碼器輸出的鍵號由有效鍵號 和無效鍵號組成;所述有效狀態碼由有效鍵盤操作或狀態產生,編碼器輸入每一個有效狀 態碼時對應輸出相應的有效鍵號;所述無效狀態碼由無效鍵盤操作或狀態產生,編碼器輸 入所有無效狀態碼時都對應輸出無效鍵號。
[0015] 所述編碼器有Μ位鍵號輸出端,Μ值的選擇應滿足/大于等于有效鍵號與無效鍵號 的數量之和。
[0016] 所述時鐘脈沖的周期為20~100ms;所述取樣脈沖的周期不大于所述時鐘脈沖的 周期,其特例是所述取樣脈沖為所述時鐘脈沖。
[0017] 所述的一種矩陣式鍵盤掃描定位電路還包括振蕩器;所述振蕩器輸出時鐘脈沖和 取樣脈沖。
[0018] 所述的一種矩陣式鍵盤掃描定位電路還包括鍵盤狀態變化脈沖產生單元,用于判 斷矩陣式鍵盤輸出的鍵號是否發生改變,當矩陣式鍵盤輸出的鍵號發生改變時,輸出鍵盤 狀態變化脈沖。
[0019]所述鍵盤狀態變化脈沖產生單元由Μ位延遲緩沖器、Μ個異或口和或Π 組成;Μ位延 遲緩沖器用于對矩陣式鍵盤輸出的Μ位鍵號分別進行信號延遲;Μ個異或口的輸入分別為Μ 位延遲緩沖器的輸入、輸出信號;Μ個異或口的輸出分別連接至或口的輸入端;或口的輸出 端輸出鍵盤狀態變化脈沖。
[0020] 所述的Ν位、2ΧΝ位、Μ位均指二進制位數據。
[0021] 本實用新型的有益效果是:將對單鍵操作、組合鍵操作、鍵盤維持狀態操作的定 位,由時鐘脈沖掃描轉換成同一二進制長度的狀態碼,采用統一編碼的方式進行處理,單鍵 操作、組合鍵操作、鍵盤維持狀態操作僅體現在狀態碼的不同上;如果需要增減按鍵操作功 能或者是調整按鍵操作功能,不需要修改鍵盤掃描電路結構,只需根據增減后的狀態碼與 鍵號之間的對應關系更改編碼器、即重新寫入只讀存儲器的存儲內容即可。所述實用新型 電路沒有使用單片機、ARM等微控制器,不用運行程序,工作可靠。
【附圖說明】
[0022] 圖1是一種矩陣式鍵盤掃描定位電路原理框圖;
[0023] 圖2是本實用新型實施例的矩陣式鍵盤電路圖;
[0024] 圖3是本實用新型實施例的掃描定位電路圖;
[0025] 圖4是本實用新型實施例的鍵盤狀態變化脈沖產生單元的電路圖;
[0026] 圖5是本實用新型實施例的鍵盤有效操作的相關波形示意圖。
【具體實施方式】
[0027] W下結合附圖對本實用新型作進一步說明。
[00%]圖1是矩陣式鍵盤掃描定位電路原理框圖,由矩陣式鍵盤400、緩沖寄存器100、狀 態碼寄存器200、編碼器300、振蕩器500組成。
[0029] 振蕩器500為多諧振蕩器,設有CP時鐘脈沖輸出端和CK取樣脈沖輸出端,CP時鐘脈 沖的周期為20~100ms,CK取樣脈沖的周期不大于CP時鐘脈沖的周期。
[0030] 圖2是本實用新型實施例的矩陣式鍵盤400的電路圖,共有2行、2列,共4個按鍵,由 按鍵S1、按鍵S2、按鍵S3、按鍵S4和連接至電源+VCC的上拉電阻R1、上拉電阻R2、上拉電阻 R3、上拉電阻R4,W及行Ξ態緩沖器401、列Ξ態緩沖器402、行狀態寄存器403、列狀態寄存 器404組成。行Ξ態緩沖器401的2個輸出端Υ1、Υ2分別連接至2根行線,列Ξ態緩沖器402的2 個輸出端Υ3、Μ分別連接至2根列線;行Ξ態緩沖器401和列Ξ態緩沖器402的所有輸入端XI ~Χ4連接至低電平。
[0031] 行狀態寄存器403的2個輸入端D4UD42分別連接至2根行線,列狀態寄存器404的2 個輸入端D43、D44分別連接至2根列線;行狀態寄存器403的2個輸出端Q41、Q42輸出行狀態 信號11、12,列狀態寄存器404的2個輸出端943、944輸出列狀態信號13、14;行狀態寄存器 403的2個輸出端與列狀態寄存器404的2個輸出端共同組成4位鍵盤狀態信號輸出端,輸出 鍵盤狀態信號II、12、13、14。
[0032] 實施例中,行Ξ態緩沖器401的使能輸入EN1低電平有效,列Ξ態緩沖器402的使能 輸入EN2高電平有效;EN巧此肥均連接至振蕩器500的CK取樣脈沖輸出端。行狀態寄存器403 與列狀態寄存器404的接收脈沖輸入端化K3XLK4均連接至振蕩器500的CK取樣脈沖輸出 端,行狀態寄存器403在CK取樣脈沖的下降沿進行數據鎖存,列狀態寄存器404在CK取樣脈 沖的上升沿進行數據鎖存。
[0033] 當行Ξ態緩沖器401和列Ξ態緩沖器402使用同型號的Ξ態緩沖器,例如,同時使 用Ξ態緩沖器74肥241時,74肥241的使能輸入為高電平有效,因此,在CK取樣脈沖輸出端與 行Ξ態緩沖器401的使能輸入端EN1之間,需要增加一個非口。同樣地,當行狀態寄存器403 和列狀態寄存器404使用同型號的數據寄存器,例如,行狀態寄存器403和列狀態寄存器404 均使用雙D觸發器74HC74組成數據寄存器時,74肥74的觸發輸入為上升沿有效,因此,在CK 取樣脈沖輸出端與行狀態寄存器403的接收脈沖輸入端CLK3之間,需要增加一個非口。
[0034] 圖1中的緩沖寄存器100、狀態碼寄存器200、編碼器300組成掃描定位電路,其實施 例電路圖如圖3所示。矩陣式鍵盤電路有4個按鍵,矩陣式鍵盤輸出的鍵盤狀態信號為4位二 進制碼,因此,緩沖寄存器100要求寄存4位二進制數據,狀態碼寄存器200要求寄存8位二進 制數據。緩沖寄存器100的4個數據輸入端連接至11、12、13、14;狀態碼寄存器200的8個數據 輸入端中,4個數據輸入端連接至11、12、13、14,另外4個數據輸入端連接至緩沖寄存器100 的4個輸出端;編碼器300的8個輸入端連接至狀態碼寄存器200的8個輸出端。編碼器300輸 出經過掃描定位確定的4位二進制鍵號。
[0035] 圖3中,觸發器101組成緩沖寄存器100、觸發器201組成狀態碼寄存器200。觸發器 101由4個邊沿觸發器組成,4個邊沿觸發器的觸發輸入端為緩沖寄存器100的接收脈沖輸入 端,均連接至振蕩器500的CP時鐘脈沖輸出端;觸發器201由8個邊沿觸發器組成,8個邊沿觸 發器的觸發輸入端為狀態碼寄存器200的接收脈沖輸入端,均連接至振蕩器500的CP時鐘脈 沖輸出端。觸發器101、觸發器201優選由邊沿觸發的D觸發器組成,例如,由雙D觸發器 74HC74、4D觸發器74HC175組成。圖3實施例中,觸發器101、觸發器201均選擇上升沿觸發的 8D觸發器74HC273,此時,要將圖3中未畫出的清零輸入端連接至高電平,使74HC273的清零 功能處于無效狀態,只具有觸發功能;觸發器101只需要4D觸發器,任意使用所選8D觸發器 74肥273中的4個D觸發器即可。兩個8D觸發器74肥273的觸發輸入端化K1、化K2均連接至CP。
[0036] 圖3中,只讀存儲器301組成編碼器300。只讀存儲器301的地址輸入端A7~A0為編 碼器300的輸入端,只讀存儲器301的數據輸出端D3~DO為編碼器300的編碼輸出端C3~C0。
[0037] 矩陣式鍵盤掃描定位電路的工作原理如下:
[0038] 圖2中,矩陣式鍵盤的4個按鍵W2X 2的矩陣形式排列,所有的行線與列線都通過 上拉電阻接至電源+VCC。矩陣式鍵盤由CK取樣脈沖控制,采用反轉法獲取鍵盤狀態信號14、 13、12、11。例如,沒有鍵按下的鍵盤狀態信號是1111,51按下的鍵盤狀態信號是1010,51、52 同時按下的鍵盤狀態信號是0010。鍵盤狀態信號的4位二進制碼稱為鍵值。
[0039] CK取樣脈沖控制對矩陣式鍵盤進行采樣讀取鍵值的方法是:在CK取樣脈沖的低電 平,通過行Ξ態緩沖器401控制所有行線輸出低電平,列Ξ態緩沖器402輸出高阻態開放列 線;在CK取樣脈沖的上升沿由列狀態寄存器404采樣讀取列線狀態作為鍵值的高2位;在CK 取樣脈沖的高電平,通過列Ξ態緩沖器402控制所有列線輸出低電平,行Ξ態緩沖器401輸 出高阻態開放行線;在CK取樣脈沖的下降沿由行狀態寄存器403采樣讀取行線狀態作為鍵 值的低2位;上述過程周而復始,列狀態寄存器404、行狀態寄存器403輸出的4位鍵值始終為 矩陣式鍵盤的最新狀態。
[0040] 從CK取樣脈沖控制對矩陣式鍵盤進行采樣讀取鍵值的方法可知,行Ξ態緩沖器 401在CK取樣脈沖的低電平使能有效時,同時要求列狀態寄存器404在CK取樣脈沖的上升沿 進行數據鎖存、列Ξ態緩沖器402在CK取樣脈沖的高電平使能有效、行狀態寄存器403在CK 取樣脈沖的下降沿進行數據鎖存。反過來,如果行Ξ態緩沖器401在CK取樣脈沖的高電平使 能有效時,同時要求列狀態寄存器404在CK取樣脈沖的下降沿進行數據鎖存、列Ξ態緩沖器 402在CK取樣脈沖的低電平使能有效、行狀態寄存器403在CK取樣脈沖的上升沿進行數據鎖 存。
[0041] 在上述CK取樣脈沖控制采樣讀取鍵值的過程中,行狀態寄存器403、列狀態寄存器 404進行采樣的時刻恰好是列Ξ態緩沖器402與行Ξ態緩沖器401進行狀態反轉的時刻,正 常工作下的行狀態寄存器403或列狀態寄存器404能夠正確采樣。如果要求有一定時序上的 裕量,則可W對連接至列Ξ態緩沖器402與行Ξ態緩沖器401的CK取樣脈沖進行延遲,方法 是令CK取樣脈沖經過RC延遲電路再連接至行Ξ態緩沖器401與列Ξ態緩沖器402的EN1、 EN2,延遲時間由RC延遲電路決定,確定RC延遲電路的延遲時間的原則是,延遲的CK取樣脈 沖相位不超過90%或者是CK取樣脈沖經過幾個口電路的緩沖后再連接至行Ξ態緩沖器401 與列Ξ態緩沖器402的EN1、EN2,此時的延遲時間為所述幾個口電路的總時延時間。
[0042] 緩沖寄存器100、狀態碼寄存器200在CP時鐘脈沖控制下,在CP的每一個周期的有 效觸發沿進行數據鎖存。圖3中,74HC273為上升沿觸發有效,因此,CP時鐘脈沖的有效觸發 沿為上升沿。
[0043] 狀態碼寄存器200的8個數據輸入端中的4個數據輸入端D20~D23直接連接至矩陣 式鍵盤輸出的狀態信號11、12、13、14,另外4個數據輸入端D24~D27連接至緩沖寄存器100 的數據輸出端Q10~Q13,緩沖寄存器100的4個數據輸入端D10~D13直接連接至矩陣式鍵盤 輸出的狀態信號11、12、13、14,因此,在〔?時鐘脈沖的有效觸發沿,狀態碼寄存器200的8個 數據輸出端中,與直接連接至矩陣式鍵盤輸出的狀態信號11、12、13、14相對應的4個數據輸 出端Q20~Q23鎖存的數據為矩陣式鍵盤的當前狀態,其4位數據稱為現態鍵值;與連接至緩 沖寄存器100的數據輸出端相對應的4個數據輸出端Q24~Q27鎖存的數據為矩陣式鍵盤的 前一狀態,其4位數據稱為前態鍵值。狀態碼寄存器200數據輸出端輸出的4位現態鍵值和4 位前態鍵值共同組成8位狀態碼。
[0044] 所述的8位狀態碼用于識別矩陣式鍵盤的當前狀態和操作狀態。例如,本實施例 中,無鍵按下的狀態碼是11111111 ;S1鍵單鍵按下操作的狀態碼是11111010;S1鍵單鍵按下 且維持的狀態碼是10101010 ;S1鍵單鍵釋放操作的狀態碼是10101111 ;S2鍵單鍵按下操作 的狀態碼是mi〇ll〇;S4鍵單鍵按下操作的狀態碼是11110101 ;S化S1組合操作的S1按下操 作,表示先按下S2后,在S2維持按下的狀態再按下S1的操作,該操作的狀態碼是01100010。
[0045] 編碼器300用于將狀態碼轉換為鍵號。實施例中,設有6個有效的鍵盤操作與狀態, 包括:
[0046] 操作0:按鍵S1的單鍵按下操作,鍵號為0000;
[0047] 操作1:按鍵S2的單鍵按下操作,鍵號為0001;
[004引操作2:按鍵S3的單鍵按下操作,鍵號為0010;
[0049] 操作3:按鍵S3單鍵按下后的維持狀態,鍵號為0011;
[0050] 操作4:按鍵S4單鍵按下后,再按下按鍵S2的組合鍵操作,鍵號為0100;
[0051] 操作5:按鍵S1的單鍵釋放操作,鍵號為0101。
[0052] 根據上述規定得到的狀態碼和鍵號見編碼表1:
[0化3] 表1編碼表
[0化4]
[0055] ~~編碼器300為組合邏輯電路,設計電路,滿足表1的邏輯關系即可。
[0056] 實施例的編碼器300優選由只讀存儲器301組成。只讀存儲器301有8位地址,共28個4位二進制存儲單元。6個有效的鍵盤操作與狀態有6個有效狀態碼,對應6個有效的鍵號; 將狀態碼作為只讀存儲器301的地址A7~A0,在與6個有效狀態碼相對應的存儲單元中,將 相應的鍵號作為存儲數據寫入。6個有效的鍵盤操作與狀態之外產生的狀態碼為無效狀態 碼,即表1中的其他操作或狀態所產生的為無效狀態碼;在其他存儲單元中,全部寫入無效 鍵號,無效鍵號為6個有效鍵號之外的一個值,實施例中,無效鍵號為1111。
[0057] 只讀存儲器301-直工作在數據輸出狀態。當只讀存儲器301具有片選控制、數據 輸出緩沖控制功能時,應使其片選控制、數據輸出緩沖控制處于有效狀態。
[0058] 實施例中的鍵號為4位二進制碼。鍵號的二進制位數可W根據需要增加,或者減 少,此時,只需選擇與此相匹配的只讀存儲器301即可。設鍵號的二進制位數為M,M值的選擇 應滿足2?大于等于有效鍵號與無效鍵號的數量之和。當矩陣式鍵盤有N位鍵盤狀態信號輸 出時,只讀存儲器301需要有2 X N位地址輸入,Μ位數據輸出。
[0059] 如果需要增減按鍵操作功能或者是調整按鍵操作功能,只需根據需要修改表1,將 修改后的內容重新寫入只讀存儲器301的存儲內容即可。
[0060] 實施例中,當矩陣式鍵盤S1單鍵按下時,編碼器300在S1單鍵按下后的CP時鐘脈沖 的有效觸發沿開始,至下一個CP時鐘脈沖的有效觸發沿為止,編碼輸出端C3~C0輸出鍵號 0000;當矩陣式鍵盤S2單鍵按下時,編碼器300在S2單鍵按下后的CP時鐘脈沖的有效觸發沿 開始,至下一個CP時鐘脈沖的有效觸發沿為止,輸出鍵號0001;當矩陣式鍵盤先按下S4后, 再按下S2,編碼器300在S2組合鍵按下后的CP時鐘脈沖的有效觸發沿開始,至下一個CP時鐘 脈沖的有效觸發沿為止,輸出鍵號0100;當矩陣式鍵盤S1單鍵釋放時,編碼器300在S1單鍵 釋放后的CP時鐘脈沖的有效觸發沿開始,至下一個CP時鐘脈沖的有效觸發沿為止,輸出鍵 號0101;因此可W看出,當識別的是矩陣式鍵盤的有效按鍵操作時,編碼器300在該有效按 鍵操作后的CP時鐘脈沖的有效觸發沿開始,至下一個CP時鐘脈沖的有效觸發沿為止,輸出 持續時間為一個CP時鐘脈沖周期寬度的有效鍵號。
[0061] 實施例中,當矩陣式鍵盤S3單鍵按下時,編碼器300在S3單鍵按下后的CP時鐘脈沖 的有效觸發沿開始,至下一個CP時鐘脈沖的有效觸發沿為止,輸出鍵號0010;在接下來的CP 時鐘脈沖的有效觸發沿開始,至S3單鍵按下維持狀態結束后的下一個CP時鐘脈沖的有效觸 發沿為止,編碼器300輸出鍵號0011;因此可W看出,當識別的是矩陣式鍵盤的維持狀態時, 編碼器300輸出有效鍵號的持續時間與該維持狀態的持續時間相適應。
[0062] 當鍵盤的狀態或操作為表1中所述的6個有效的鍵盤操作與狀態之外時,編碼器 300輸出無效鍵號1111。無論是輸出有效鍵號,還是輸出無效鍵號,編碼器300改變輸出內容 的時刻為CP時鐘脈沖的有效觸發沿;實施例中,編碼器300改變輸出內容的時刻為CP時鐘脈 沖的上升沿。
[0063] CP時鐘脈沖的周期為矩陣式鍵盤的掃描周期。鍵盤掃描周期在20msW上時,能夠 有效地避開了鍵盤按鍵抖動的影響;鍵盤掃描周期在lOOmsW下時,不至于遺漏鍵盤操作; 因此,CP時鐘脈沖的周期應該控制在20~100ms。
[0064] CK取樣脈沖的周期要求不大于CP時鐘脈沖的周期,運樣,在CP時鐘脈沖每個有效 觸發沿獲取狀態碼時,能夠保證列狀態寄存器404、行狀態寄存器403輸出的4位鍵值始終為 矩陣式鍵盤的最新狀態。CK取樣脈沖的特例是直接使用CP時鐘脈沖作為CK取樣脈沖。
[0065] 實施例中,CP時鐘脈沖、CK取樣脈沖均由振蕩器500產生并輸出。CP時鐘脈沖和CK 取樣脈沖也可W由矩陣式鍵盤掃描定位電路之外的電路或者裝置提供。
[0066] 圖4是本實用新型實施例的鍵盤狀態變化脈沖產生單元的電路圖。當識別的是矩 陣式鍵盤的有效按鍵操作時,編碼器300在該有效按鍵操作后的CP時鐘脈沖的有效觸發沿 開始,至下一個CP時鐘脈沖的有效觸發沿為止,輸出持續時間為一個CP時鐘脈沖周期寬度 的有效鍵號。接收所述矩陣式鍵盤輸出的裝置,需要時刻查詢矩陣式鍵盤的輸出,獲取鍵 號。查詢的周期間隔必須小于CP時鐘脈沖的周期。
[0067]圖4所示電路用于判斷矩陣式鍵盤輸出的鍵號是否發生改變,當矩陣式鍵盤輸出 的鍵號發生改變時,輸出鍵盤狀態變化脈沖,用于輔助矩陣式鍵盤的接收裝置接收矩陣式 鍵盤輸出的鍵號,例如,將鍵盤狀態變化脈沖作為接收裝置的中斷請求信號。
[006引圖4所示電路由延遲緩沖器601、異或口 602、異或口 603、異或口 604、異或口 605、或 口 606組成。延遲緩沖器601由只具有觸發功能的4個邊沿觸發器組成,4個邊沿觸發器的觸 發輸入端為延遲緩沖器601的接收脈沖輸入端,均連接至振蕩器500的CP時鐘脈沖輸出端; 延遲緩沖器601在CP時鐘脈沖的有效觸發沿進行數據鎖存。
[0069] 延遲緩沖器601用于對編碼器300的編碼輸出端的4位數據C3~C0分別進行延遲處 理。延遲緩沖器601的4個數據輸入端D63~D60連接至編碼器300的編碼輸出端C3~C0,延遲 緩沖器601的4個數據輸出端Q63~Q60相應輸出的數據是C31~C01;C31~C01經過延遲緩沖 器601的一級緩沖后,其信號比C3~C0延遲一個CP時鐘脈沖周期,圖5所示為本實用新型實 施例的鍵盤有效操作的相關波形示意圖。設在CP時鐘脈沖的T1區間,矩陣式鍵盤存在一次 有效操作,實施例的有效操作包括:S1單鍵按下、S2單鍵按下、S3單鍵按下、S4+S2組合操作 的S2按下、S1單鍵釋放。在一次有效操作的下一個有效觸發沿,即圖5中CP時鐘脈沖T1區間 之后的上升沿,編碼器300輸出的編碼C3~C0發生改變;在T2區間,編碼器300輸出一個周期 的有效編碼C3~C0;在Τ3、Τ4及之后區間,編碼器300輸出的編碼C3~C0再一次改變且進入 維持狀態,該維持狀態可能是例如S1單鍵按下后面的維持狀態,輸出無效鍵號,也可能是S3 單鍵按下后面的維持狀態,輸出有效鍵號,直到下一次有效操作。
[0070] 圖5中的D6脈沖示意表示編碼器300輸出的編碼C3~C0是處于維持狀態,沒有變 化,還是發生改變,實際電路中不存在所述的D6脈沖。如圖5所示,D6脈沖為低電平,示意表 示編碼器300輸出的編碼C3~C0是處于維持狀態,沒有變化;D6脈沖為高電平,示意表示編 碼器300輸出一個周期的有效編碼C3~C0。圖5中的Q6反映的是C31~C01的變化情況,顯然, Q6比D6延遲一個CP時鐘脈沖周期。同樣,實際電路中不存在所述的Q6脈沖。
[0071 ]圖5中,編碼器300輸出的編碼C3~C0是處于維持狀態,沒有變化,還是發生改變, 實際是由4位延遲緩沖器601、異或口 602、異或口 603、異或口 604、異或口 605、或口 606所組 成的邏輯電路完成。4個異或口分別與編碼器300編碼輸出端C3~C0中的1位相對應,輸入分 別為4位延遲緩沖器601的輸入、輸出信號。例如,異或口602的兩個輸入信號分別為C0和 C01,C01比C0延遲一個CP時鐘脈沖周期,因此,當C0發生變化時,異或口602輸出1個CP時鐘 脈沖周期寬度的正脈沖;當C0為一個CP時鐘脈沖周期寬度變化信號時,異或口602輸出2個 CP時鐘脈沖周期寬度的正脈沖。異或口 603、異或口 604、異或口 605分別判斷C1~C3是否發 生變化,原理與判斷C0是否發生變化相同。異或口 602、異或口 603、異或口 604、異或口 605的 輸出端分別連接至或口 606的輸入端,或口 606用于綜合判斷C0~C3是否發生變化,只要C0 ~C3發生變化,或口 606即輸出鍵盤狀態變化脈沖F,該脈沖為正脈沖。
[0072] 實施例中,延遲緩沖器601選擇上升沿觸發的8D觸發器74肥273。實施例中,編碼器 300輸出的是4位二進制鍵號,因此,延遲緩沖器601只需要4個D觸發器。由于延遲緩沖器601 中的4個D觸發器和觸發器101中的4個D觸發器的觸發輸入端均連接至振蕩器500的CP時鐘 脈沖輸出端,因此,延遲緩沖器601與觸發器101可共用一個8D觸發器74肥273。
[0073] 延遲緩沖器601還可W采用其他方案,例如,采用RC電路,利用4個RC電路分別對C0 ~C3進行延遲;如果RC電路的延遲時間小于一個CP時鐘脈沖周期,則編碼器300輸出一個周 期的有效編碼C3~C0時,在輸出有效編碼C3~C0開始和輸出有效編碼C3~C0結束都產生一 個鍵盤狀態變化脈沖,鍵盤狀態變化脈沖的寬度等于RC電路延遲時間;如果RC電路的延遲 時間大于等于一個CP時鐘脈沖周期,則編碼器300輸出一個周期的有效編碼C3~C0時,在輸 出有效編碼C3~C0開始時產生一個鍵盤狀態變化脈沖,脈沖寬度大于等于2個CP時鐘脈沖 周期。要求RC電路的延遲時間不超過2個CP時鐘脈沖周期,W免產生漏報。
[0074]所述的實用新型電路中,將對單鍵操作、組合鍵操作、鍵盤維持狀態操作的定位, 由CP脈沖掃描轉換成同一二進制長度的狀態碼,采用統一編碼的方式進行處理,單鍵操作、 組合鍵操作、鍵盤維持狀態操作僅體現在狀態碼的不同上;如果需要增減按鍵操作功能或 者是調整按鍵操作功能,不需要修改鍵盤掃描電路結構,只需根據增減后的狀態碼表更新 編碼器300、即重新寫入更新只讀存儲器301的存儲內容即可。所述實用新型電路沒有使用 單片機、ARM等微控制器,不用運行程序,工作可靠。
【主權項】
1. 一種矩陣式鍵盤掃描定位電路,其特征在于,由矩陣式鍵盤、緩沖寄存器、狀態碼寄 存器、編碼器組成; 所述矩陣式鍵盤共有X行、Y列,設有N位鍵盤狀態信號輸出端輸出電平信號;所述N=X+ Y;所述矩陣式鍵盤設有取樣脈沖輸入端; 所述緩沖寄存器為N位二進制寄存器;緩沖寄存器的N位數據輸入端連接至N位鍵盤狀 態信號輸出端; 所述狀態碼寄存器為2 X N位二進制寄存器;狀態碼寄存器的2 X N位數據輸入端中的N 位連接至N位鍵盤狀態信號輸出端,另外N位連接至緩沖寄存器的N位數據輸出端; 所述編碼器有2 X N位編碼輸入端,所述2 X N位編碼輸入端連接至狀態碼寄存器的2 X N 位數據輸出端;所述編碼器有M位鍵號輸出端; 所述緩沖寄存器的接收脈沖輸入端和狀態碼寄存器的接收脈沖輸入端均連接至時鐘 脈沖。2. 根據權利要求1所述的一種矩陣式鍵盤掃描定位電路,其特征在于:所述矩陣式鍵盤 由X行-Y列按鍵矩陣、低電平使能有效行三態緩沖器、高電平使能有效列三態緩沖器、下降 沿鎖存有效行狀態寄存器、上升沿鎖存有效列狀態寄存器組成;所有按鍵矩陣的行線分別 連接至行三態緩沖器的輸出端,所有按鍵矩陣的列線分別連接至列三態緩沖器的輸出端; 行三態緩沖器和列三態緩沖器的所有輸入端連接至低電平;所有按鍵矩陣的行線分別連接 至行狀態寄存器的輸入端,所有按鍵矩陣的列線分別連接至列狀態寄存器的輸入端;所述 行狀態寄存器的輸出端與列狀態寄存器的輸出端共同組成鍵盤狀態信號輸出端。3. 根據權利要求2所述的一種矩陣式鍵盤掃描定位電路,其特征在于:所述低電平使能 有效行三態緩沖器、高電平使能有效列三態緩沖器的使能控制輸入端連接至取樣脈沖;所 述下降沿鎖存有效行狀態寄存器、上升沿鎖存有效列狀態寄存器的接收脈沖輸入端連接至 取樣脈沖。4. 根據權利要求1所述的一種矩陣式鍵盤掃描定位電路,其特征在于:還包括鍵盤狀態 變化脈沖產生單元。5. 根據權利要求4所述的一種矩陣式鍵盤掃描定位電路,其特征在于:所述鍵盤狀態變 化脈沖產生單元由M位延遲緩沖器、M個異或門和或門組成;M位延遲緩沖器用于對矩陣式鍵 盤輸出的M位鍵號分別進行信號延遲;M個異或門的輸入分別為M位延遲緩沖器的輸入和輸 出信號;M個異或門的輸出分別連接至或門的輸入端;或門的輸出端輸出鍵盤狀態變化脈 沖。6. 根據權利要求1所述的一種矩陣式鍵盤掃描定位電路,其特征在于:還包括振蕩器; 所述振蕩器輸出時鐘脈沖和取樣脈沖。
【文檔編號】G06F3/02GK205485933SQ201620005881
【公開日】2016年8月17日
【申請日】2016年1月5日
【發明人】王兵, 凌云, 曾紅兵, 陳剛, 文定都, 聶輝
【申請人】湖南工業大學