本發(fā)明涉及感應(yīng)按鍵技術(shù)領(lǐng)域,尤其涉及一種感應(yīng)按鍵檢測(cè)裝置和檢測(cè)方法。
背景技術(shù):
電容式感應(yīng)按鍵是一種常見(jiàn)的非接觸式電子按鍵,相比于傳統(tǒng)的機(jī)械按鍵,具有防水、壽命長(zhǎng)、性能穩(wěn)定、反應(yīng)靈敏等優(yōu)點(diǎn),因而被廣泛應(yīng)用于各種電子電器產(chǎn)品的控制版面當(dāng)中。
現(xiàn)有技術(shù)的電容式感應(yīng)按鍵應(yīng)用“弛張振蕩器”的原理,但因?yàn)橹饕蕾?lài)硬件元件,而且電路結(jié)構(gòu)復(fù)雜,導(dǎo)致產(chǎn)生了硬件成本高和不方便校準(zhǔn)的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述存在的技術(shù)問(wèn)題,本發(fā)明提供一種感應(yīng)按鍵檢測(cè)裝置,硬件上,通過(guò)復(fù)用處理器通常應(yīng)有的定時(shí)器和計(jì)數(shù)器,實(shí)現(xiàn)了降低了硬件成本的技術(shù)效果,解決了硬件成本高和靈活性低的技術(shù)問(wèn)題。
一種感應(yīng)按鍵檢測(cè)方法,脈沖生成模塊接收經(jīng)端口選擇器選擇的按鍵信號(hào),生成脈沖信號(hào),計(jì)數(shù)器接收所述脈沖信號(hào),所述計(jì)數(shù)器設(shè)置于處理器中,所述處理器對(duì)不同時(shí)間段接收到的脈沖信號(hào)進(jìn)行處理,判斷感應(yīng)按鍵狀態(tài)。
所述的處理器對(duì)不同時(shí)間段接收到的脈沖信號(hào)進(jìn)行處理,判斷感應(yīng)按鍵狀態(tài)的具體步驟為:
A1、初始化脈沖生成模塊和處理器;
A2、處理從每個(gè)通道讀取的若干次的脈沖信號(hào)數(shù)據(jù),獲取基準(zhǔn)信號(hào);
A3、觸發(fā)中斷程序;
A4、在中斷程序中從當(dāng)前通道讀取一次脈沖信號(hào)數(shù)據(jù),作為實(shí)時(shí)信號(hào);
A5、比較基準(zhǔn)信號(hào)和實(shí)時(shí)信號(hào),如果兩者之差的絕對(duì)值大于設(shè)定的閾值,則表示中斷時(shí)
間內(nèi)感應(yīng)按鍵被按下,否則表示感應(yīng)按鍵未被按下;
A6、切換至下一通道;
A7、跳出中斷程序;
A8、當(dāng)產(chǎn)生定時(shí)中斷時(shí),執(zhí)行A3—A7。
優(yōu)選的,所述切換至下一通道的步驟A6,可以在所述步驟A4之后,在所述步驟A5之前。
優(yōu)選的,所述脈沖信號(hào)數(shù)據(jù)是固定時(shí)間內(nèi)的振蕩周期數(shù)。所述固定時(shí)間通過(guò)定時(shí)器設(shè)定,所述定時(shí)器用于產(chǎn)生定時(shí)中斷。
所述脈沖信號(hào)數(shù)據(jù)也可以是固定振蕩周期次數(shù)的定時(shí)時(shí)長(zhǎng)。
本發(fā)明采用了軟硬件的結(jié)合,硬件上,通過(guò)復(fù)用處理器通常應(yīng)有的定時(shí)器和計(jì)數(shù)器,降低了硬件成本,同時(shí)提高了靈活性,取值周期、部件參數(shù)等均可通過(guò)軟件調(diào)整。
本發(fā)明還提供一種感應(yīng)按鍵檢測(cè)裝置,包括依次電性相連的端口選擇器、脈沖生成模塊和計(jì)數(shù)器,所述計(jì)數(shù)器設(shè)置于處理器中,所述處理器還包含用于產(chǎn)生定時(shí)中斷的定時(shí)器。
所述脈沖生成模塊優(yōu)選為張弛振蕩器。
在應(yīng)用中,所述端口選擇器的另一端與按鍵電性相連。
本發(fā)明采用了軟硬件的結(jié)合,降低了硬件成本,同時(shí)提高了靈活性,取值周期、部件參數(shù)等均可通過(guò)軟件調(diào)整。
附圖說(shuō)明
圖1為電容式感應(yīng)按鍵檢測(cè)裝置一實(shí)施例結(jié)構(gòu)框圖;
圖2為電容式感應(yīng)按鍵檢測(cè)裝置實(shí)施例中脈沖生成模塊的典型電路圖;
圖3為電容式感應(yīng)按鍵檢測(cè)方法的實(shí)施例中的中斷程序流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實(shí)施例1
圖1為電容式感應(yīng)按鍵檢測(cè)裝置典型結(jié)構(gòu),其主要包括若干個(gè)按鍵、端口選擇器、脈沖生成模塊和處理器,處理器中設(shè)有計(jì)數(shù)器和定時(shí)器。脈沖生成模塊接收經(jīng)端口選擇器選擇的按鍵信號(hào),生成脈沖信號(hào),計(jì)數(shù)器接收脈沖信號(hào),處理器對(duì)不同時(shí)間段接收到的脈沖信號(hào)進(jìn)行處理,判斷感應(yīng)按鍵狀態(tài)。
在一種實(shí)施方式中,脈沖生成模塊的電路結(jié)構(gòu)如圖2所示,恒流源a作為電源,實(shí)現(xiàn)電流控制,使生成信號(hào)的電壓線(xiàn)性度提高,b為電容感應(yīng)按鍵。
本實(shí)施例控制模塊由軟件控制,簡(jiǎn)化了硬件電路,中斷及采集數(shù)據(jù)均自動(dòng)完成,降低誤差,提高了準(zhǔn)確度和靈敏度。
實(shí)施例2
利用上述實(shí)施例的裝置檢測(cè)電容式感應(yīng)按鍵的方法,通過(guò)不斷采集脈沖信號(hào)并對(duì)比,判斷脈沖生成模塊的電路中電容是否有變化,相應(yīng)的,可知感應(yīng)按鍵是否被按下,具體包括以下步驟:
Step1、初始化脈沖生成模塊和處理器;
Step2、處理從每個(gè)通道讀取的若干次的脈沖信號(hào)數(shù)據(jù),獲取基準(zhǔn)信號(hào);
Step3、觸發(fā)中斷程序;
Step4、在中斷程序中從當(dāng)前通道讀取一次脈沖信號(hào)數(shù)據(jù),作為實(shí)時(shí)信號(hào);
Step5、比較基準(zhǔn)信號(hào)和實(shí)時(shí)信號(hào),如果兩者之差的絕對(duì)值大于設(shè)定的閾值,則表示中斷時(shí)間內(nèi)感應(yīng)按鍵被按下,否則表示感應(yīng)按鍵未被按下;
Step6、切換至下一通道;
Step7、跳出中斷程序;
Step8、當(dāng)產(chǎn)生定時(shí)中斷時(shí),執(zhí)行step3—step7。
以上為一個(gè)采樣周期,一般為1~2ms,根據(jù)CPU處理能力可設(shè)定不同周期。
重復(fù)step1~step7,持續(xù)對(duì)比基準(zhǔn)信號(hào)與實(shí)時(shí)信號(hào),檢測(cè)感應(yīng)按鍵的狀態(tài)。中斷程序的觸發(fā),是通過(guò)硬件上的定時(shí)器的定時(shí)中斷實(shí)現(xiàn)的。
圖3是實(shí)施例2中的中斷程序流程圖,中斷程序流程圖具體包括了step3~step7。
在一些實(shí)施方式中,“step6切換至下一通道”在step4和step5之間。
脈沖信號(hào)數(shù)據(jù)可以是固定時(shí)間內(nèi)的振蕩周期數(shù),也可以是脈沖信號(hào)數(shù)據(jù)是固定振蕩周期次數(shù)的定時(shí)時(shí)長(zhǎng)。其中固定時(shí)間通過(guò)定時(shí)器設(shè)定。
理論上,實(shí)時(shí)信號(hào)的讀取,也可以通過(guò)軟件主程序進(jìn)行查詢(xún)的方式實(shí)現(xiàn)。
本發(fā)明方案所公開(kāi)的技術(shù)手段不僅限于上述實(shí)施方式所公開(kāi)的技術(shù)手段,還包括由以上技術(shù)特征任意組合所組成的技術(shù)方案。