一種提高鍵盤掃描速度的鍵盤電路的製作方法
2023-06-02 13:36:51
專利名稱:一種提高鍵盤掃描速度的鍵盤電路的製作方法
技術領域:
本實用新型涉及計算機及自動控制系統的輸入設備領域,具體為一種提高鍵盤掃描速度的鍵盤電路。
背景技術:
目前通用的鍵盤主要以矩陣式鍵盤為主,在鍵盤應用中,如何提高鍵盤掃描速度, 如何在一定數量的I/O 口下儘可能多地增加按鍵個數是兩個重要問題。傳統地採用線反轉法可以通過較少的掃描步驟實現對鍵盤的掃描,從而減少鍵盤掃描時間,如實現NXN的矩陣鍵盤,採用線反轉法可以實現簡單的掃描程序,但所需的I/O 口數量為2N個,佔用I/O 口數量較多。在申請號為2004200145 的專利文獻中公開了一種鍵盤電路,能夠有效的減少佔用的I/O 口數量,實現NXN的矩陣鍵盤掃描所需的I/O 口數量為N+1個,但是其掃描過程複雜,確定一個按鍵值需要掃描N次,且在矩陣鍵盤行列數不相等時無法實現減少佔用I/O 口數量的目的。
實用新型內容要解決的技術問題為解決現有技術中的問題,實現在一定按鍵數量的前提下,既減少鍵盤掃描電路佔用的I/O 口數,又能簡化鍵盤掃描過程的目的,本實用新型提出了一種提高鍵盤掃描速度的鍵盤電路。技術方案本實用新型的技術方案為所述一種提高鍵盤掃描速度的鍵盤電路,鍵盤電路為mXn的矩陣鍵盤電路,m 表示行線數,η表示列線數,且行線數不大於列線數,其特徵在於行線和列線的一端均分別通過限流電阻與電源相連,行線的另一端分別通過PNP型開關三極體與I/O 口 Pl. 1、 Pl. 2、……PL m對應相連,列線中前m根列線的另一端分別通過NPN型開關三極體連接到 I/O 口 Pl. 1、P1.2、……PI. m上;當n-m為偶數時,後n-m根列線中的一半列線分別通過 PNP型開關三極體與I/O 口 Pl.m+l、Pl.m+2、……PL (m+n)/2相連,另一半列線分別通過 NPN型開關三極體與I/O 口 Pl.m+1、Pl.m+2、……PL (m+n)/2相連;當n_m為奇數時,另外n-m-1根列線中的一半列線分別通過PNP型開關三極體與I/O 口 PL m+UPl. m+2、…… Ρ1· (m+n-1)/2相連,另一半列線分別通過NPN型開關三極體與I/O 口 Pl.m+1、P1. m+2、…… PL (m+n-1)/2相連,剩餘的一根列線通過開關三極體與I/O 口 PL (m+n+l)/2相連;所有開關三極體的基極分別通過限流電阻連接到I/O 口 Pl. 0 ;在每個按鍵位置行線與列線通過複合開關與地線相連;所有行線通過與門電路連接到中斷輸入口。所述一種提高鍵盤掃描速度的鍵盤電路,其特徵在於當行線數大於列線數時,將行線與列線互換。所述一種提高鍵盤掃描速度的鍵盤電路,其特徵在於行線的另一端分別通過NPN型開關三極體與I/O 口 Pl.l、Pl. 2、……Pl.m對應相連,列線中前m根列線的另一端分別通過PNP型開關三極體連接到I/O 口 PL UPl.2,……Pl.m上。所述一種提高鍵盤掃描速度的鍵盤電路,其特徵在於當η-m為偶數時,後n-m根列線中的一半列線分別通過NPN型開關三極體與I/O 口 Pl.m+l、Pl.m+2、……PL (m+n)/2 相連,另一半列線分別通過PNP型開關三極體與I/O 口 Pl.m+1、Pl.m+2、……PL (m+n)/2 相連;當n-m為奇數時,另外η-m-l根列線中的一半列線分別通過NPN型開關三極體與I/O Π Pl.m+UPl.m+2,……PL (m+n-l)/2相連,另一半列線分別通過PNP型開關三極體與I/ 0 口 Pl.m+1、Pl.m+2、......PL (m+n_l)/2 相連。有益效果本實用新型設計的矩陣鍵盤電路,當行列數之和為2N,即為偶數時,所需的I/O 口數為N+1,當行列數之和為2N+1,即為奇數時,所需的I/O 口數為N+2,遠比線反轉法佔用的 I/O 口數要少,且不要求矩陣行列數一定相等;同時採用該矩陣鍵盤電路,通過兩次掃描就能得出按鍵的行值和列值,即可得出按鍵鍵值,無論是順序掃描、定時掃描,還是中斷掃描, 均可提高鍵盤掃描速度,節省CPU時間。
圖1 :m X η矩陣鍵盤電路;圖2 :3X 5矩陣鍵盤電路。
具體實施方式
下面結合具體實施例描述本實用新型。本實施例是一個3X5的矩陣鍵盤電路。行線數為3,列線數為5。參照附圖2,所有行線的一端分別通過限流電阻R21-R23與+5V電源VCC相連,所有列線的一端分別通過限流電阻R11-R15與+5V電源VCC相連。行線的另一端分別通過 PNP型或NPN型開關三極體與I/O 口 Pl. 1、Ρ1. 2和Pl. 3依次相連,在本實施例中,行線另一端採用的是PNP型開關三極體Q1、Q2和Q3 ;列線中前3列列線的另一端分別通過NPN型或 PNP型開關三極體與I/O 口 PL UPl. 2和Pl. 3依次相連,這裡要保證行線相連的開關三極體與前m列列線相連的開關三極體結構類型相反,由於本實施例中行線另一端連接PNP型開關三極體,所以這裡前3列列線另一端分別通過NPN型開關三極體Q4、Q5和Q6與I/O 口 Pl. 1、Pl. 2和Pl. 3依次相連。在其餘的2根列線中,取1根列線通過PNP型或NPN型開關三極體與I/O 口 Pl. 4 相連,本實施例中取的是第5列列線通過PNP型開關三極體Q8與I/O 口 Pl. 4相連;取另外 1根列線通過NPN型或PNP型開關三極體與I/O 口 Pl. 4相連,這裡要保證這兩根列線相連的開關三級管結構類型相反,由於本實施例中第5列列線已經通過PNP型開關三極體Q8與 I/O 口 Pl. 4相連,所以這裡取第4列列線通過NPN型開關三極體Q7與I/O 口 Pl. 4相連。本實施例中,其餘的列線個數為偶數,當其餘的列線個數為奇數時,就在其餘的列線中單獨取出一根列線,其另一端通過NPN型或PNP型開關三極體與單獨的一個I/O 口相連,這樣剩餘的列線個數又為偶數了,就可以如上述分成兩部分,分別通過結構類型相反的開關三極體與I/O 口相連。若當行數大於列數時,只需將行線與列線互換。[0020]本實施例中,開關三極體的基極分別通過限流電阻R31-R38連接到I/O 口 P1.0 上,通過Pl. 0的狀態控制開關三極體的通斷;在每個按鍵位置行線與列線通過複合開關與地線相連;所有行線通過與門電路Gl連接到中斷輸入口,構成鍵盤掃描中斷輸入電路。鍵盤工作時,當沒有按鍵按下時,各行均為高電平,經與門電路Gl後連接到中斷輸入口的電平為高電平,此時不觸發中斷。當有按鍵按下時,經與門電路Gl後連接到中斷輸入口的電平為低電平,此時觸發鍵盤掃描中斷,開始執行鍵盤掃描中斷程序。掃描過程中,首先在Pl. 0 口置1,此時PNP型開關三極體Q1、Q2、Q3和Q8均導通,行線及第五列列線與相應I/O 口相連通,掃描行線及第五列列線,若某行或第五列有鍵按下,則對應輸入口讀得為0,其餘輸入口讀得為1,從而得到所按按鍵的行狀態值和第五列的狀態值,將此值暫存。然後在Pl. 0 口置0,此時NPN型開關三極體Q4-Q7導通,前3列列線和第4列列線與相應I/O 口相連通,掃描該四列列線,若該四列無鍵按下則對應輸入口均為高電平,輸入口狀態讀得全為1 ;若某列有鍵按下則對應此列輸入口讀得為0,其餘輸入口讀得仍為1,從而得到所按按鍵的該四列的狀態值,將此狀態值暫存。Pl. 0 口完成一次1 — 0循環,則完成一次掃描,根據兩次讀得的按鍵狀態值即可計算出鍵值。掃描過程中,可通過延時比較前後所得鍵值是否相同來去除幹擾、抖動,避免誤操作,同時也可判斷區分鍵的按下、釋放和長按,從而保證每個鍵按一次執行一次操作。
權利要求1.一種提高鍵盤掃描速度的鍵盤電路,所述鍵盤電路為mXn的矩陣鍵盤電路,m表示行線數,η表示列線數,且行線數不大於列線數,其特徵在於行線和列線的一端均分別通過限流電阻與電源相連,行線的另一端分別通過PNP型開關三極體與I/O 口 Pl. 1、 Pl. 2、……PL m對應相連,列線中前m根列線的另一端分別通過NPN型開關三極體連接到 I/O 口 Pl. 1、P1.2、……PI. m上;當n-m為偶數時,後n-m根列線中的一半列線分別通過 PNP型開關三極體與I/O 口 Pl.m+1、Pl.m+2、……Pl. (m+n)/2相連,另一半列線分別通過 NPN型開關三極體與I/O 口 Pl.m+1、Pl.m+2、……PL (m+n)/2相連;當n_m為奇數時,另外n-m-1根列線中的一半列線分別通過PNP型開關三極體與I/O 口 PL m+UPl. m+2、…… Ρ1· (m+n-1)/2相連,另一半列線分別通過NPN型開關三極體與I/O 口 Pl.m+1、P1. m+2、…… PL (m+n-1)/2相連,剩餘的一根列線通過開關三極體與I/O 口 PL (m+n+l)/2相連;所有開關三極體的基極分別通過限流電阻連接到I/O 口 Pl. 0 ;在每個按鍵位置行線與列線通過複合開關與地線相連;所有行線通過與門電路連接到中斷輸入口。
2.根據權利要求1所述的一種提高鍵盤掃描速度的鍵盤電路,其特徵在於當行線數大於列線數時,將行線與列線互換。
3.根據權利要求1或2所述的一種提高鍵盤掃描速度的鍵盤電路,其特徵在於行線的另一端分別通過NPN型開關三極體與I/O 口 PL UPl. 2,……PI. m對應相連,列線中前 m根列線的另一端分別通過PNP型開關三極體連接到I/O 口 PL UPl. 2、……Pl.m上。
4.根據權利要求1或2所述的一種提高鍵盤掃描速度的鍵盤電路,其特徵在於當 n-m為偶數時,後n-m根列線中的一半列線分別通過NPN型開關三極體與I/O 口 Pl.m+1、 Pl.m+2、……PL (m+n)/2相連,另一半列線分別通過PNP型開關三極體與I/O 口 Pl.m+1、 Pl.m+2、……PL (m+n)/2相連;當n-m為奇數時,另外η-m-l根列線中的一半列線分別通過NPN型開關三極體與I/O 口 Pl.m+1、PI. m+2、……PL (m+n-1)/2相連,另一半列線分別通過PNP型開關三極體與I/O 口 Pl.m+1、PL m+2、......PL (m+n-1)/2相連。
專利摘要本實用新型提出了一種提高鍵盤掃描速度的鍵盤電路,行線和列線的一端均分別通過限流電阻與電源相連,行線的另一端通過PNP開關三極體,前m根列線另一端通過NPN開關三極體,復用後與I/O口P1.1、P1.2、……P1.m對應相連;剩餘列線一半通過PNP開關三極體,另一半通過NPN開關三極體,復用後與I/O口P1.m+1、P1.m+2、……P1.(m+n)/2對應相連,所有開關三極體的基極分別通過限流電阻連接到I/O口P1.0;在每個按鍵位置行線與列線通過複合開關與地線相連;所有行線通過與門電路連接到中斷輸入口。本鍵盤電路當行列數之和為2N時,所需的I/O口數為N+1,當行列數之和為2N+1時,所需的I/O口數為N+2,且過兩次掃描就能得出按鍵的行值和列值。
文檔編號G06F3/02GK202058106SQ20112016463
公開日2011年11月30日 申請日期2011年5月20日 優先權日2011年5月20日
發明者孫曉朋, 戴廣永, 楊乾乾, 楊旭東 申請人:西北工業大學