本發(fā)明涉及移動終端領域,尤其涉及的是一種基于移動終端的按鍵檢測控制系統(tǒng)、方法及移動終端。
背景技術:
物理按鍵通過對于設置在移動終端表面的實體按鍵的按壓,可以對于移動終端輸入;物理按鍵手感佳,用戶能夠不觀察屏幕顯示的情況下來知道是否輸入物理按鍵。
比如,在通話過程中,用戶可以通過側鍵進行通話音量的調節(jié),而在通話過程中如果想通過觸摸屏來進行音量調節(jié)則很不方便。因此,物理按鍵仍具有較大的用武之地。
在現(xiàn)有技術中,一般采用一個物理按鍵對應連接到移動終端主控制器的一個輸入引腳(GPIO)上,由該引腳檢測物理按鍵的按下或釋放操作,如圖1所示,當按鍵K0未按下時,K0A與K0B斷開,此時主控制器的GPIO檢測到的是低電平,當按鍵K0按下時,K0A與K0B短路,此時主控制器的GPIO檢測到的是高電平,主控制器就可以根據(jù)GPIO檢測到的電平高低來判斷按鍵K0是斷開還是短路狀態(tài)。按上述方法,當物理按鍵較多后,需要多個GPIO來對各個按鍵的開關狀態(tài)的檢測,這樣成本高,不方便生產(chǎn)商降低成本。
因此,現(xiàn)有技術還有待于改進和發(fā)展。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述缺陷,提供一種基于移動終端的按鍵檢測控制系統(tǒng)、方法及移動終端。本發(fā)明提供一種移動終端按鍵檢測方法,利用一個GPIO來檢測多個按鍵的開關狀態(tài),降低了成本,并且其結構簡單操作方便。
本發(fā)明解決技術問題所采用的技術方案如下:
一種基于移動終端的按鍵檢測控制系統(tǒng),其中,包括:主控制器和按鍵檢測系統(tǒng);主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接;所述主控制器通過獲取按鍵檢測系統(tǒng)輸出的電壓來判斷各個按鍵的開關情況;
其中,所述按鍵檢測系統(tǒng),包括多個按鍵開關,以及分別多個按鍵開關一一連接的分支電阻,多個按鍵開關的一端分別一一對應連接有一分支電阻,最后通過一公共電阻接地,多個按鍵開關的另一端連接工作電壓;
所述主控制器還包括:依次連接的定時器、電壓獲取模塊、查表模塊、按鍵電壓表;
定時器用于定時觸發(fā)電壓獲取模塊獲取按鍵檢測系統(tǒng)的輸出電壓;
電壓獲取模塊用于獲取按鍵檢測系統(tǒng)的輸出電壓即主控制器的GPIO上的電壓;
查表模塊用于根據(jù)電壓獲取模塊獲取到的按鍵檢測系統(tǒng)的輸出電壓Vk的值在按鍵電壓表中查詢當前各個按鍵開關的情況;
按鍵電壓表中保存有各個開關電壓值對應的各個按鍵開關情況;如圖下表所示,不同的開關電壓值對應各個按鍵開關的不同情況。
所述基于移動終端的按鍵檢測控制系統(tǒng),其中,所述按鍵檢測系統(tǒng),包括3個按鍵開關,分別為按鍵K1、按鍵K2、按鍵K3,以及三個電阻,分別為電阻R1、電阻R2、電阻R3;
所述按鍵K1的一端連接工作電壓,另一端通過電阻R1連接至主控制器的GPIO腳;
所述按鍵K2的一端連接工作電壓,另一端通過電阻R2連接至主控制器的GPIO腳;
所述按鍵K3的一端連接工作電壓,另一端通過電阻R3連接至主控制器的GPIO腳;
所述主控制器的GPIO腳還通過一公共電阻R0接地。
所述基于移動終端的按鍵檢測控制系統(tǒng),其中,所述按鍵檢測系統(tǒng)的輸出電壓即開關電壓值,對應主控制器的GPIO上的電壓,通過以下公式得到:
;
上式中,K1表示按鍵K1是否閉合,如果按鍵K1閉合則K1為1,如果按鍵K1斷開則K1為0;K2表示按鍵K2是否閉合,如果按鍵K2閉合則K2為1,如果按鍵K2斷開則K2為0;K3表示按鍵K3是否閉合,如果按鍵K3閉合則K3為1,如果按鍵K3斷開則K3為0。
一種如上任一項所述基于移動終端的按鍵檢測控制系統(tǒng)的檢測控制方法,其中,包括步驟:
A、預先在按鍵電壓表中保存各個開關電壓值對應的各個按鍵開關情況,以及存儲與各個開關電壓值對應的操作指令;
B、將移動終端主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接,并且每隔一定時間獲取GPIO的輸入電壓;
C、根據(jù)GPIO檢測到的電壓,與預先存儲在移動終端中的所有按鍵開關情況與電壓的對應表中查詢當前按鍵檢測系統(tǒng)中各個按鍵的開關狀態(tài),控制執(zhí)行相應的操作。
所述的檢測控制方法,其中,所述步驟C具體包括:
當有按鍵開關按下時,檢測到相應的電壓值;
根據(jù)該檢測到的開關電壓值查找按鍵電壓表中預先保存的各個Vk電壓值對應的各個按鍵開關情況,確認當前操作的是哪個開關按鍵,控制執(zhí)行相應的操作。
所述的檢測控制方法,其中,所述一定時間為0.5秒。
一種移動終端,其中,包括任一項所述的基于移動終端的按鍵檢測控制系統(tǒng)。
本發(fā)明所提供的基于移動終端的按鍵檢測控制系統(tǒng)、方法及移動終端,所述方法包括移動終端主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接,并且每隔一定時間獲取GPIO的輸入電壓;根據(jù)GPIO檢測到的電壓在事先存儲在移動終端中的所有按鍵開關情況與電壓的對應表中查詢當前按鍵檢測系統(tǒng)中各個按鍵的開關狀態(tài)。從而可以利用一個GPIO來檢測多個按鍵的開關狀態(tài),降低了成本,并且其結構簡單操作方便。
附圖說明
圖1是現(xiàn)有技術的移動終端一個按鍵連接結構示意圖。
圖2是本發(fā)明基于移動終端的按鍵檢測控制系統(tǒng)的較佳實施例的功能結構示意圖。
圖3是本發(fā)明基于移動終端的按鍵檢測控制方法的較佳實施例的流程圖。
圖4是本發(fā)明基于移動終端的按鍵檢測控制方法的具體應用實施例的流程圖。
具體實施方式
為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
為方便說明,以下舉一實施例,該實施例可以檢測3個按鍵的開關狀態(tài),如圖2所示,本發(fā)明實施例的基于移動終端的按鍵檢測控制系統(tǒng),其包括主控制器和按鍵檢測系統(tǒng);主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接;主控制器通過獲取按鍵檢測系統(tǒng)輸出的電壓來判斷各個按鍵的開關情況。
所述按鍵檢測系統(tǒng),包括多個按鍵開關(如圖2所示的按鍵開關:按鍵K1、按鍵K2、按鍵K3),以及分別多個按鍵開關一一連接的電阻(本實施也叫“分支電阻”“分路電阻”)(如圖2所示的電阻R1、電阻R2、電阻R3),如圖2所示,多個按鍵開關的一端分別一一對應連接有一電阻,最后通過一公共電阻R0接地GND,多個按鍵開關的另一端連接工作電壓VDD。
其中,所述主控制器還包括:依次連接的定時器、電壓獲取模塊、查表模塊、按鍵電壓表,如圖3所示。
定時器用于定時觸發(fā)電壓獲取模塊獲取按鍵檢測系統(tǒng)的輸出電壓。
電壓獲取模塊用于獲取按鍵檢測系統(tǒng)的輸出電壓也就是主控制器的GPIO上的電壓,按鍵檢測系統(tǒng)的輸出電壓Vk(也就是主控制器的GPIO上的電壓)符合以下公式:
上式中,K1表示按鍵K1是否閉合,如果按鍵K1閉合則K1為1,如果按鍵K1斷開則K1為0;K2表示按鍵K2是否閉合,如果按鍵K2閉合則K2為1,如果按鍵K2斷開則K2為0;K3表示按鍵K3是否閉合,如果按鍵K3閉合則K3為1,如果按鍵K3斷開則K3為0。
查表模塊用于根據(jù)電壓獲取模塊獲取到的按鍵檢測系統(tǒng)的輸出電壓Vk的值在按鍵電壓表中查詢當前各個按鍵開關的情況。
按鍵電壓表中保存有各個Vk電壓值對應的各個按鍵開關情況;如圖下表所示,不同的Vk值對應各個按鍵開關的不同情況。
本發(fā)明實施例中需要預先在按鍵電壓表中保存有各個Vk電壓值對應的各個按鍵開關情況,如下表所示:
由上可見,本發(fā)明基于移動終端的按鍵檢測控制系統(tǒng)的工作原理是:
參照上述表,本發(fā)明在具體實施時,需要預先在按鍵電壓表中保存各個Vk電壓值對應的各個按鍵開關情況,以及存儲與各個Vk電壓值(開關電壓值)對應的操作指令;即與各個按鍵開關對應的操作指令;每個按鍵開關一與操作指令一一對應;
本實施中移動終端主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接,并且每隔一定時間獲取GPIO的輸入電壓;
根據(jù)GPIO檢測到的電壓,與預先存儲在移動終端中的所有按鍵開關情況與電壓的對應表中查詢當前按鍵檢測系統(tǒng)中各個按鍵的開關狀態(tài)。
即本發(fā)明中,當有按鍵開關按下時,會檢測到相應的電壓值,然后根據(jù)該檢測到的開關電壓值查找按鍵電壓表中預先保存的各個Vk電壓值對應的各個按鍵開關情況,確認當前操作的是哪個開關按鍵,以控制執(zhí)行相應的操作。
基于上述實施例的基于移動終端的按鍵檢測控制系統(tǒng),本發(fā)明還提供了一種基于移動終端的按鍵檢測控制系統(tǒng)的檢測控制方法。
請參見圖3,圖3是本發(fā)明基于移動終端的按鍵檢測控制方法的較佳實施例的流程圖。如圖3所示,本發(fā)明實施提供的基于移動終端的按鍵檢測控制方法包括以下步驟:
S10、預先在按鍵電壓表中保存各個Vk電壓值對應的各個按鍵開關情況,以及存儲與各個Vk電壓值(開關電壓值)對應的操作指令;即與各個按鍵開關對應的操作指令;每個按鍵開關一與操作指令一一對應。
S20、將移動終端主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接,并且每隔一定時間獲取GPIO的輸入電壓;
所述一定時間,較佳地,為0.5秒。
S30、根據(jù)GPIO檢測到的電壓,與預先存儲在移動終端中的所有按鍵開關情況與電壓的對應表中查詢當前按鍵檢測系統(tǒng)中各個按鍵的開關狀態(tài),控制執(zhí)行相應的操作。
本發(fā)明中,當有按鍵開關按下時,會檢測到相應的電壓值,然后根據(jù)該檢測到的開關電壓值查找按鍵電壓表中預先保存的各個Vk電壓值對應的各個按鍵開關情況,確認當前操作的是哪個開關按鍵,以控制執(zhí)行相應的操作。
以下通過一具體的應用實施例本發(fā)明的方法作進一步詳細說明:
如圖4所示,包括以下步驟:
步驟S100、設置定時器的超時時間為0.5秒,啟動定時器,之后執(zhí)行步驟S200;
步驟S200、判斷定時器是否超時,如果是則執(zhí)行步驟S300,否則繼續(xù)等待定時器超時;
步驟S300、電壓獲取模塊獲取按鍵檢測系統(tǒng)的輸出電壓Vk,之后執(zhí)行步驟S400;
步驟S400、由查表模塊根據(jù)步驟S300中獲取到的電壓Vk在按鍵電壓表中查詢該電壓值Vk對應的按鍵開關情況。
本發(fā)明中當有按鍵開關按下時,會檢測到相應的電壓值,然后根據(jù)該檢測到的開關電壓值查找按鍵電壓表中預先保存的各個Vk電壓值對應的各個按鍵開關情況,確認當前操作的是哪個開關按鍵,以控制執(zhí)行相應的操作。
基于上述實施例,本發(fā)明還提供了一種移動終端,本實施例的移動終端包括上述實施例所述的基于移動終端的按鍵檢測控制系統(tǒng)。
綜上所述,本發(fā)明一種基于移動終端的按鍵檢測控制系統(tǒng)、方法及移動終端,所述方法包括移動終端主控制器的一個GPIO與按鍵檢測系統(tǒng)相連接,并且每隔一定時間獲取GPIO的輸入電壓;根據(jù)GPIO檢測到的電壓在事先存儲在移動終端中的所有按鍵開關情況與電壓的對應表中查詢當前按鍵檢測系統(tǒng)中各個按鍵的開關狀態(tài)。從而可以利用一個GPIO來檢測多個按鍵的開關狀態(tài)。
應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。