国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      新型鍵盤掃描系統(tǒng)及掃描方法

      文檔序號(hào):7517311閱讀:227來源:國(guó)知局
      專利名稱:新型鍵盤掃描系統(tǒng)及掃描方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于電子電路領(lǐng)域,涉及一種新型鍵盤掃描系統(tǒng)及掃描方法。
      背景技術(shù)
      鍵盤掃描是許多控制系統(tǒng)必不可少的部分,是實(shí)現(xiàn)進(jìn)行人機(jī)交換方便快捷的方 法。但是往往鍵盤掃描需要耗費(fèi)很多的1\0 口資源,而且本身對(duì)1\0 口的利用效率又不高, 很大程度上浪費(fèi)了 CPU的資源。因此,當(dāng)1\0 口數(shù)量一定時(shí),掃描按鍵的個(gè)數(shù)多少對(duì)系統(tǒng)而 言有非常大的意義。在鍵盤中按鍵數(shù)量較多時(shí),為了減少1\0 口的占用,通常將按鍵排列成矩陣形式。 在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。 這樣,四個(gè)端口(如P1、P2、P3、P4 口 )就可以構(gòu)成4*4 = 16個(gè)按鍵,比直接將端口線用于 鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤, 而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來 做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些。列線 通過電阻接正電源,并將行線所接的單片機(jī)的1\0 口作為輸出端,而列線所接的1\0 口則作 為輸入。這樣,當(dāng)按鍵沒有按下時(shí),所有的輸出端都是高電平,代表無鍵按下。行線輸出是 低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否 有鍵按下了。雖然矩陣式鍵盤已經(jīng)大幅度提高了 CPU的掃描速率,減少了 1\0 口的占用,但 仍然無法滿足日益增長(zhǎng)的實(shí)際需求,鍵盤掃描的方式也有待進(jìn)一步改善提高。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是提供一種新型鍵盤掃描系統(tǒng);此外,本發(fā)明還提供一種新型鍵盤掃描方法。為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。一種新型鍵盤掃描系統(tǒng)包括η個(gè)1\0 口,Sn個(gè)按鍵,其中 Sn=(Cl+C2n+- + C) + ^(C1 + C1 +…+ C;;,1);所述掃描系統(tǒng)通過η個(gè)I \0 口掃描Sn個(gè)按
      鍵;每個(gè)按鍵直接或通過二極管與至少一個(gè)1\0 口相連。作為本發(fā)明的一種優(yōu)選方案,所述按鍵由η+1組按鍵構(gòu)成,其中第一組有 c:+c 2+··· + 個(gè)按鍵,剩余η組每組均有Ct, + C 2_, +…+ C=個(gè)按鍵;所述第一組按鍵中 每一個(gè)按鍵一端接地,另一端接至少一個(gè)1\0 口 ;所述剩余η組按鍵中每一個(gè)按鍵一端接一 個(gè)1\0 口,另一端接至少一個(gè)剩余的1\0 口。作為本發(fā)明的另一種優(yōu)選方案,所述第一組按鍵中另一端僅接一個(gè)1\0 口的按鍵 與自己所接的I\0 口直接相連。作為本發(fā)明的再一種優(yōu)選方案,所述第一組按鍵中另一端接至少兩個(gè)1\0 口的按 鍵通過二極管與自己所接的1\0 口相連。作為本發(fā)明的再一種優(yōu)選方案,所述剩余η組按鍵中的每一個(gè)按鍵的另一端均通過二極管與自己所接的1\0 口相連。作為本發(fā)明的再一種優(yōu)選方案,所述二極管為高頻二極管。一種新型鍵盤掃描方法為通過η個(gè)1\0 口控制sn個(gè)按鍵,且通過對(duì)1\0 口的掃描
      唯一地確定按下的按鍵,其中民=(c〗+ cn2 +…+ ) + n{cl, + c 2_, +…+ c;;)海個(gè)按鍵直
      接或通過二極管與至少一個(gè)1\0 口相連;所述掃描方法將sn個(gè)按鍵分為n+1組進(jìn)行掃描, 其中第一組掃描g +cn2 +…+ c "個(gè)按鍵,剩余η組每組均掃描cfl1 +c^1 +…+ (^力個(gè)按鍵。
      作為本發(fā)明的一種優(yōu)選方案,所述η個(gè)1\0 口分別與單片機(jī)的pxc^pxppx2. . . pxlri 引腳相連,所述掃描方法將sn個(gè)按鍵分為n+1組進(jìn)行掃描,第一組掃描的詳細(xì)步驟為單片 機(jī)對(duì) px0> pxp px2. · · pxlri 賦值 “ 1,,,然后讀取 px0> px1、px2. · · pxlri 引腳信號(hào),如果 px0> px1、 px2. . .pxlri中間有任何一個(gè)端口電壓降為0,則引起所述端口電壓壓降的原因定是“地”,單 片機(jī)讀取px0> px” px2. · · pxlri的引腳信號(hào)確定按下的按鍵;如果pxo、pxp px2. · · pxlri引腳 沒有電壓壓降,則引起該端口電壓壓降的原因不是“地”。作為本發(fā)明的另一種優(yōu)選方案,第i+2組掃描的詳細(xì)步驟為單片機(jī)對(duì)pxi賦值 “0”,對(duì)pxq、ph1中除pxii外的引腳賦值“1”,然后讀取px。、ph1中除pxi 之外的引腳電壓,如果pxo、px2... pxlri中除pxi之外的引腳中間有任何一個(gè)端口電壓降為 0,則引起該端口電壓壓降的原因定是"pxi”,單片機(jī)讀取引腳信號(hào)確定按下的按鍵,其中 0彡i彡n-1。作為本發(fā)明的再一種優(yōu)選方案,如果pxr px2. . . pxlri中沒有任何引腳的端口電壓 降為0,則沒有任何按鍵按下。本發(fā)明的有益效果在于本發(fā)明只是對(duì)1\0 口進(jìn)行賦值,并沒有執(zhí)行每一個(gè)按鍵 的檢測(cè)過程,檢測(cè)時(shí)間相對(duì)較短,可行性高,且能極大的提高1\0 口掃描按鍵的能力,節(jié)約 cpu的資源。


      圖1為3個(gè)1\0 口掃描16按鍵的系統(tǒng)電路圖;圖2為3個(gè)1\0 口掃描16按鍵的方法流程圖。
      具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
      作進(jìn)一步詳細(xì)說明。實(shí)施例一本實(shí)施例提供一種新型鍵盤掃描系統(tǒng),該系統(tǒng)包括η個(gè)1\0 口,sn個(gè)按鍵,其中 民―口+“+…+ ^^ + “^二+匸^+…+ ^”所述掃描系統(tǒng)通過??!個(gè)八。口掃描 按鍵;每個(gè)按鍵直接或通過二極管與至少一個(gè)1\0 口相連。所述按鍵由n+1組按鍵構(gòu) 成,其中第1組有 ;+c 2+…+ c "個(gè)按鍵,剩余η組每組均有ctdct1+…+ c=個(gè)按鍵;所 述第1組按鍵中每一個(gè)按鍵一端接地,另一端接至少一個(gè)1\0 口 ;所述剩余η組按鍵中每一 個(gè)按鍵一端接一個(gè)1\0 口,另一端接至少一個(gè)剩余的1\0 口。所述第1組按鍵中另一端僅 接一個(gè)1\0 口的按鍵與自己所接的1\0 口直接相連。所述第1組按鍵中另一端接至少兩個(gè) 1\0 口的按鍵通過二極管與自己所接的1\0 口相連。所述剩余η組按鍵中的每一個(gè)按鍵的另一端均通過二極管與自己所接的1\0 口相連。所述二極管為高頻二極管。
      η個(gè)1\0 口實(shí)現(xiàn)Sn個(gè)按鍵的掃描過程如下當(dāng)有η個(gè)1\0 口作為鍵盤掃描用,PXc^PXrPX2. . . PXlri分別對(duì)應(yīng)這η個(gè)1\0端口。第一步檢測(cè),單片機(jī)對(duì)PXc^PX1IX2. . .PXlri 賦值“1”,然后讀取 PXc^PX1IX2. .. PXlri 弓丨腳信號(hào),如果PXo、PXpPX2.. .PXlri中間有任何一個(gè)端口電壓降為0,則引起該端口電壓壓 降的原因定是“地”,單片機(jī)讀取PXr PXp PX2... PXlri的引腳信號(hào)只有一個(gè)引腳為“0”的情況如果只有PXtl為“0”,則表示按鍵1按下;如果只有 &為“0”,則表示按鍵2按下...(總共可以檢測(cè)到C〗= 個(gè)按鍵);只有兩個(gè)引腳為“0”的情況如果只有PVPX1為“0”,則表示按鍵η+1按下;如果 只有PXp PX2為“0”,則表示按鍵η+2按下...(總共可以檢測(cè)到C 2 =”個(gè)按鍵);只有三個(gè)引腳為“0”的情況如果只有PXc^PX1JX2為“0”,則表示按鍵n + ¥ + l 按下;如果只有PXo、PX1^ PX3為“0”,則表示按鍵η + ^11+ 按下;如果只有PXp PX1^ PX4為 “0”,則表示按鍵《 + ¥ + 3按下...(總共可以檢測(cè)Q3=W^l個(gè)按鍵);只有四個(gè)引腳為“0”的情況總共可以檢測(cè)c 4 1X"2_42Kn_3)個(gè)按鍵;...只有η-1個(gè)引腳為“0”的情況總共可以檢測(cè)Cr1 ι個(gè)按鍵;當(dāng)η個(gè)引腳都為“0”的情況總共可以檢測(cè)C " =1個(gè)按鍵;總結(jié)起來也就是在第一步檢測(cè)中可以檢測(cè)C]+C;2 + ···+。;個(gè)按鍵。如果PXp PX1, PX2. . . PXlri引腳沒有電壓壓降,則引起該端口電壓壓降的原因不是 “地”,執(zhí)行第二步檢測(cè)。第二步檢測(cè),單片機(jī)對(duì)PX1賦值“0”,對(duì)PXi、PX2. . . PXlri賦值“1”,然后讀取P&、 PX2. · · PXlri引腳電壓,如果PXpPX2. · · PXlri中間有任何一個(gè)端口電壓降為0,則引起該端口 電壓壓降的原因定是"PX1 ”,單片機(jī)讀取PXpPX2... PXlri引腳信號(hào)PX1, PX2. . . PXlri中只有一個(gè)引腳信號(hào)變?yōu)椤?”的情況總共有C^1 = W-I種情況, 也即可以檢測(cè)η-1個(gè)按鍵;PXi、PX2. . . PXlri中只有兩個(gè)引腳信號(hào)變?yōu)椤?”的情況,總共有C^1 =“廣2)種組 合,即可以檢測(cè)("_,—2)個(gè)按鍵;PX1^PX2. . . PXn^1中只有三個(gè)引腳信號(hào)變?yōu)椤?”的情況,總共有C 3 =("-”( 2)…-3)種
      組合,即可以檢測(cè)個(gè)按鍵;...只有η-2個(gè)引腳為“0”的情況總共可以檢測(cè)C==^-I個(gè)按鍵;當(dāng)η-1個(gè)個(gè) 引腳都為“0”的情況總共可以檢測(cè)C==I個(gè)按鍵;總結(jié)起來,在第二步檢測(cè)中可以檢測(cè) (丨+^丨+…+匸二個(gè)按鍵。如果PXp PX2... PXlri引腳沒有電壓壓降,則引起該端口電壓壓降的原因不是 "PX1 ”,則執(zhí)行第三步檢測(cè)。
      第三步檢測(cè),對(duì)PX1 賦值 “0”,對(duì) ΡΧ0、ΡΧ2· · · PXlri 賦值 “1”,讀取 PX0> PX2. · · PXlri 引 腳信號(hào),如果PXo、PX2... PXlri中任何一個(gè)變?yōu)椤?”,則參照第二步檢測(cè)過程進(jìn)行檢測(cè);如果沒有引腳信號(hào)改變,則引起壓降的不是PX1,執(zhí)行第四步檢測(cè)。同理,可以推算出在第三步檢測(cè)中可以檢測(cè)Cj^+C^ + h.+C;;;1,按鍵;第四步檢測(cè),相同道理,如果引起壓降的是P X2,則在此步檢測(cè)中可以檢測(cè)到
      iCl^+Cjq+···+!;^個(gè)按鍵;如果引起壓降的不是P X2,則執(zhí)行第五步檢測(cè)。...
      第n+1步檢測(cè),相同道理,如果引起壓降的是P Xlri,則在此步檢測(cè)中可以檢測(cè)到 Ci+cL+···+^-!^^ ;如果弓丨起壓降的不是ρ Xlri,則表示沒有按鍵按下,完成掃描程序??偨Y(jié)這n+1步的檢測(cè)程序,一共可以檢測(cè)按鍵個(gè)數(shù)是各個(gè)檢測(cè)步驟檢測(cè)按鍵個(gè)數(shù)實(shí)施例二本實(shí)施例中,η的值為2,Sn的值為5,3個(gè)1\0 口分別為PO 口、Pl 口,5個(gè)按鍵分 別為按鍵Κ1、按鍵Κ2、按鍵Κ3、按鍵Κ4、按鍵Κ5 ;其中按鍵Κ1、按鍵Κ2、按鍵Κ3為第1組按 鍵,按鍵Κ4為第2組按鍵,按鍵Κ5為第3組按鍵;其中按鍵Kl的一端接地,另一端直接與 PO 口相連;按鍵Κ2的一端接地,另一端直接與Pl 口相連;按鍵Κ3的一端接地,另一端通過 并聯(lián)的二極管分別與PO 口、Pl 口相連;按鍵Κ4的一端接PO 口,另一端通過二極管與Pl 口 相連;按鍵Κ5的一端接Pl 口,另一端通過二極管與PO 口相連。2個(gè)1\0 口掃描5個(gè)按鍵的方法如下記這兩個(gè)1\0 口分別是Ρ10、Ρ11,掃描按鍵總個(gè)數(shù)為S2 = 5。程序開始時(shí)掃描有無按鍵按下并確定引起Ρ10、Pll壓降的原因(如果有按鍵按 下,Ρ10、Pll會(huì)有一個(gè)或同時(shí)從上一時(shí)刻的高電平電壓被拉成低電平),即確定引起壓降的 是“地”,PlO還是Pll。具體掃描過程包括以下步驟第一步檢測(cè),單片機(jī)對(duì)Ρ10、Ρ11賦“1”,然后檢測(cè)Ρ10、Ρ11的引腳電壓如果Ρ10、Pll有一個(gè)或者同時(shí)被拉低電壓,這表明引起電壓壓降的是“地”,此時(shí) 單片機(jī)讀取Pio、Pll引腳電壓,如果只有PlO為“0”,則表示按鍵1按下;如果只有Pll為 “0”,則表示按鍵2按下;如果Ρ10、Pll同時(shí)為“0”則表示按鍵3按下;如果Ρ10、Ρ11電壓都沒有被拉低,則表示引起壓降的不是“地”,執(zhí)行第二步檢測(cè)。第二步檢測(cè),單片機(jī)對(duì)PlO賦“0”,Pll賦“1”,然后檢測(cè)Pll引腳電壓如果Pll引腳電壓被拉低,這表明引起電壓壓降的是“Ρ10”,此時(shí)單片機(jī)讀取Pll 引腳電壓,如果為“0”,則表示按鍵4按下;如果Pll引腳電壓沒有被拉低,則表示引起壓降的不是“Ρ10”,執(zhí)行第三步檢測(cè)。第三步檢測(cè),單片機(jī)對(duì)Pll賦“0”,PlO賦“1”,然后檢測(cè)PlO引腳電壓如果PlO引腳電壓被拉低,這表明引起電壓壓降的是“Ρ11”,單片機(jī)讀取PlO引腳 電壓,如果為“0”,則表示按鍵5按下;如果PlO引腳電壓沒有被拉低,則表示引起壓降的不是Ρ11,則表示整個(gè)檢測(cè)過程中沒有發(fā)現(xiàn)有引腳電壓被拉低,也即表示沒有按鍵按下,鍵盤掃描過程結(jié)束。這樣就完成了 5個(gè)1\0 口的掃描。從上面的檢測(cè)過程可以看出,每一步檢測(cè)都只是對(duì)1\0 口進(jìn)行賦值,并沒有執(zhí)行 每一個(gè)按鍵的檢測(cè)過程,這樣檢測(cè)時(shí)間相對(duì)也很短,可以保證掃描時(shí)間不是很長(zhǎng),保證此掃 描方法的可行性。實(shí)施例三本實(shí)施例提供的新型鍵盤掃描系統(tǒng)是以3個(gè)1\0 口掃描16個(gè)按鍵的系統(tǒng),其電路 圖如圖1所示。η的值為3,Sn的值為16,3個(gè)1\0 口分別為PO 口、Pl 口、Ρ2 口,16個(gè)按鍵分別為 按鍵Κ1、按鍵Κ2、按鍵Κ3、按鍵Κ4、按鍵Κ5、按鍵Κ6、按鍵Κ7、按鍵Κ8、按鍵Κ9、按鍵Κ10、按 鍵Κ11、按鍵Κ12、按鍵Κ13、按鍵Κ14、按鍵Κ15、按鍵Κ16 ;其中按鍵Κ1、按鍵Κ2、按鍵K 3、 按鍵Κ4、按鍵Κ5、按鍵Κ6、按鍵Κ7為第1組按鍵,按鍵Κ8、按鍵Κ9、按鍵KlO為第2組按鍵, 按鍵Κ11、按鍵Κ12、按鍵Κ13為第3組按鍵,按鍵Κ14、按鍵Κ15、按鍵Κ16為第4組按鍵;其 中按鍵Kl的一端接地,另一端直接與PO 口相連;按鍵Κ2的一端接地,另一端直接與Pl 口 相連;按鍵K 3的一端接地,另一端直接與Ρ2 口相連;按鍵Κ4的一端接地,另一端通過并 聯(lián)的二極管分別與PO 口、Pl 口相連;按鍵Κ5的一端接地,另一端通過并聯(lián)的二極管分別與 PO 口、Ρ2 口相連;按鍵Κ6的一端接地,另一端通過并聯(lián)的二極管分別與Pl 口、Ρ2 口相連; 按鍵Κ7的一端接地,另一端通過并聯(lián)的二極管分別與PO 口、Pl 口、Ρ2 口相連;按鍵Κ8的 一端接PO 口,另一端通過二極管與Pl 口相連;按鍵Κ9的一端接PO 口,另一端通過二極管 與Ρ2 口相連;按鍵KlO的一端接PO 口,另一端通過并聯(lián)的二極管分別與Pl 口、Ρ2 口相連; 按鍵Kll的一端接Pl 口,另一端通過二極管與PO 口相連;按鍵Κ12的一端接Pl 口,另一端 通過二極管與Ρ2 口相連;按鍵Κ13的一端接Pl 口,另一端通過并聯(lián)的二極管分別與PO 口、 Ρ2 口相連;按鍵Κ14的一端接Ρ2 口,另一端通過二極管與PO 口相連;按鍵Κ15的一端接Ρ2 口,另一端通過二極管與Pl 口相連;按鍵Κ16的一端接Ρ2 口,另一端通過并聯(lián)的二極管分 別與PO 口、Pl 口相連。圖 1 中 Ρ10、Ρ11、Ρ12 連接 89k52 單片機(jī)的 Ρ1·0、Ρ1· 1、Ρ1·2 端口 ;D1、D2. · · D21 是 高頻二極管IN60,二極管的作用主要是隔離P10、P11、P12使得他們之間的導(dǎo)通方向得以控 制,又因?yàn)閱纹瑱C(jī)在掃描按鍵時(shí)對(duì)Pl. 0、Pl. 1、Pl. 2端口的賦值和讀取引腳信號(hào)速度很快, 所以要求二極管能夠快速導(dǎo)通截止,故選用高頻二極管。該掃描系統(tǒng)把16個(gè)按鍵分成了四組。第一組,由“地”引起端口壓降的按鍵,分別 為kl、k2、k 3、k4、k5、k6、k7。第二組,由“P10”引起壓降的按鍵,分別為k8、k9、kl0。第 三組,由“P11”引起壓降的按鍵,分別為kll、kl2、kl3。第四組,由“P12”引起壓降的按鍵, 分別為 kl4、kl5、kl6。本實(shí)施例所述掃描系統(tǒng)的掃描方法為分組對(duì)按鍵進(jìn)行掃描,進(jìn)而確定被按下的按 鍵。第一組情況如果單片機(jī)檢測(cè)到僅有PlO端口為“0”,則可以確定kl按下;如果檢 測(cè)到僅有Pll端口為“0”,則可以確定k2按下;如果檢測(cè)到僅有P12端口為“0”,則可以確 定k 3按下;如果檢測(cè)到僅有P10、Pll端口為“0”,則可以確定k4按下;如果檢測(cè)到僅有 ΡΙΟ、P12端口為“0”,則可以確定k5按下;如果檢測(cè)到僅有Pll、P12端口為“0”,則可以確定k6按下;如果檢測(cè)到ΡΙΟ、P1UP12端口均為“0”,則可以確定k7按下。第二組情況如果單片機(jī)檢測(cè)到僅有P10、P11端口為“0”,則可以確定k8按下;如 果檢測(cè)到僅有P10、P12端口為“0”,則可以確定k9按下;如果檢測(cè)到P10、P11、P12端口均 為“0”,則可以確定klO按下。
      第三組情況如果單片機(jī)檢測(cè)到僅有Pll、PlO端口為“0”,則可以確定kll按下; 如果檢測(cè)到僅有Pll、P12端口為“0”,則可以確定kl2按下;如果檢測(cè)到如果檢測(cè)到P11、 ΡΙΟ、P12端口均為“0”,則可以確定kl3按下。第四組情況如果單片機(jī)檢測(cè)到僅有P12、PlO端口為“0”,則可以確定kl4按下; 如果檢測(cè)到僅有P12、Pll端口為“0”,則可以確定kl5按下;如果檢測(cè)到如果檢測(cè)到P11、 ΡΙΟ、P12端口均為“0”,則可以確定kl6按下。這里對(duì)二極管IN60的具體功能闡述一下二極管的作用主要是快速截止和導(dǎo)通,使得P10、P11、P12之間的導(dǎo)通方向得以控 制,進(jìn)而隔離P10、P11、P12。比如看第一組按鍵中的kl,如果kl按下,則PlO引腳信號(hào)變?yōu)?“0”,如果沒有D3、D4(即k5按鍵旁邊的二極管)的隔離作用,當(dāng)PlO引腳電壓被“地”拉低 時(shí),P12引腳的電壓也會(huì)被PlO拉低;同理如果沒有D1、D2(即k4按鍵旁邊的二極管)的隔 離作用,當(dāng)PlO弓丨腳電壓被“地”拉低時(shí),Pll引腳的電壓也會(huì)被PlO拉低。可以看出,如果 kl按下則P10、P11、P12的引腳電壓均會(huì)被拉低。稍微分析下變可知,如果沒有二極管的隔 離,任何按鍵按下都會(huì)導(dǎo)致P10、P11、P12引腳電壓全部被拉低。這樣電路也就無法區(qū)分具 體是哪個(gè)按鍵按下了。二極管要求是高頻二極管主要是考慮到單片機(jī)在掃描鍵盤時(shí)信號(hào)的 讀寫速度是很快的(在微妙數(shù)量級(jí)),需要二極管能及時(shí)響應(yīng)單片機(jī)的信號(hào)。3個(gè)1\0 口實(shí)現(xiàn)掃描16個(gè)按鍵的方法流程如圖2所示記這三個(gè)1\0 口分別是P10、P11、P12,掃描按鍵總個(gè)數(shù)為S3 = 16。單片機(jī)開始時(shí)掃描有無按鍵按下并確定引起P10、P11、P12壓降的原因(如果有按 鍵按下,P10、PlU P12會(huì)有一個(gè)、兩個(gè)或同時(shí)從上一時(shí)刻的高電平電壓被拉成低電平),即 確定引起壓降的是“地”,P10, Pll還是P12。具體掃描過程包括以下步驟第一步檢測(cè),程序?qū)10、P11、P12賦“1”,然后檢測(cè)P10、P11、P12的引腳電壓如果ΡΙΟ、P11、P12有一個(gè)或者同時(shí)被拉低電壓,這表明引起電壓壓降的是“地”, 執(zhí)行步驟causeO ;causeO 單片機(jī)讀取P10、Pl 1、P12引腳電壓,如果只有PlO為“0”,則表示按鍵1 按下;如果只有Pll為“0”,則表示按鍵2按下;如果只有P12為“0”,則表示按鍵3按下; 如果只有P10、P11同時(shí)為“0”則表示按鍵4按下;如果只有P10、P12為“0”,則表示按鍵5 按下;如果只有P11、P12為“0”,則表示按鍵6按下;如果P10、P11、P12同時(shí)為“0”,則表示
      按鍵7按下。如果P10、PlU P12電壓都沒有被拉低,則表示引起壓降的不是“地”,執(zhí)行第二步檢測(cè)。第二步檢測(cè),程序?qū)Γ?0賦“0”,?11汴12賦“1”,然后檢測(cè)?11、?12引腳電壓如果P11、P12引腳電壓有一個(gè)或同時(shí)被拉低,這表明引起電壓壓降的是“P10”,執(zhí) 行步驟cause 1 ;Causel 單片機(jī)讀取P11、P12引腳信號(hào),如果只有Pll為“0”,則表示按鍵8按下;如果只有P12為“0”,則表示按鍵9按下;如果Pll、P12同時(shí)為“0”,則表示按鍵10按下。如果P11、P12引腳電壓沒有被拉低,則表示引起壓降的不是“P10”,執(zhí)行第三步檢測(cè)。
      第三步檢測(cè),程序?qū)l 1賦“0”,ΡΙΟ、P12賦“ 1 ”,然后檢測(cè)ΡΙΟ、P12引腳電壓:如果P10、P12引腳電壓有一個(gè)或同時(shí)被拉低,這表明引起電壓壓降的是“P11”,執(zhí) 行步驟cause2 ;cause2 單片機(jī)讀取P10、P12引腳信號(hào),如果只有PlO為“0”,則表示按鍵11按下; 如果只有P12為“0”,則表示按鍵12按下;如果ΡΙΟ、P12同時(shí)為“0”,則表示按鍵13按下。如果P10、P12引腳電壓沒有被拉低,則表示引起壓降的不是“P11”,執(zhí)行第四步檢測(cè)。第四步檢測(cè),程序?qū)Γ?2賦“0”,?10汴11賦“1”,然后檢測(cè)P10、P11引腳電壓如果P10、P11引腳電壓有一個(gè)或同時(shí)被拉低,這表明引起電壓壓降的是“P12”,執(zhí) 行步驟cause3 ;Cause3 單片機(jī)讀取P10、P11引腳信號(hào),如果只有PlO為“0”,則表示按鍵14按下; 如果只有Pll為“0”,則表示按鍵15按下;如果P10、P11同時(shí)為“0”,則表示按鍵16按下;如果P10、P11引腳電壓沒有被拉低,則表示引起壓降的不是“P12”,也表示沒有按 鍵按下,鍵盤掃描程序結(jié)束。程序完成了對(duì)16個(gè)1\0 口的掃描。這里本發(fā)明的描述和應(yīng)用是說明性的,并非想將本發(fā)明的范圍限制在上述實(shí)施例 中。這里所披露的實(shí)施例的變形和改變是可能的,對(duì)于那些本領(lǐng)域的普通技術(shù)人員來說實(shí) 施例的替換和等效的各種部件是公知的。本領(lǐng)域技術(shù)人員應(yīng)該清楚的是,在不脫離本發(fā)明 的精神或本質(zhì)特征的情況下,本發(fā)明可以以其他形式、結(jié)構(gòu)、布置、比例,以及用其他元件、 材料和部件來實(shí)現(xiàn)。
      權(quán)利要求
      一種新型鍵盤掃描系統(tǒng),其特征在于所述掃描系統(tǒng)包括n個(gè)I\O口,Sn個(gè)按鍵,其中所述掃描系統(tǒng)通過n個(gè)I\O口掃描Sn個(gè)按鍵;每個(gè)按鍵直接或通過二極管與至少一個(gè)I\O口相連。FSA00000134300600011.tif
      2.根據(jù)權(quán)利要求1所述的新型鍵盤掃描系統(tǒng),其特征在于所述按鍵由n+1組按 鍵構(gòu)成,其中第一組有G + C 2 +…+ 個(gè)按鍵,剩余n組每組均有Ct, + C 2_, +…+ C=:;個(gè)按 鍵;所述第一組按鍵中每一個(gè)按鍵一端接地,另一端接至少一個(gè)1\0 口 ;所述剩余n組按鍵 中每一個(gè)按鍵一端接一個(gè)1\0 口,另一端接至少一個(gè)剩余的1\0 口。
      3.根據(jù)權(quán)利要求2所述的新型鍵盤掃描系統(tǒng),其特征在于所述第一組按鍵中另一端 僅接一個(gè)1\0 口的按鍵與自己所接的1\0 口直接相連。
      4.根據(jù)權(quán)利要求2所述的新型鍵盤掃描系統(tǒng),其特征在于所述第一組按鍵中另一端 接至少兩個(gè)1\0 口的按鍵通過二極管與自己所接的1\0 口相連。
      5.根據(jù)權(quán)利要求2所述的新型鍵盤掃描系統(tǒng),其特征在于所述剩余n組按鍵中的每 一個(gè)按鍵的另一端均通過二極管與自己所接的1\0 口相連。
      6.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的新型鍵盤掃描系統(tǒng),其特征在于所述二極管 為高頻二極管。
      7.根據(jù)權(quán)利要求1所述的新型鍵盤掃描系統(tǒng)的掃描方法,其特征在于所述掃描 方法為通過n個(gè)1\0 口控制Sn個(gè)按鍵,且通過對(duì)1\0 口的掃描唯一地確定按下的按鍵,其中<formula>formula see original document page 2</formula>每個(gè)按鍵直接或通過二極管與至少一個(gè)1\0 口相連;所述掃描方法將Sn個(gè)按鍵分為n+1組進(jìn)行掃描,其中第一組掃描 C:+C 2 +…+ 個(gè)按鍵,剩余n組每組均掃描Ct, +C 2_, +…+ C。個(gè)按鍵。
      8.根據(jù)權(quán)利要求7所述的新型鍵盤掃描方法,其特征在于所述n個(gè)1\0口分別與單片 機(jī)的PXpPXpPXy . . PXn_i引腳相連,所述掃描方法將Sn個(gè)按鍵分為n+1組進(jìn)行掃描,第一組 掃描的詳細(xì)步驟為單片機(jī)對(duì)PX0、PX” PX2. PXn_i賦值“ 1 ”,然后讀取PX0、PX” PX2. PXn_i 引腳信號(hào),如果PXrPXpPXy . .PXn_i中間有任何一個(gè)端口電壓降為0,則引起所述端口電壓 壓降的原因定是“地”,單片機(jī)讀取P&、PXp PX2. . . PXn_i的引腳信號(hào)確定按下的按鍵;如果 PXQ、P&、PX2. . . PXn_i引腳沒有電壓壓降,則引起該端口電壓壓降的原因不是“地”。
      9.根據(jù)權(quán)利要求8所述的新型鍵盤掃描方法,其特征在于第i+2組掃描的詳細(xì)步驟 為單片機(jī)對(duì)PXi賦值“0”,對(duì)PX0、PX2. PXn_i中除PXi之外的引腳賦值“1”,然后讀取PX0、 PX2. . . PXn_!中除PXi之外的引腳電壓,如果PXpPXy . . PXn_!中除PXi之外的引腳中間有任何 一個(gè)端口電壓降為0,則引起該端口電壓壓降的原因定是“PX/’,單片機(jī)讀取引腳信號(hào)確定 按下的按鍵,其中0彡i彡n-l。
      10.根據(jù)權(quán)利要求8所述的新型鍵盤掃描方法,其特征在于如果PX^Xy. . PXn_i中沒 有任何弓I腳的端口電壓降為0,則沒有任何按鍵按下。
      全文摘要
      本發(fā)明公開了一種新型鍵盤掃描系統(tǒng)及掃描方法,所述掃描方法為通過n個(gè)I\O口控制Sn個(gè)按鍵,且通過對(duì)I\O口的掃描唯一地確定按下的按鍵,其中每個(gè)按鍵直接或通過二極管與至少一個(gè)I\O口相連;所述掃描方法將Sn個(gè)按鍵分為n+1組進(jìn)行掃描,其中第一組掃描個(gè)按鍵,剩余n組每組均掃描個(gè)按鍵。本發(fā)明只是對(duì)I\O口進(jìn)行賦值,并沒有執(zhí)行每一個(gè)按鍵的檢測(cè)過程,檢測(cè)時(shí)間相對(duì)較短,可行性高,且能極大的提高I\O口掃描按鍵的能力,節(jié)約CPU的資源。
      文檔編號(hào)H03M11/20GK101834609SQ201010183858
      公開日2010年9月15日 申請(qǐng)日期2010年5月25日 優(yōu)先權(quán)日2010年5月25日
      發(fā)明者孔祥洪, 楊謂, 江瑞煌 申請(qǐng)人:上海海洋大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1