一種mcu鍵盤電路及其實現方法
【專利摘要】本發明提供了一種MCU鍵盤電路及其實現方法。所述電路包括MCU、M個按鍵S1~SM、M個電阻R1~RM、公共電阻、施密特觸發器;電阻R1的一端連接VCC電源,另一端與電阻R2至RM依次串聯;電阻RM的未與相鄰電阻連接的一端與按鍵SM的一端連接,按鍵Si的一端與電阻Ri的與Ri+1連接的連接端相連,1≤i≤M-1;按鍵S1~SM的另一端通過公共電阻接地;按鍵S1~SM的與公共電阻連接的連接端均連接于A點后,與MCU的第一輸入接口和施密特觸發器的輸入端分別連接;施密特觸發器的輸出端連接至MCU的第二輸入接口。本發明大大節省了MCU的資源,且具有簡單、高效、可靠性強等優點。
【專利說明】—種MCU鍵盤電路及其實現方法
【技術領域】
[0001]本發明涉及鍵盤【技術領域】,尤其涉及一種簡單、高效、特別節省MCU資源的鍵盤電路及其實現方法。
【背景技術】
[0002]通常MCU的鍵盤電路的實現方法如下:
[0003](I)獨立鍵盤法
[0004]一般地,當按鍵個數不大于8時,可以采用這種方法,每個按鍵連接一根MCU的I/O線,這樣,有幾個按鍵就需要占用幾根MCU的I/O線,這種方法占用MCU硬件資源較多。
[0005](2)矩陣鍵盤法
[0006]一般地,當按鍵個數大于8時,多采用此法:將按鍵排列成矩陣形式,將矩陣的行列連接到MCU的I/O線,所占用MCU的I/O線數為該矩陣的行數與列數之和。
[0007]上述各實現鍵盤電路的方法,所占用的MCU的I/O線較多,這樣就給需要連接較多外設的MCU系統帶來了 I/O資源不足的麻煩。
【發明內容】
[0008]本發明的目的在于提供一種MCU鍵盤電路及其實現方法,解決MCU系統I/O資源不足的問題。
[0009]本發明的目的是通過以下技術方案實現的。
[0010]一種MCU鍵盤電路,包括MCU和M個按鍵S1?SM,還包括:與按鍵——對應的M個電阻R1?RM、公共電阻、施密特觸發器;
[0011]其中,所述電阻R1的一端連接VCC電源,另一端與電阻R2至Rm依次串聯;所述電阻Rm的未與電阻Rsh連接的一端與按鍵Sm的一端連接,按鍵Si的一端與電阻Ri的與Ri+1連接的連接端相連,I ^ i ^ M-1 ;按鍵S1?Sm的另一端通過公共電阻接地;同時,按鍵S1?Sm的與公共電阻連接的連接端均連接于A點后,與MCU的第一輸入接口和施密特觸發器的輸入端分別連接;所述施密特觸發器的輸出端連接至MCU的第二輸入接口。
[0012]當無按鍵按下時,所述施密特觸發器輸出為高電平,中斷信號無效;當有按鍵按下時,所述斯密特觸發器的輸入端產生下降沿,觸發MCU中斷。
[0013]其中,所述電阻R1?Rm的阻值之和與公共電阻對VCC電源的分壓產生的A點電壓均高于所述施密特觸發器的觸發電壓。
[0014]其中,所述A點還通過電容Cl接地。
[0015]一種如上所述的MCU鍵盤電路的實現方法,包括步驟:
[0016]有按鍵按下時,施密特觸發器觸發MCU產生中斷;
[0017]中斷觸發后,所述MCU啟動A/D,并直按鍵標志位;
[0018]所述MCU讀取A點的Α/D值,對其進行數據處理后獲取相應的鍵值,據此識別出當前被按下的按鍵,之后執行該按鍵的相應功能操作。
[0019]其中,還包括:在執行當前被按下的按鍵的相應功能操作后,對所述按鍵標志位清零。
[0020]與現有技術相比,本發明的有益效果在于:
[0021](I)鍵盤處理軟件簡單,耗用MCU極少的時間,高效;
[0022](2)此鍵盤電路的實現,僅占用MCU的兩根I/O線,大大節省了 MCU的資源;
[0023](3)通過電容與施密特觸發器的配合,提升了系統的有效性、可靠性。
【專利附圖】
【附圖說明】
[0024]圖1是本發明實施例中鍵盤電路原理圖;
[0025]圖2是本發明實施例中鍵盤電路的實現方法流程圖。
【具體實施方式】
[0026]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0027]請參閱圖1,本發明提出的鍵盤電路包括:M個按鍵(以下描述為Sp S2.....SM,
I ( i彡M),以及與按鍵一一對應的M個電阻R(以下描述為R2.....Rm),公共電阻R9,
電容C1,施密特觸發器,MCU。本實施例中,M的值為8,即包括了 8個按鍵以及8個電阻R。
[0028]其中,電阻R1的一端連接VCC電源,另一端與電阻R2至R8依次串聯。電阻R8的未與R7連接的一端與按鍵S8的一端連接,按鍵Si的一端與電阻Ri的與Ri+1連接的連接端相連(I彡i彡M-1),所有按鍵S的另一端通過公共電阻R9接地。另外,全部按鍵S的與公共電阻R9連接的連接端連接于一點(本實施例中設為A點)后再連接至MCU的第一輸入接口(用于A/D)。施密特觸發器的輸入端連接至A點,輸出端連接至MCU的第二輸入接口(用于接收中斷觸發信號)。
[0029]當無按鍵按下時,A點電壓為低,施密特觸發器輸出為高電平,中斷信號無效。當有按鍵按下時,A點產生一定的電壓值,斯密特觸發器的輸入端產生由零電壓向正電壓上的變化,則斯密特觸發器的輸出端產生一個下降沿,從而使MCU中斷。本實施例中,可以根據所選的施密特觸發器的不同,通過調整圖1中Rl至R9的值,使得這個電壓變化的值足以使得施密特觸發器觸發;也就是說,選擇各按鍵對應的電阻值時要注意,各按鍵對應的電阻(如圖1中Rl至R8)值之和與公共電阻R9對VCC的分壓產生的A點電壓要略高于施密特觸發器的觸發電壓,這樣才能保證每個按鍵按下時,都會使施密特觸發器觸發。
[0030]另外,上述A點還通過電容Cl接地,其目的為:一、穩定A/D的輸入;二、當有小毛刺過來時,它與施密特觸發器一起濾掉毛刺的干擾,保證中斷的有效性。
[0031]請參閱圖2,本實施例中上述鍵盤電路的實現方法為:
[0032]201、有按鍵按下時,施密特觸發器的輸出端產生下降沿,觸發MCU產生中斷。
[0033]本步驟中,若無按鍵被按下時,A點電壓為低,施密特觸發器輸出為高電平,不觸發MCU產生中斷。
[0034]202、進入中斷程序后,MCU啟動A/D,并置按鍵標志位。按鍵標志位用以提示主程序當前有按鍵被按下,需要執行按鍵識別操作。
[0035]203、讀取A/D值。由于不同按鍵被按下時,將使A點產生不同的電壓,即A/D的輸入為不同的電壓值,因此不同按鍵被按下時將產生不同的Α/D值,該Α/D值即可作為后續按鍵識別的判斷依據。
[0036]204、對所讀取的Α/D值進行數據處理后獲取相應的鍵值,從而識別出當前被按下的按鍵,之后執行該按鍵的相應操作。
[0037]205、清除按鍵標志。由于已實現當前被按下的按鍵功能,所以此時需要將按鍵標志清零,返回步驟201,待下一次有按鍵被按下時,再次產生中斷及進行后續的按鍵識別。
[0038]綜上,本發明采用電容與施密特觸發器組合的方法,使得鍵盤在沒有按鍵被按下或受到環境干擾時不產生MCU中斷,當按鍵被按下時MCU中斷才會被觸發,進入中斷程序后MCU根據Α/D輸出值的不同進行按鍵識別,具有簡單、高效、節省資源等優點。
[0039]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種MCU鍵盤電路,包括MCU和M個按鍵S1?SM,其特征在于,還包括:與按鍵一一對應的M個電阻R1?RM、公共電阻、施密特觸發器; 其中,所述電阻R1的一端連接VCC電源,另一端與電阻R2至Rm依次串聯;所述電阻Rm的未與電阻Rsh連接的一端與按鍵Sm的一端連接,按鍵Si的一端與電阻Ri的與Ri+1連接的連接端相連,I ^ i ^ M-1 ;按鍵S1?Sm的另一端通過公共電阻接地;同時,按鍵S1?Sm的與公共電阻連接的連接端均連接于A點后,與MCU的第一輸入接口和施密特觸發器的輸入端分別連接;所述施密特觸發器的輸出端連接至MCU的第二輸入接口。 當無按鍵按下時,所述施密特觸發器輸出為高電平,中斷信號無效;當有按鍵按下時,所述斯密特觸發器的輸入端產生下降沿,觸發MCU中斷。
2.如權利要求1所述的MCU鍵盤電路,其特征在于,所述電阻R1?Rm的阻值之和與公共電阻對VCC電源的分壓產生的A點電壓均高于所述施密特觸發器的觸發電壓。
3.如權利要求2所述的MCU鍵盤電路,其特征在于,所述A點還通過電容Cl接地。
4.如權利要求1至3任一所述的MCU鍵盤電路的實現方法,其特征在于,包括步驟: 有按鍵按下時,施密特觸發器觸發MCU產生中斷; 中斷觸發后,所述MCU啟動A/D,并直按鍵標志位; 所述MCU讀取A點的A/D值,對其進行數據處理后獲取相應的鍵值,據此識別出當前被按下的按鍵,之后執行該按鍵的相應功能操作。
5.如權利要求4所述的MCU鍵盤電路的實現方法,其特征在于,該方法還包括:在執行當前被按下的按鍵的相應功能操作后,對所述按鍵標志位清零。
【文檔編號】G06F3/02GK104360752SQ201410627384
【公開日】2015年2月18日 申請日期:2014年11月10日 優先權日:2014年11月10日
【發明者】劉均, 鄧芳鴻, 李劍鋒 申請人:深圳市元征科技股份有限公司