本發(fā)明涉及一種按鍵系統(tǒng),特別涉及一種按鍵系統(tǒng)及其控制方法。
背景技術(shù):
一般而言,電腦系統(tǒng)由三類設(shè)備構(gòu)成,即輸入設(shè)備、輸出設(shè)備以及主機設(shè)備。輸入設(shè)備用以供使用者控制主機設(shè)備。常見的輸入設(shè)備包括鼠標、鍵盤、軌跡球、搖桿、觸控板…等等。大部分的輸入設(shè)備具有至少一個按鍵。當使用者按下按鍵時,主機設(shè)備將進行相對應的動作,如開啟某個應用程序。在電競游戲中,使用者對于鼠標的按鍵反應速度要求越來越高。如果無法即時判斷按鍵是否被按下,將造成使用上的不便。特別地,傳統(tǒng)鼠標按鍵的工作是直接由核心控制單元(mcu)去控制,但mcu讀取按鍵的觸發(fā)波形時間是固定的,是按照一定的周期時間去讀取然后作出判斷。在這種模式下,如果按鍵被提前按下,其mcu也要等待預定周期時間到來后才去讀取,導致按鍵無法做到同時反應;而且,按鍵按下動作的同時通常產(chǎn)生一上下波動的抖動脈沖波,為了避免mcu的誤讀取,通常用軟件方式進行去抖動處理以避開此干擾,進一步造成了按鍵響應速度的延遲。
技術(shù)實現(xiàn)要素:
本發(fā)明一實施例提供一種按鍵系統(tǒng)包括至少一按鍵以及控制器??刂破骶哂兄辽僖唤幽_以及一中斷接腳。該至少一接腳一一對應地耦接該至少一按鍵,且該中斷接腳耦接該至少一按鍵。當中斷接腳的電平不等于預設(shè)電平時,控制器判斷接腳的電平,以確定至少一按鍵是否被按下。當至少一接腳的電平不等于預設(shè)電平時,控制器執(zhí)行相應的按鍵所對應的服務程序。
本發(fā)明另一實施例提供一種按鍵系統(tǒng)的控制方法,適用于前述實施例中的控制器。控制器的一中斷接腳耦接多個按鍵。該控制方法包括,判斷中斷接腳的電平是否等于預設(shè)電平;當中斷接腳的電平不等于預設(shè)電平時, 掃描多個按鍵,以確定出被按下的按鍵;當中斷接腳的電平等于預設(shè)電平,并且持續(xù)達預設(shè)時間時,掃描多個按鍵,以判斷該多個按鍵中至少一個是否被按下。
本發(fā)明實施例提供的按鍵系統(tǒng)在按鍵進行動作時,通過控制器去讀取中斷,然后立即去處理該按鍵的動作,省去了傳統(tǒng)按鍵控制中的固定周期的等待時間,以加快控制按鍵工作的核心控制單元mcu的反應速度。
為讓本發(fā)明的特征和優(yōu)點能更明顯易懂,下文特舉出較佳實施例,并配合說明書附圖,作詳細說明如下:
附圖說明
圖1為本發(fā)明一實施例的按鍵系統(tǒng)的示意圖。
圖2為本發(fā)明一實施例的按鍵系統(tǒng)的另一示意圖。
圖3為本發(fā)明一實施例的控制方法的流程圖。
附圖標記說明:
100、200:按鍵系統(tǒng);
110、211~214:按鍵;
120、220:控制器;
130、230:中斷設(shè)定單元;
140、241~244:設(shè)定單元;
150、251~254:耦合元件;
p1~p4:接腳;
pir:中斷接腳;
ri、r1~r4:電阻;
pw:電源;
s310、s320、s330~s313:步驟。
具體實施方式
圖1為本發(fā)明一實施例的按鍵系統(tǒng)的一可能示意圖。如圖所示,按鍵系統(tǒng)100包括至少一按鍵(例如按鍵110)以及控制器120。按鍵系統(tǒng)100可應用至任何具有按鍵的裝置中,如滑鼠、鍵盤…等周邊裝置,用以快速 地根據(jù)被按下的按鍵進行相對應的服務程序或功能。在本實施例中,控制器120具有至少一接腳(例如接腳p1)與一個中斷接腳pir。按鍵110分別耦接接腳p1與中斷接腳pir。當中斷接腳pir的電平不等于一預設(shè)電平時,控制器120立即偵測接腳p1的電平,用以判斷按鍵110是否被按下。當接腳p1的電平不等于預設(shè)電平時,表示按鍵110被按下。因此,控制器120執(zhí)行按鍵110所對應的一服務程序或功能。
在本實施例中,控制系統(tǒng)100還包括一個中斷設(shè)定單元130,用以將中斷接腳pir的電平設(shè)定在一預設(shè)電平。本發(fā)明并不限定中斷設(shè)定單元130的內(nèi)部架構(gòu)。任何能設(shè)定中斷接腳pir的電平的電路架構(gòu)均可作為中斷設(shè)定單元130。在一可能實施例中,中斷設(shè)定單元130具有電阻ri。電阻ri的一端耦接電源pw,另一端耦接中斷接腳pir,用以設(shè)定中斷接腳pir的電平等于電源pw的電平。本發(fā)明并不限定電源pw的電平大小。在一可能實施例中,電源pw可能是接地電平(ground),或是高于接地電平的操作電壓。在本實施例中,預設(shè)電平約略等于電源pw的電平。
按鍵系統(tǒng)100還包括至少一設(shè)定單元(例如圖1所示的140),用以設(shè)定接腳p1的電平。在本實施例中,接腳p1的電平也是被設(shè)定在預設(shè)電平,如高電平。當按鍵110未被按下時,接腳p1的電平等于預設(shè)電平。當按鍵110被按下時,接腳p1的電平將不等于預設(shè)電平。本發(fā)明并不限定設(shè)定單元140的內(nèi)部架構(gòu)。任何能設(shè)定接腳p1的電平的電路架構(gòu)均可作為設(shè)定單元140。在本實施例中,設(shè)定單元140具有電阻r1。電阻r1的一端耦接電源pw,另一端耦接接腳p1。
雖然電阻r1與ri都是耦接同一電源pw,但并非用以限制本發(fā)明。在其它實施例中,電阻r1與ri可能耦接不同電源,因此,中斷接腳pir與接腳p1會被預設(shè)在不同的電平。在一可能實施例中,中斷接腳pir的預設(shè)電平可以是大于接腳p1的預設(shè)電平;在另一可能實施例中,中斷接腳pir的預設(shè)電平也可以是小于接腳p1的預設(shè)電平。
按鍵系統(tǒng)100還可以包括至少一耦合元件(如圖1所示的150)。耦合元件150耦接于接腳p1與中斷接腳pir之間,用以在按鍵110被按下時,暫時地改變中斷接腳pir的電平,使中斷接腳pir的電平等于一中斷電平。在本實施例中,在一段時間后,耦合元件150恢復中斷接腳pir的電平,使中 斷接腳pir的電平再度回到預設(shè)電平,其中,中斷接腳pir由中斷電平恢復到預設(shè)電平的時間與耦合元件150的特性有關(guān)。
任何能夠根據(jù)接腳p1的電平改變中斷接腳pir的電平,并使中斷接腳pir的電平回復到預設(shè)電平的元件,均可作為耦合元件150。在一可能實施例中,耦合元件150是為一電容。舉例而言,耦合元件150可能是一陶瓷電容,如多層陶瓷電容器(multi-layerceramiccapacitor,mlcc)。在其它實施例中,耦合元件150可能是其它種類的電容。
當耦合元件150為電容時,如果接腳p1的電平由高電平變化至低電平時,通過電容耦合效應,中斷接腳pir的電平也會由高電平變化至低電平。通過中斷設(shè)定單元130供電給耦合元件150,中斷接腳pir的電平會逐漸上升,由低電平回到高電平。
圖1所示實施例中,按鍵和接腳的數(shù)量分別為1,但本發(fā)明對此并不予以限定,其它實施例中,按鍵和接腳的數(shù)量可以是任意,只要按鍵與接腳一一對應即可。例如圖2所示實施例中,按鍵數(shù)量為4個。
圖2為本發(fā)明一實施例的按鍵系統(tǒng)的另一示意圖。在本實施例中,按鍵系統(tǒng)200具有多個按鍵211~214以及一控制器220。本發(fā)明并不限定按鍵的數(shù)量。在其它實施例中,按鍵系統(tǒng)200可能具有其它數(shù)量的按鍵。為方便說明,圖2僅顯示按鍵211~214。
如圖2所示,按鍵211耦接控制器220的接腳p1。按鍵212耦接控制器220的接腳p2。按鍵213耦接控制器220的接腳p3。按鍵214耦接控制器220的接腳p4。在一可能實施例中,按鍵211~214均為機械式開關(guān)。在另一可能實施例中,按鍵211~214是鍵盤或鼠標的按鍵。
按鍵系統(tǒng)200具有一中斷設(shè)定單元230以及多個設(shè)定單元241~244。中斷設(shè)定單元230耦接控制器220的中斷接腳pir,用以設(shè)定中斷接腳pir的電平等于一預設(shè)電平,如一高電平或是一低電平。設(shè)定單元241~244分別耦接控制器220的接腳p1~p4,用以將接腳p1~p4的電平設(shè)定在預設(shè)電平。本發(fā)明并不限定預設(shè)電平的大小。在一可能實施例中,預設(shè)電平為接地電平,或是高于接地電平的電平。由于中斷設(shè)定單元230以及設(shè)定單元241~244的特性分別與圖1的中斷設(shè)定單元130以及設(shè)定單元140相似,故不再贅述。
在本實施例中,按鍵系統(tǒng)200還包括耦合元件251~254,用以根據(jù)接腳p1~p4的電平變化改變中斷接腳pir的電平,并設(shè)定中斷接腳pir的電平,由一中斷電平恢復至預設(shè)電平。如圖所示,耦合元件251耦接在接腳p1與pir之間。耦合元件252耦接在接腳p2與pir之間。耦合元件253耦接在接腳p3與pir之間。耦合元件254耦接在接腳p4與pir之間。由于耦合元件251~254相似圖1的耦合元件150,故不再贅述。為方便說明,以下內(nèi)容是假設(shè)耦合元件251~254均為電容,一具體實現(xiàn)中耦合元件均為mlcc電容。
當按鍵211~214未被按下時,由于耦合元件251~254的兩端的電平相同(均為預設(shè)電平),因此,耦合元件251~254未儲存電荷。當按鍵211~214中有一個按鍵被按下時,相對應的接腳的電平將不等于預設(shè)電平,如等于低電平。根據(jù)電容特性,中斷接腳pir的電平將從預設(shè)電平變化至一中斷電平,如低電平。由于中斷接腳pir的電平由預設(shè)電平變化至中斷電平,因此,觸發(fā)控制器220。控制器220開始掃描接腳p1~p4的電平,用以判斷哪個按鍵被按下。
在一可能實施例中,控制器220判斷接腳p1~p4的電平是否等于預設(shè)電平,當接腳p1~p4的一者的電平不等于預設(shè)電平時,表示相對應的按鍵被按下。相反地,當接腳p1~p4的一者的電平等于預設(shè)電平時,表示相對應的按鍵未被按下。因此。當接腳p1的電平不等于預設(shè)電平時,表示按鍵211被按下,因此控制器220執(zhí)行按鍵211所對應的功能。
在本實施例中,當按鍵211~214中有一個按鍵被按下時,中斷接腳pir的電平暫時變化至中斷電平(如低電平),但由于耦合元件251通過設(shè)定單元230接收來自電源pw的電力,因此,耦合元件251進入充電狀態(tài),使得中斷接腳pir的電平逐漸回到預設(shè)電平。在中斷接腳pir的電平回到預設(shè)電平后,如果按鍵211~214中有一個按鍵被按下時,中斷接腳pir的電平將再度由預設(shè)電平變化至中斷電平,因而觸發(fā)控制器220,使得控制器220立即再度偵測接腳p1~p4的電平,并根據(jù)偵測結(jié)果執(zhí)行相對應的服務程序。
在其它實施例中,當中斷接腳pir的電平維持在預設(shè)電平的持續(xù)時間達一預設(shè)時間時,控制器220主動判斷接腳p-1~p4的電平,用以判斷按鍵211~214中是否有按鍵被按下。在此例中,即使中斷接腳pir的電平未發(fā)生變化,但控制器220仍每隔一預設(shè)周期(如1ms),便主動判斷接腳p1~p4的 電平。在預設(shè)周期中,控制器220停止判斷接腳p1~p4的電平。舉例而言,控制器220可能進入休眠模式。不過控制器220每隔一時間,便離開休眠模式進入操作模式。在操作模式下,控制器220判斷接腳p1~p4的電平,判斷按鍵211~214中是否有按鍵被按下。然而,一旦中斷接腳pir的電平發(fā)生變化,即使控制器220在休眠模式,中斷接腳pir的電平也將喚醒控制器220,以立即掃描接腳p1~p4的電平。
在本實施例中,由于控制器220通過單一個中斷接腳,便可得知按鍵211~214中是否有按鍵被按下,故可降低控制器220的工作負擔,并加快控制器220的反應速度,又不會增加控制器220的接腳數(shù)量。再者,一旦中斷接腳pir的電平由預設(shè)電平變化至中斷電平時,控制器220便立即找出被按下的按鍵,因而減少固定周期的等待時間,加快控制器220的反應速度。
圖3為本發(fā)明一實施例的按鍵系統(tǒng)的控制方法的流程示意圖。該按鍵系統(tǒng)采用前述實施例中的按鍵系統(tǒng),其控制方法適用于該按鍵系統(tǒng)中的控制器,該控制器的一中斷接腳耦接至少一個按鍵。首先,判斷中斷接腳的電平是否等于預設(shè)電平(步驟s310)。當中斷接腳的電平等于預設(shè)電平時,表示沒有按鍵被按下,因此,回到步驟s310,繼續(xù)判斷中斷接腳的電平是否等于預設(shè)電平。然而,當中斷接腳的電平不等于預設(shè)電平時,表示可能有按鍵被按下,因此,執(zhí)行掃描步驟(s330)來掃描是否有按鍵被按下。
在一可能實施例中,如果沒有按鍵被按下,中斷接腳的電平是等于預設(shè)電平。然而,當有按鍵被按下時,在第一期間,中斷接腳的電平不等于預設(shè)電平,如等于中斷電平(低電平),因此,執(zhí)行掃描步驟(s330)來掃描是否有按鍵被按下。在執(zhí)行掃描步驟s330時,中斷接腳的電平將恢復至預設(shè)電平(如高電平)。由于中斷接腳的電平不會長時間維持在中斷電平,因此,只要中斷接腳的電平由預設(shè)電平變化至中斷電平時,表示有按鍵可能被按下,便立即進行掃描步驟s330。
在本實施例中,當中斷接腳的電平等于預設(shè)電平的持續(xù)時間達一預設(shè)時間時(步驟s320),便執(zhí)行掃描步驟(s330)。換句話說,只要中斷接腳的電平等于預設(shè)電平,每隔一預設(shè)時間(如1ms),便執(zhí)行一次的掃描步驟(s330)。然而,一旦中斷接腳的電平不等于預設(shè)電平,便立即執(zhí)行掃描步驟(s330)。由于在預設(shè)時間中不需執(zhí)行掃描步驟s330,故可減少控制器的功率損耗。
掃描步驟s330包括步驟s311~s313。步驟s311判斷是否有按鍵被按下。在一可能實施例中,于步驟s311判斷按鍵的電平。當按鍵未被按下時,按鍵的電平可以等于或者約略等于預設(shè)電平,如高電平。然而,當按鍵被按下時,按鍵的電平將不等于預設(shè)電平,如等于低電平。因此,通過判斷按鍵的電平,便可得知按鍵是否被按下。
當按鍵被按下時,判斷被按下的按鍵種類(步驟s312),并根據(jù)判斷結(jié)果執(zhí)行相對應該按鍵的服務程序(步驟s313)。然而,當沒有按鍵被按下時,回到步驟s320,繼續(xù)等待一段時間后,再次執(zhí)行掃描步驟s330。在等待期間,如果中斷接腳的電平不等于預設(shè)電平,表示可能有按鍵被按下,因此,立即執(zhí)行掃描步驟s330,因而加快控制器的反應速度。
依據(jù)前述本發(fā)明的各實施例,在一具體實現(xiàn)中,當按鍵進行動作時,同時給mlcc一個中斷信號,控制器讀取中斷后立即去處理該按鍵的動作,省去了傳統(tǒng)按鍵控制中的固定周期的等待時間,以加快控制按鍵工作的核心控制單元(mcu)的反應速度,還通過電阻-電容回路(即電阻r1和ri以及耦合元件mlcc),使所有按鍵共用1個中斷接腳,藉此降低mcu的工作負擔,進一步加快了mcu反應速度。
除非另作定義,在此所有詞匯(包含技術(shù)與科學詞匯)均屬本發(fā)明所屬技術(shù)領(lǐng)域中技術(shù)人員的一般理解。此外,除非明白表示,詞匯于一般字典中的定義應解釋為與其相關(guān)技術(shù)領(lǐng)域的文章中意義一致,而不應解釋為理想狀態(tài)或過分正式的語態(tài)。
雖然本發(fā)明已以較佳實施例公開如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的變動與潤飾,因此本發(fā)明的保護范圍當視后附的權(quán)利要求所界定的范圍為準。