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