專(zhuān)利名稱(chēng):開(kāi)關(guān)消抖系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及各類(lèi)控制系統(tǒng)中開(kāi)關(guān)控制領(lǐng)域,具體涉及一種開(kāi)關(guān)消抖系統(tǒng)及其方法。
背景技術(shù):
在各類(lèi)控制系統(tǒng)中,多數(shù)開(kāi)關(guān)使用機(jī)械彈性開(kāi)關(guān),當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),電信號(hào)波形是抖動(dòng)的。
開(kāi)關(guān)按下、釋放時(shí)在上升沿及下降沿都有電信號(hào)抖動(dòng),抖動(dòng)期間電平狀態(tài)是不確定的。在各類(lèi)控制系統(tǒng)中,若輸入開(kāi)關(guān)量較多常采用軟件延時(shí)消抖的辦法,即查詢(xún)到有開(kāi)關(guān)量變化時(shí)執(zhí)行一段延時(shí)20ms的子程序。此類(lèi)傳統(tǒng)的方法弊端較多,一是單片機(jī)在運(yùn)行這 20ms的延時(shí)子程序時(shí),不再執(zhí)行其它任何指令,浪費(fèi)掉CPU大量時(shí)間,若系統(tǒng)需查詢(xún)的開(kāi)關(guān)數(shù)量多,從十幾個(gè)到幾十個(gè)不等,則查詢(xún)開(kāi)關(guān)時(shí)需耗時(shí)0. 2S以上,效率大大降低,系統(tǒng)的實(shí)時(shí)性差;二是在一些時(shí)序控制復(fù)雜、并發(fā)事件多、動(dòng)作條件多的情況下,有可能造成漏檢開(kāi)關(guān)信號(hào),導(dǎo)致系統(tǒng)不能正常工作,從而降低系統(tǒng)的可靠性。發(fā)明內(nèi)容
本發(fā)明克服了現(xiàn)有技術(shù)的不足,提供一種開(kāi)關(guān)消抖系統(tǒng)及其方法,使得單片機(jī)在運(yùn)行20ms的延時(shí)子程序時(shí),可再執(zhí)行其它任何指令,不會(huì)浪費(fèi)掉CPU的時(shí)間;在一些時(shí)序控制復(fù)雜、并發(fā)事件多、動(dòng)作條件多的情況下,也不會(huì)造成漏檢開(kāi)關(guān)信號(hào)、導(dǎo)致系統(tǒng)不能正常工作的情況,從而提高系統(tǒng)的可靠性。
為解決上述的技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案
第一種,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)只有上升沿的情況下
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括上升沿,通過(guò)對(duì)上升沿的判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;
首先對(duì)上升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;
對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定; 在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。
第二種,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)只有下降沿的情況下
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括下降沿,通過(guò)對(duì)下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;首先對(duì)下降升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;
對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的情況下,退出下降沿的判定; 在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下, 判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定;判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
第三種,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)包括下降沿和上升沿的情況下
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括上升沿和下降沿,其特征在于通過(guò)分別對(duì)上升沿和或者下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;
首先對(duì)上升沿的時(shí)間段和下降沿的時(shí)間段都設(shè)一個(gè)預(yù)定值;
對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定; 在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。
對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的情況下,退出下降沿的判定;在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下, 判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定;判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
為了更好的實(shí)現(xiàn)上述消抖的方法,下面作出進(jìn)一步的技術(shù)改進(jìn)
作為優(yōu)選上述計(jì)時(shí)器的計(jì)時(shí)方式是通過(guò)單片機(jī)內(nèi)的定時(shí)器和計(jì)數(shù)器進(jìn)行的,先設(shè)定定時(shí)器的時(shí)鐘時(shí)基,單片機(jī)運(yùn)行時(shí),定時(shí)器每定時(shí)一個(gè)時(shí)鐘時(shí)基就產(chǎn)生一次中斷,中斷服務(wù)程序中計(jì)數(shù)器就加1,計(jì)時(shí)時(shí)間等于計(jì)數(shù)器的累加數(shù)乘以時(shí)鐘時(shí)基。
作為優(yōu)選上述時(shí)鐘時(shí)基為10ms。
作為優(yōu)選上述上升沿/下降沿時(shí)間段的預(yù)先設(shè)定值為20ms。
作為上述方法的實(shí)現(xiàn)手段之一,下面公布一種開(kāi)關(guān)消抖系統(tǒng)
一種開(kāi)關(guān)消抖系統(tǒng),包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)是否為高電平,在為高電平的情況下進(jìn)入上升沿判斷模塊;上升沿沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由低電平到高電平,確認(rèn)是由低電平到高電平的情況下則執(zhí)行開(kāi)關(guān)的通斷命令。
作為上述方法的實(shí)現(xiàn)手段之二,下面公布一種開(kāi)關(guān)消抖系統(tǒng)
一種開(kāi)關(guān)消抖系統(tǒng),包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,在計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)為低電平,在為低電平的情況下進(jìn)入下降沿判斷模塊;下降沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由高電平到低電平,確認(rèn)是由高電平到低電平的情況下則執(zhí)行開(kāi)關(guān)的通斷命令。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是
本發(fā)明的一種開(kāi)關(guān)消抖系統(tǒng)及其方法,該技術(shù)方案的基本思路是利用單片機(jī)的定時(shí)器產(chǎn)生IOms的時(shí)鐘時(shí)基,在開(kāi)關(guān)處理程序中嵌入20ms的延時(shí)判定,時(shí)間沒(méi)到,繼續(xù)執(zhí)行系統(tǒng)的其它指令,時(shí)間到,則做相應(yīng)開(kāi)關(guān)處理;
單片機(jī)在運(yùn)行這20ms的延時(shí)子程序時(shí),可再執(zhí)行其它任何指令,不浪費(fèi)CPU大量時(shí)間,系統(tǒng)可查詢(xún)的開(kāi)關(guān)數(shù)量多,從十幾個(gè)到幾十個(gè)不等,效率大大提高,系統(tǒng)的實(shí)時(shí)性好; 在一些時(shí)序控制復(fù)雜、并發(fā)事件多、動(dòng)作條件多的情況下,也不會(huì)造成漏檢開(kāi)關(guān)信號(hào),導(dǎo)致系統(tǒng)不能正常工作的情況發(fā)生,從而大大提高了系統(tǒng)的可靠性;
綜上所述,本發(fā)明的技術(shù)方案可保證系統(tǒng)程序流暢的運(yùn)行,實(shí)時(shí)性好,快速高效的處理并發(fā)事件,在實(shí)時(shí)多任務(wù)的嵌入系統(tǒng)中能發(fā)揮很好的作用,達(dá)到既延時(shí)又不誤時(shí)的效果,保證準(zhǔn)確有效的辨認(rèn)開(kāi)關(guān)信號(hào)。
圖I為本發(fā)明實(shí)施例I的流程圖2為本發(fā)明實(shí)施例2的流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說(shuō)明,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例I
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括上升沿,通過(guò)對(duì)上升沿的判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;
首先對(duì)上升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;
對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定; 在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。
上述計(jì)時(shí)器的計(jì)時(shí)方式是通過(guò)單片機(jī)內(nèi)的定時(shí)器和計(jì)數(shù)器進(jìn)行的,先設(shè)定定時(shí)器的時(shí)鐘時(shí)基,單片機(jī)運(yùn)行時(shí),定時(shí)器每定時(shí)一個(gè)時(shí)鐘時(shí)基就產(chǎn)生一次中斷,中斷服務(wù)程序中計(jì)數(shù)器就加1,計(jì)時(shí)時(shí)間等于計(jì)數(shù)器的累加數(shù)乘以時(shí)鐘時(shí)基。
基于上述思想,下面通過(guò)列舉具體參數(shù)對(duì)以上工作原理,做進(jìn)一步的說(shuō)明
對(duì)于不同類(lèi)型的開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生抖動(dòng)電信號(hào)的時(shí)間段不一樣,本實(shí)施例假設(shè)上述的開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)的時(shí)間段為20ms,由于此處的開(kāi)關(guān)沒(méi)有下降沿,所以上升沿時(shí)間段的預(yù)定值即為20ms。
上述時(shí)鐘時(shí)基設(shè)為10ms,那么單片機(jī)運(yùn)行時(shí),設(shè)定定時(shí)器每定時(shí)IOms就產(chǎn)生一次中斷,在中斷服務(wù)程序中計(jì)數(shù)器就加1,這樣,時(shí)間=計(jì)數(shù)器的累加數(shù)XIOms,系統(tǒng)就知道具體時(shí)間段。
在判定開(kāi)關(guān)電壓信號(hào)是否由低電平向高電平變化的情況,可設(shè)定上升沿標(biāo)志位。
上升沿標(biāo)志位1個(gè)內(nèi)存單元變量為8位,標(biāo)志位占其中的I位,標(biāo)志位用于表示某一事件的狀態(tài)是否出現(xiàn),用I或0表示,在這里表示開(kāi)關(guān)信號(hào)的狀態(tài),是低電平還是高電平,I表不低電平,0表不聞電平。
在判定是否定時(shí)的情況下,可設(shè)20ms標(biāo)志位。
20ms標(biāo)志位,和上升沿標(biāo)志位一樣,在這里表示是否在定時(shí)20ms這一事件,為I表示在定時(shí),為0表示沒(méi)有定時(shí)。
對(duì)于是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,可設(shè)定運(yùn)行標(biāo)志位。
運(yùn)行標(biāo)志位,和上升沿標(biāo)志位一樣,在這里表示開(kāi)關(guān)的信號(hào)是否有上升沿這一事件,為I表示有上升沿,為0表示沒(méi)有上升沿。
系統(tǒng)根據(jù)其狀態(tài)來(lái)決定是否執(zhí)行某一特定的功能。
參見(jiàn)附圖1,首先判斷20ms標(biāo)志位是否等于1,在等于I的情況下,判斷計(jì)數(shù)器是否大于2,即是否到20ms,在沒(méi)有到20ms的情況下,退出上升沿的判定,在達(dá)到20ms的情況下,使20ms標(biāo)志位等于0;再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,退出上升沿的判定;在為高電平的情況下,再次確認(rèn)上升沿標(biāo)志位是否等于1,在等于I的情況下,使運(yùn)行標(biāo)志位等于1,即執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,在不等于I的情況下,退出上升沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在20ms標(biāo)志位不等于I的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,上升沿標(biāo)志位等于1,并退出上升沿的判定;在為高電平的情況下,判斷上升沿標(biāo)志位是否等于1,判定為不等于I的情況下,退出上升沿的判定;在等于I的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),20ms標(biāo)志位等于I,并進(jìn)入下一次對(duì)上升沿的判定。
在開(kāi)關(guān)處理系統(tǒng)中,開(kāi)關(guān)處理程序會(huì)對(duì)上述每個(gè)標(biāo)志位的I或者0零進(jìn)行引用,從而進(jìn)行相應(yīng)的開(kāi)關(guān)處理。
實(shí)施例2
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括下降沿,通過(guò)對(duì)下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;首先對(duì)下降升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;
對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的情況下,退出下降沿的判定; 在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下, 判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定;判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
上述計(jì)時(shí)器的計(jì)時(shí)方式是通過(guò)單片機(jī)內(nèi)的定時(shí)器和計(jì)數(shù)器進(jìn)行的,先設(shè)定定時(shí)器的時(shí)鐘時(shí)基,單片機(jī)運(yùn)行時(shí),定時(shí)器每定時(shí)一個(gè)時(shí)鐘時(shí)基就產(chǎn)生一次中斷,中斷服務(wù)程序中計(jì)數(shù)器就加1,計(jì)時(shí)時(shí)間等于計(jì)數(shù)器的累加數(shù)乘以時(shí)鐘時(shí)基。
基于上述思想,下面通過(guò)列舉具體參數(shù)對(duì)以上工作原理,做進(jìn)一步的說(shuō)明
對(duì)于不同類(lèi)型的開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生抖動(dòng)電信號(hào)的時(shí)間段不一樣,本實(shí)施例假設(shè)上述的開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)的時(shí)間段為20ms,由于此處的開(kāi)關(guān)沒(méi)有上升沿,所以下降沿時(shí)間段的預(yù)定值即為20ms。
上述時(shí)鐘時(shí)基設(shè)為10ms,那么單片機(jī)運(yùn)行時(shí),設(shè)定定時(shí)器每定時(shí)IOms就產(chǎn)生一次中斷,在中斷服務(wù)程序中計(jì)數(shù)器就加1,這樣,時(shí)間=計(jì)數(shù)器的累加數(shù)XIOms,系統(tǒng)就知道具體時(shí)間段。
在判定開(kāi)關(guān)電壓信號(hào)是否由高電平向低電平變化的情況,可設(shè)定下降沿標(biāo)志位。
下降沿標(biāo)志位1個(gè)內(nèi)存單元變量為8位,標(biāo)志位占其中的I位,標(biāo)志位用于表示某一事件的狀態(tài)是否出現(xiàn),用I或0表示,在這里表示開(kāi)關(guān)信號(hào)的狀態(tài),是低電平還是高電平,I表不低電平,0表不聞電平。
在判定是否定時(shí)的情況下,可設(shè)20ms標(biāo)志位。
20ms標(biāo)志位,和下降沿標(biāo)志位一樣,在這里表不是否在定時(shí)20ms這一事件,為I表示在定時(shí),為0表示沒(méi)有定時(shí)。
對(duì)于是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,可設(shè)定運(yùn)行標(biāo)志位。
運(yùn)行標(biāo)志位,和上升沿標(biāo)志位一樣,在這里表示開(kāi)關(guān)的信號(hào)是否有下降沿這一事件,為I表示有下降沿,為0表示沒(méi)有下降沿。
系統(tǒng)根據(jù)其狀態(tài)來(lái)決定是否執(zhí)行某一特定的功能。
參見(jiàn)附圖2,首先判斷20ms標(biāo)志位是否等于1,在等于I的情況下,判斷計(jì)數(shù)器是否大于2,即是否到20ms,在沒(méi)有到20ms的情況下,退出下降沿的判定,在達(dá)到20ms的情況下,使20ms標(biāo)志位等于0 ;再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,退出下降沿的判定;在為低電平的情況下,再次確認(rèn)下降沿標(biāo)志位是否等于1,在等于I的情況下,使運(yùn)行標(biāo)志位等于1,即執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,在不等于I的情況下,退出下降沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在20ms標(biāo)志位不等于I的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,下降沿標(biāo)志位等于1,并退出下降沿的判定;在為低電平的情況下,判斷下降沿標(biāo)志位是否等于1,判定為不等于I的情況下,退出下降沿的判定;在等于I的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),20ms標(biāo)志位等于1,并進(jìn)入下一次對(duì)下降沿的判定。
在開(kāi)關(guān)處理系統(tǒng)中,開(kāi)關(guān)處理程序會(huì)對(duì)上述每個(gè)標(biāo)志位的I或者0零進(jìn)行引用,從而進(jìn)行相應(yīng)的開(kāi)關(guān)處理。
實(shí)施例3
一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),所述抖動(dòng)電信號(hào)包括上升沿和下降沿,其特征在于通過(guò)分別對(duì)上升沿和或者下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;
首先對(duì)上升沿的時(shí)間段和下降沿的時(shí)間段都設(shè)一個(gè)預(yù)定值;
對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定; 在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。
對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的情況下,退出下降沿的判定; 在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;
開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下, 判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定;判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
本實(shí)施例的開(kāi)關(guān)包含了實(shí)施I中的上升沿判斷和實(shí)施例2下降沿的判斷,只要出現(xiàn)上升沿和下降沿的一種情況,開(kāi)關(guān)處理系統(tǒng)就進(jìn)行相應(yīng)開(kāi)關(guān)處理。
實(shí)施例4
一種開(kāi)關(guān)消抖系統(tǒng),包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,在計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)是否為高電平,在為高電平的情況下進(jìn)入上升沿判斷模塊;上升沿沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由低電平到高電平,確認(rèn)是由低電平到高電平則執(zhí)行開(kāi)關(guān)的通斷命令。
實(shí)施例5
根據(jù)權(quán)利要求I所述的開(kāi)關(guān)消抖系統(tǒng),包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,在計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)為低電平,在為低電平的情況下進(jìn)入下降沿判斷模塊;下降沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由高電平到低電平,確認(rèn)是由由高電平到低電平則執(zhí)行開(kāi)關(guān)的通斷命令。
以上實(shí)施方式的描述中,應(yīng)該理解,本領(lǐng)域技術(shù)人員可以設(shè)計(jì)出很多其他的修改和實(shí)施方式,這些修改和實(shí)施方式將落在本申請(qǐng)公開(kāi)的原則范圍和精神之內(nèi)。
權(quán)利要求
1.一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào), 所述抖動(dòng)電信號(hào)包括上升沿,其特征在于通過(guò)對(duì)上升沿的判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;首先對(duì)上升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定;在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。
2.一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào), 所述抖動(dòng)電信號(hào)包括下降沿,其特征在于通過(guò)對(duì)下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;首先對(duì)下降升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的情況下,退出下降沿的判定;在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下,判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定; 判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
3.一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào), 所述抖動(dòng)電信號(hào)包括上升沿和下降沿,其特征在于通過(guò)分別對(duì)上升沿和或者下降沿進(jìn)行判定,來(lái)確定是否執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;首先對(duì)上升沿的時(shí)間段和下降沿的時(shí)間段都設(shè)一個(gè)預(yù)定值;對(duì)上升沿的判定,開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于上升沿的預(yù)定值時(shí),退出上升沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為高電平的情況下,退出上升沿的判定;在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由高電平向低電平變化的情況下,退出上升沿的判定;開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在不為高電平的情況下,記錄下不為高電平的情況后退出上升沿的判定,在為高電平的情況下,判斷是否由低電平向高電平變化,判定不是由低電平向高電平變化的情況下,退出上升沿的判定;判定是低電平向高電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),并進(jìn)入下一次對(duì)上升沿的判定。對(duì)下降沿的判定,開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間小于下降沿的預(yù)定值時(shí),退出下降沿的判定,所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于下降沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,此時(shí)計(jì)時(shí)器的定時(shí)重新置零;在不為低電平的清況下,退出下降沿的判定;在為低電平的情況下,再次判定是否由高電平向低電平變化,確認(rèn)是由高電平向低電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令,判定是由低電平向高電平變化的情況下,退出下降沿的判定;開(kāi)關(guān)線路中出現(xiàn)由高電平向低電平變化,在未定時(shí)的情況下,判斷開(kāi)關(guān)電壓信號(hào)是否為低電平,在不為低電平的情況下,記錄下不為低電平的情況,在為低電平的情況下,判斷是否由高電平向低電平變化,判定不是高電平向低電平變化的情況下,退出下降沿的判定; 判定是高電平向低電平變化的情況下,使計(jì)時(shí)器由零開(kāi)始計(jì)時(shí),進(jìn)入下一次對(duì)下降沿的判定。
4.根據(jù)權(quán)利要求I至3任意一項(xiàng)權(quán)利要求所述的開(kāi)關(guān)消抖的方法,其特征在于所述計(jì)時(shí)器的計(jì)時(shí)方式是通過(guò)單片機(jī)內(nèi)的定時(shí)器和計(jì)數(shù)器進(jìn)行的,先設(shè)定定時(shí)器的時(shí)鐘時(shí)基, 單片機(jī)運(yùn)行時(shí),定時(shí)器每定時(shí)一個(gè)時(shí)鐘時(shí)基就產(chǎn)生一次中斷,中斷服務(wù)程序中計(jì)數(shù)器就加 1,計(jì)時(shí)時(shí)間等于計(jì)數(shù)器的累加數(shù)乘以時(shí)鐘時(shí)基。
5.根據(jù)權(quán)利要求4所述的開(kāi)關(guān)消抖的方法,其特征在于所述時(shí)鐘時(shí)基為10ms。
6.根據(jù)權(quán)利要求5所述的開(kāi)關(guān)消抖的方法,其特征在于所述上升沿/下降沿時(shí)間段的預(yù)先設(shè)定值為20ms。
7.一種開(kāi)關(guān)消抖系統(tǒng),其特征在于,包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)是否為高電平,在為高電平的情況下進(jìn)入上升沿判斷模塊;上升沿沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由低電平到高電平,確認(rèn)是由低電平到高電平的情況下則執(zhí)行開(kāi)關(guān)的通斷命令。
8.一種開(kāi)關(guān)消抖系統(tǒng),其特征在于包括定時(shí)判斷模塊,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)通過(guò)定時(shí)判斷模塊判斷是否定時(shí),并將判斷為定時(shí)的結(jié)果傳遞給計(jì)時(shí)器模塊;計(jì)時(shí)器模塊,用于監(jiān)控計(jì)時(shí)器的計(jì)時(shí)時(shí)間,并對(duì)抖動(dòng)電信號(hào)設(shè)一個(gè)預(yù)定值,將計(jì)時(shí)器的計(jì)時(shí)時(shí)間與預(yù)定值進(jìn)行比較,在計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于預(yù)定值的情況下進(jìn)入開(kāi)關(guān)高壓信號(hào)判斷模塊;開(kāi)關(guān)高壓信號(hào)判斷模塊,用于判斷開(kāi)關(guān)高壓信號(hào)為低電平,在為低電平的情況下進(jìn)入下降沿判斷模塊;下降沿判斷模塊,用于判斷開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)產(chǎn)生的抖動(dòng)電信號(hào)是否由高電平到低電平,確認(rèn)是由高電平到低電平的情況下則執(zhí)行開(kāi)關(guān)的通斷命令。
全文摘要
本發(fā)明公開(kāi)了一種開(kāi)關(guān)消抖的方法,開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合時(shí)在一個(gè)時(shí)間段內(nèi)會(huì)產(chǎn)生抖動(dòng)電信號(hào),首先對(duì)上升沿的時(shí)間段設(shè)一個(gè)預(yù)定值;開(kāi)關(guān)線路中出現(xiàn)由低電平向高電平變化,在定時(shí)的情況下,通過(guò)計(jì)時(shí)器對(duì)定時(shí)后的時(shí)間段計(jì)時(shí),所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間大于或者等于上升沿的預(yù)定值時(shí),再判斷開(kāi)關(guān)電壓信號(hào)是否為高電平,在為高電平的情況下,再次判定是否由低電平向高電平變化,確認(rèn)是由低電平向高電平變化的情況下,執(zhí)行開(kāi)關(guān)觸點(diǎn)斷開(kāi)或閉合的命令;綜上所述,本發(fā)明的技術(shù)方案可保證系統(tǒng)程序流暢的運(yùn)行,實(shí)時(shí)性好,快速高效的處理并發(fā)事件,在實(shí)時(shí)多任務(wù)的嵌入系統(tǒng)中能發(fā)揮很好的作用,達(dá)到既延時(shí)又不誤時(shí)的效果,保證準(zhǔn)確有效的辨認(rèn)開(kāi)關(guān)信號(hào)。
文檔編號(hào)G05B19/042GK102540940SQ20111043895
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者李國(guó)軍 申請(qǐng)人:四川泛華電器有限責(zé)任公司