專利名稱:鍵盤、鍵盤掃描電路及方法
技術領域:
本發明涉及一種鍵盤,特別涉及一種鍵盤掃描電路及方法。
背景技術:
鍵盤是電腦、PDA(個人數字助理)、手機等電子產品中主要的人機對話輸入設備。 隨著電子產品功能的增加,要完成控制復雜多樣的功能,則需要鍵盤提供足夠的按鍵。鍵盤 通過內部的矩陣掃描電路對鍵盤上的按鍵進行掃描,從而確定按鍵的位置。現有矩陣鍵盤 掃描電路大多使用單片機I/O端口來進行鍵盤掃描以控制鍵盤的按鍵部分。由于控制功能 增加需要利用I/O端口進行控制的端口也增加,這樣就導致鍵盤掃描電路占用過多的I/O 端口資源。低成本中小型的單片機為市場上銷售的主體,如果使用上述矩陣鍵盤掃描電路 就會使得有限的I/O端口變得更為緊張。
發明內容
有鑒于此,有必要提供一種用少量的I/O端口實現多按鍵的鍵盤及鍵盤掃描電路。此外,還有必要提供一種鍵盤掃描方法。一種鍵盤,該鍵盤包括內部微處理器,該微處理器集成了 CPU、RAM, ROM、定時器/ 計數器部件,其特征在于該微處理器還包括鍵盤掃描程序及I/O端口,該I/O端口包括鎖 存器、場效應晶體管、上拉電阻;該場效應晶體管的柵電極與鎖存器電性連接,漏電極與上 拉電阻電性連接,源電極接地;該I/O端口作為輸入輸出端口,用于讀取鍵盤按鍵狀態并將 鍵盤按狀態輸出給微處理器。一種鍵盤掃描電路,其包括N個I/O端口、若干個按鍵、N條行線、N條第一列線、N 條第二列線、N個第一電阻及N個第二電阻,其中N為自然數。N條行線分別與N個I/O端 口電性連接。每條第一列線的一端通過N個按鍵分別與N條行線電性連接,另一端通過第 一電阻接地。每條第二列線的一端與對應的行線電性連接,另一端通過第二電阻與第一電 阻的一端電性連接。一種鍵盤的掃描方法,包括以下步驟設置與N條行線電性連接的N個I/O端口為輸入口,同時讀取該N個I/O端口的 電平狀態;判斷該N個I/O端口是否有電平狀態發生變化;若該I/O端口有電平狀態變化,記錄與N個I/O端口相對應的第一鍵值;將I/O端口設置為輸出口;讀取該N個I/O端口的電平狀態;記錄與N個I/O端口的電平狀態相對應的第二鍵值;根據記錄的第一鍵值和第二鍵值判斷出被按下的鍵盤按鍵。采用上述鍵盤掃描電路利用N個I/O端口實現掃描NxN個按鍵,減少了鍵盤對I/0端口資源的占用,并且實現了多個按鍵的掃描。同時,通過一種該掃描電路采用的掃描方法。
圖1為一種較佳實施方式的鍵盤功能示意圖,該鍵盤包括微處理器和鍵盤掃描電 路。圖2為圖1中微處理器的I/O端口內部電路示意圖。圖3為一種較佳實施方式的鍵盤掃描電路圖。圖4為I/O端口為4時,一較佳實施方式的鍵盤掃描電路圖。圖5為圖3中鍵盤掃描電路的掃描方法的流程圖。圖6為圖4中鍵盤掃描電路的掃描方法的流程圖。
具體實施例方式請參閱圖1,其為一種較佳實施方式的鍵盤10的功能示意圖。鍵盤10包括微處理 器100及鍵盤掃描電路200。微處理器100包括I/O端口 110及鍵盤掃描程序130。微處 理器100通過I/O端口 110與鍵盤掃描電路200電性連接。微處理器100用于執行鍵盤掃 描程序130,控制鍵盤掃描電路200識別鍵盤10被操作的按鍵。在本實施方式中,微處理器100為一單片機,其還包括第一引腳101及第二引腳 102。第一引腳101與電壓源Vcc連接,第二引腳102接地。I/O端口 110為輸入輸出端口,用于讀取鍵盤10的按鍵狀態并將讀取的鍵盤10按 鍵狀態輸出給微處理器100。通過CPU輸入不同的命令和參數,控制I/O端口 110相關的電 路及簡單的操作。在其他實施方式中,I/O端口 110也可作為地址/數據總線。請參閱圖2,其為一種較佳實施方式的微處理器100中I/O端口 110內部電路示意 圖。該I/O端口 110在微處理器100的內部電路包括鎖存器113、上拉電阻R1、場效應晶體 管Vl及第三引腳115。鎖存器113與內部總線信號連接(圖未示),用于對I/O端口 110的輸入數據進 行鎖存。當I/O端口 110作為輸入時,鎖存器113輸出為高電平;當I/O端口 110作為輸出 時,鎖存器113根據內部總線信號控制鎖存器113的輸出。上拉電阻Rl電性連接于電壓源Vcc和場效應晶體管Vl的源電極。場效應晶體管Vl的柵電極與鎖存器113電性連接,漏電極與上拉電阻Rl電性連 接,源電極接地。本實施例中,場效應晶體管Vl為N型場效應管。第三引腳115與場效應晶體管Vl的漏電極電性連接。在I/O端口 110作為輸入時,鎖存器113輸出為高電平,場效應管Vl的Vgs <0, 導致場效應晶體管Vl截止,但由于上拉電阻Rl的分壓作用,第三引腳115為高電平。此時, 第三引腳115也可以通過外部輸入源控制其電平狀態,若外部輸入為高電平,第三引腳115 為高電平;外部輸入為低電平,第三引腳115為低電平。 在I/0端口 110作為輸出時,鎖存器113輸出為高電平時,場效應管V1的Vgs < 0, 場效應晶體管Vl截止,由于上拉電阻Rl的分壓作用,第三引腳115為高電平;鎖存器113 輸出為低電平時,場效應管Vl的Vgs > 0,場效應晶體管Vl導通,第三引腳115為低電平。
請參閱圖3,其為一種較佳實施方式的鍵盤掃描電路200的電路圖。鍵盤掃描電 路200包括N條行線L1 Ln、N條第一列線Ph P1^ N條第二列線P2^1 P2_n、NxN個按 鍵Sh Sn_n、N個I/O端口 K1 Kn、N個第一電阻RH R1^n及N個第二電阻R2^1 R2_n, 其中N為自然數。N-I條第一列線與N條行線交錯排列,形成Nx(N-I)個交叉點。Nx(N-I) 個交叉點分別對應放置Nx (N-I)個按鍵。第N條第一列線通過N個按鍵直接與N條行線連 接。NxN個按鍵的一端分別與對應行線電性連接,另一端分別與對應的第一列線電性連接。 N條第二列線與N條行線一一對應,且每條第二列線一端與對應行線電性連接,另一端通過 第二電阻與第一電阻的一端電性連接。第一電阻Rh Rn的阻值遠小于第二電阻IV1 R2-n的阻值。每條行線L1 Ln分別由一個I/O端口及N個按鍵的一端順次電性連接而成。如 行線L1其由I/O端口 K1及Sg SpnN個按鍵的一端順次電性連接。同樣,對于行線Lm,其 中m為自然數,且2=<m<n,其由I/O端口 &及Snri Sm_nN個按鍵的一端順次電性連 接。每條第一列線Ph Ph分別由N個按鍵的另一端及一個第一電阻的一端順次電 性連接而成,且第一電阻的另一端接地。如第一列線Pw其由Sw SlriN個按鍵的另一端 及第一電阻Rh順次電性連接。同樣,對于第一列線Pu,其中m為自然數,且2 = < m < n, 其由Snri Sm_nN個按鍵的另一端及第一電阻Rn順次電性連接。每條第二列線Pp1 P2_n分別由一個I/O端口及一個第二電阻順次電性連接而成。 如第二列線P2-i由I/O端口 K1及第二電阻Rp1順次電性連接。同樣,對于第二列線P2_m,其 中m為自然數,且2=<m<n,其由Km及第一電阻Rn順次電性連接。鍵盤掃描電路200在執行按鍵掃描程序時,首先將I/O端口 K1 Kn設置成為輸 入口 ;然后,掃描I/O端口 Ki Kn的電平狀態。若全部為高電平狀態,則無按鍵按下,若I/ 0端口 K1 Kn中任意一個I/O端為低電平狀態,則該行有按鍵被按下,CPU記錄此時的I/ 0端口 K1 Kn的電平狀態為第一鍵值;然后,將I/O端口設置為輸出口,且該電平狀態變化 的I/O端口設置為高電平狀態,其余I/O端口為低電平狀態。此時,若按鍵仍然被按下,由 于第二電阻的阻值遠大于第一電阻的阻值,通過第二電阻及第二列線與第一電阻一端電性 連接的I/O端口也為高電平狀態。再次掃描I/O端口 K1 Kn的電平狀態;CPU記錄此時的 I/O端口 K1 Kn的電平狀態為第二鍵值;將第一鍵值左移4位后與第二鍵值相加得到第三 鍵值;通過查表方式得到該第三鍵值對應的按鍵。請參閱圖4,其為N為4時的一較佳實施例的鍵盤掃描電路201的電路圖。鍵盤掃 描電路101包括4條行線L1 L4、4條第一列線Ph Pi_4、4條第二列線P” P2_4、16個 按鍵Sh S4_4、4個I/O端口 K1 K4,4個第一電阻RH RH及4個第二電阻R2^1 R2_4。 3條第一列線與4條行線交叉放置形成12個交叉點的矩陣,12個交叉點放置12個按鍵。第 4條第一列線通過4個按鍵直接與4條行線連接。16個按鍵的一端分別與對應行線電性連 接,另一端分別與對應第一列線連接。4條第二列線與4條行線一一對應,且每條第二列線 一端與對應行線連接,另一端通過第二電阻與第一電阻連接。行線Ll由I/O端口 K1及Sm、S"、S1+ S1^4按鍵的一端順次電性連接,行線L2由 I/O端口 K2及S2_” S2_2、S2_3、S2_4按鍵的一端順次電性連接,行線L3由I/O端口 K3及Sm、 S3_2、S3_3、S3_4按鍵的一端順次電性連接,行線L4由I/O端口 K4及S4_2、S4_3、S4_4按鍵的
5一端順次電性連接。第一列線Ph其由S1YS2YS3YSH按鍵的另一端及第一電阻RH順次電性連接,第一列線Ph2其由Si_2、S2_2、S3_2、S4_2按鍵的另一端及第一電阻隊_2順次電性連接,第一列線 Pi-3其由S1+ S2_3、S3_3、S4_3按鍵的另一端及第一電阻隊_3順次電性連接,第一列線Pi_4其由 S1+ S2_4、S3_4、S4_4按鍵的另一端及第一電阻Rh順次電性連接。第二列線P”由I/O端口 K1及第二電阻Rp1順次電性連接,第二列線P2_2由I/O端 口 K2及第二電阻R2_2順次電性連接,第二列線P2_3由I/O端口 K3及第二電阻R2_3順次電性 連接,第二列線P2-4由I/O端口 K4及第二電阻R2_4順次電性連接。鍵盤掃描電路200在執行按鍵掃描程序時,首先將I/O端口 K1 K4設置成為輸入 口 ;然后,掃描I/O端口 K1 K4的電平狀態。若全部為高電平狀態,則無按鍵按下,若I/O 端口 K1 K4中任意一個I/O端為低電平狀態,則該行有按鍵被按下,CPU記錄此時的I/O端 口 K1 K4的電平狀態為第一鍵值;然后,將I/O端口設置為輸出口,并且該電平狀態變化的 I/O端口設置為高電平狀態,其余I/O端口設置為低電平狀態。此時,若按鍵仍然被按下,由 于第二電阻的阻值遠大于第一電阻的阻值,通過第二電阻及第二列線與第一電阻一端電性 連接的I/O端口也為高電平狀態。再次掃描I/O端口 K1 K4的電平狀態;CPU記錄此時的 I/O端口 K1 K4的電平狀態為第二鍵值;將第一鍵值左移4位后與第二鍵值相加得到第三 鍵值;通過查表方式得到該第三鍵值對應的按鍵。如表一所示,其為4x4鍵盤掃描電路不同按鍵被按下時所對應鍵值表。表一 4x4鍵盤掃描電路的鍵值表
權利要求
1.一種鍵盤,其包括微處理器,其特征在于該微處理器還包括鍵盤掃描程序及I/O端 口,該I/O端口包括鎖存器、場效應晶體管、上拉電阻;該微處理器的第一引腳與電壓源連 接,第二引腳接地;該場效應晶體管的柵電極與鎖存器電性連接,漏電極與上拉電阻電性連 接,源電極接地;該I/O端口作為輸入輸出端口,用于讀取鍵盤按鍵狀態并將鍵盤按狀態輸 出給微處理器。
2.如權利要求1所述的鍵盤,其特征在于該I/O端口用作輸入端口時,場效應晶體管 截止,通過上拉電阻將I/O端口置為高電平,然后根據外部輸入源為高電平,I/O端口為高 電平,外部輸入源為低電平,I/O端口為低電平;該I/O端口用作輸出口時,若場效應晶體管 截止,I/O端口為高電平,若場效應晶體管導通,I/O端口為低電平。
3.如權利要求2所述鍵盤,其特征在于該場效應晶體管為N型場效應晶體管,該I/O 端口也可以作為地址/數據總線。
4.一種鍵盤掃描電路,其特征在于該鍵盤掃描電路包括N個I/O端口、若干個按鍵、N 條行線、N條第一列線、N條第二列線、N個第一電阻及N個第二電阻,其中N為自然數,該N 條行線分別與N個I/O端口電性連接;每條第一列線的一端通過N個按鍵分別與N條行線 電性連接,另一端通過第一電阻接地;每條第二列線的一端與對應的行線電性連接,另一端 通過第二電阻與第一電阻的一端電性連接。
5.如權利要求4所述的鍵盤掃描電路,其特征在于每一個第一電阻的阻值小于對應 的第二電阻的阻值。
6.一種鍵盤的掃描方法,包括以下步驟設置與N條行線電性連接的N個I/O端口為輸入口,同時讀取該N個I/O端口的電平 狀態;判斷該N個I/O端口是否有電平狀態發生變化;若該I/O端口有電平狀態變化,記錄與N個I/O端口的電平狀態相對應的第一鍵值;將I/O端口設置為輸出口 ;讀取該N個I/O端口的電平狀態;記錄與N個I/O端口的電平狀態相對應的第二鍵值;根據記錄的第一鍵值和第二鍵值判斷出被按下的鍵盤按鍵。
7.如權利要求6所述的鍵盤掃描方法,其特征在于將I/O端口設置為輸出口的步驟 進一步包括將有電平狀態變化的I/O端口設置為高電平狀態,其他I/O端口設置為低電平狀態。
8.如權利要求7所述的鍵盤掃描方法,其特征在于該電平狀態變化的I/O端口被置 為高電平狀態時,通過第二列線及第二電阻與第一電阻一端連接的I/O端口同時被置為高 電平狀態。
9.如權利要求8所述的鍵盤掃描方法,其特征在于進一步包括將第一鍵值左移若干 位后與第二鍵值相加,得到第三鍵值;根據第三鍵值判斷出被按下的鍵盤按鍵。
全文摘要
一種鍵盤,該鍵盤包括內部微處理器,該微處理器還包括鍵盤掃描程序及I/O端口,該I/O端口包括鎖存器、場效應晶體管、上拉電阻。該I/O端口為輸入輸出端口,用于讀取鍵盤按鍵狀態并將鍵盤按狀態輸出給微處理器。一種鍵盤掃描電路,包括N個I/O端口、若干個按鍵、N條行線、N條第一列線、N條第二列線、N個第一電阻及N個第二電阻,其中N為自然數。一種鍵盤的掃描方法,其首先將I/O端口設置為輸入端口,若電平狀態發生改變,讀取I/O端口的鍵值,然后,將I/O端口設置為輸出端口,再次讀取I/O端口的鍵值,根據兩次的鍵值確定按下的按鍵。
文檔編號G06F3/02GK101995956SQ20091030611
公開日2011年3月30日 申請日期2009年8月26日 優先權日2009年8月26日
發明者丁林坤, 周享平, 莊宗仁, 舒禮盛, 黃仁文 申請人:鴻富錦精密工業(深圳)有限公司;鴻海精密工業股份有限公司