專利名稱:一種單片機(jī)系統(tǒng)抗干擾的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及單片機(jī)應(yīng)用領(lǐng)域,具體涉及ー種單片機(jī)在強(qiáng)電磁干擾下抗干擾的方法。
背景技術(shù):
當(dāng)單片機(jī)作為ー個(gè)控制系統(tǒng)工作時(shí),控制系統(tǒng)中的直流電機(jī)或其他設(shè)備工作時(shí)會(huì)產(chǎn)生極其嚴(yán)重的電磁干擾,如在利用單片機(jī)為測(cè)試開關(guān)量控制的中心,將被測(cè)開關(guān)量的通斷狀態(tài)按ニ進(jìn)制進(jìn)行編碼,用單片機(jī)完成開關(guān)量信號(hào)采集、按鍵識(shí)別、時(shí)間測(cè)量與顯示功能。單片機(jī)控制直流電機(jī)產(chǎn)生開關(guān)量、液晶顯示器作為控制系統(tǒng)的顯示部件,會(huì)出現(xiàn)液晶顯示器出現(xiàn)花屏現(xiàn)象,無法進(jìn)行正常測(cè)試。經(jīng)查原因是直流電機(jī)工作時(shí)產(chǎn)生的電磁干擾極其嚴(yán)重,用頻譜分析儀可以觀察到干擾的頻譜很寬,這種強(qiáng)電磁干擾從電源地線串入為控制系統(tǒng)供電的5V直流開關(guān)電源而導(dǎo)致系統(tǒng)不能正常工作。在單片機(jī)Pl ロ加入π型濾波電路后,電路板重新進(jìn)行布局后情況有所改善,但液晶顯示器還是經(jīng)常出現(xiàn)花屏現(xiàn)象。將單片機(jī)芯片取下用仿真頭代替,用仿真器在計(jì)算機(jī)上仿真,可以觀察到單片機(jī)工作正常。因此可以判斷液晶顯示器花屏的原因是顯示器中的微處理器受到直流電機(jī)的強(qiáng)電磁輻射干擾而不能正常工作。通過對(duì)液晶顯示器和數(shù)據(jù)線、控制線采取屏蔽措施也無法完全消除干擾。為解決此問題,更換了另外幾種抗干擾能力較強(qiáng)的液晶顯示器進(jìn)行試驗(yàn),試驗(yàn)效果仍然很不理想。經(jīng)過技術(shù)探討和論證,重新改變?cè)O(shè)計(jì)方案,采用數(shù)碼管來實(shí)現(xiàn)測(cè)量數(shù)據(jù)的顯示。按照此方案重新設(shè)計(jì)電路板進(jìn)行試驗(yàn)吋,干擾還是頻繁出現(xiàn),造成了測(cè)試儀經(jīng)常出現(xiàn)數(shù)字亂跳的現(xiàn)象,并且有越來越嚴(yán)重的趨勢(shì)。針對(duì)此現(xiàn)象采用了電源濾波、接地處理以及系統(tǒng)屏蔽等措施進(jìn)行處理,結(jié)果仍沒有得到有效改善。于是,再次用仿真器進(jìn)行仿真,通過觀察單片機(jī)各定時(shí)器的數(shù)值,終于發(fā)現(xiàn)在電磁干擾出現(xiàn)吋,單片機(jī)的定時(shí)器計(jì)數(shù)值出現(xiàn)了紊亂,單片機(jī)的定時(shí)中斷處理子程序的功能是計(jì)數(shù)值自動(dòng)累加,當(dāng)定時(shí)器受到強(qiáng)電磁干擾時(shí)計(jì)數(shù)值沒有自動(dòng)加1,而是跳變到ー個(gè)隨機(jī)數(shù)了,由此反應(yīng)出的現(xiàn)象就是數(shù)字無規(guī)律跳變,無法正常計(jì)時(shí)。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本發(fā)明提供了ー種利用單片機(jī)內(nèi)部的兩個(gè)定時(shí)器糾正在電磁干擾的情況下單片機(jī)的定時(shí)器出現(xiàn)的紊亂。一種單片機(jī)系統(tǒng)抗干擾的方法,其特征在于使單片機(jī)的兩個(gè)定時(shí)器TO和定時(shí)器 Tl同時(shí)工作,TO在計(jì)數(shù)值的累加外還要監(jiān)視Tl的計(jì)數(shù)值,如果Tl的計(jì)數(shù)值出現(xiàn)紊亂,紊亂的標(biāo)準(zhǔn)是檢查相鄰的兩個(gè)計(jì)數(shù)值,如果二者之差大于規(guī)定值,就認(rèn)為出現(xiàn)了紊亂,就用TO 的計(jì)數(shù)值糾正Tl的計(jì)數(shù)值,TO還要每次對(duì)自己相應(yīng)的輸出管腳的狀態(tài)求反,使自己可以被 Tl檢測(cè),在求反同時(shí)輸出ー個(gè)頻率為500Hz的方波作為時(shí)基檢定用;同樣,Tl在計(jì)數(shù)值的累加外還要監(jiān)視TO的計(jì)數(shù)值,如果TO的計(jì)數(shù)值出現(xiàn)紊亂,紊亂的標(biāo)準(zhǔn)是檢查相鄰的兩個(gè)計(jì)數(shù)值,如果二者之差大于1,就認(rèn)為出現(xiàn)了紊亂,就用Tl的計(jì)數(shù)值糾正TO的計(jì)數(shù)值,Tl還要每次對(duì)自己相應(yīng)的輸出管腳的狀態(tài)求反,使自己可以被TO檢測(cè),在求反同時(shí)輸出ー個(gè)頻率為 500Hz的方波作為時(shí)基檢定用。具體的工作進(jìn)程如下在TO檢查到Tl的低電平后,將定時(shí)器Tl的計(jì)數(shù)值放入變量sl_l貯存;然后檢查到Tl的高電平后,將定時(shí)器Tl的計(jì)數(shù)值放入變量sl_2貯存,如果Isl_l-sl-2| >=規(guī)定值;則認(rèn)為開始出現(xiàn)紊亂了,TO的計(jì)數(shù)值糾正定時(shí)器Tl的計(jì)數(shù)值。同樣地,在Tl檢查到 TO的低電平后,將定時(shí)器TO的計(jì)數(shù)值放入變量s0_l貯存;然后檢查到TO的高電平后,將定時(shí)器TO的計(jì)數(shù)值放入變量s0_2貯存,如果Is0_l-s0-2| > =規(guī)定值;則認(rèn)為開始出現(xiàn)紊亂了,Tl的計(jì)數(shù)值糾正TO的計(jì)數(shù)值。這樣ー來,TO和Tl互相監(jiān)視對(duì)方,就能使TO和定時(shí)器1正常計(jì)數(shù),如果有ー個(gè)定時(shí)器出現(xiàn)紊亂,就能立刻被對(duì)方進(jìn)行糾正,從而從根本上解決了問題??赡軙?huì)有觀點(diǎn)認(rèn)為如果兩個(gè)定時(shí)器都同時(shí)被干擾出現(xiàn)紊亂,那么問題不是仍然存在嗎?回答如下如單片機(jī)的定時(shí)器設(shè)定在工作方式1,則計(jì)數(shù)最大值為65535, 因此定時(shí)器首次出現(xiàn)紊亂的概率為1/65535,兩個(gè)定時(shí)器同時(shí)出現(xiàn)紊亂的概率為1/ (65535X65535) = 2X 10_1CI,如此小的概率基本可以忽略。本發(fā)明通過對(duì)單片機(jī)中兩個(gè)定時(shí)器的巧妙使用,克服了單片機(jī)在使用過程中電磁干擾對(duì)單片機(jī)系統(tǒng)的影響,提高了單片機(jī)系統(tǒng)的穩(wěn)定性。本發(fā)明的保護(hù)范圍不僅限于兩個(gè)定時(shí)器相互監(jiān)視防止互相糾正錯(cuò)誤,使用本方法的原理從而糾正單片機(jī)因電磁干擾而產(chǎn)生錯(cuò)誤的作法都落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種單片機(jī)系統(tǒng)抗干擾的方法,其特征在于使單片機(jī)的兩個(gè)定時(shí)器TO和定時(shí)器 Tl同時(shí)工作,TO在計(jì)數(shù)值的累加外還要監(jiān)視Tl的計(jì)數(shù)值,如果Tl的計(jì)數(shù)值出現(xiàn)紊亂,紊亂的標(biāo)準(zhǔn)是檢查相鄰的兩個(gè)計(jì)數(shù)值,如果二者之差大于規(guī)定值,就認(rèn)為出現(xiàn)了紊亂,就用TO 的計(jì)數(shù)值糾正Tl的計(jì)數(shù)值,TO還要每次對(duì)自己相應(yīng)的輸出管腳的狀態(tài)求反,使自己可以被 Tl檢測(cè),在求反同時(shí)輸出ー個(gè)頻率為500Hz的方波作為時(shí)基檢定用;同樣,Tl在計(jì)數(shù)值的累加外還要監(jiān)視TO的計(jì)數(shù)值,如果TO的計(jì)數(shù)值出現(xiàn)紊亂,紊亂的標(biāo)準(zhǔn)是檢查相鄰的兩個(gè)計(jì)數(shù)值,如果二者之差大于1,就認(rèn)為出現(xiàn)了紊亂,就用Tl的計(jì)數(shù)值糾正TO的計(jì)數(shù)值,Tl還要每次對(duì)自己相應(yīng)的輸出管腳的狀態(tài)求反,使自己可以被TO檢測(cè),在求反同時(shí)輸出ー個(gè)頻率為 500Hz的方波作為時(shí)基檢定用。
2.根據(jù)權(quán)利要求1所述的單片機(jī)系統(tǒng)抗干擾的方法,其特征在于在TO檢查到Tl的低電平后,將定時(shí)器Tl的計(jì)數(shù)值放入變量sl_l貯存;然后檢查到Tl的高電平后,將定時(shí)器Tl 的計(jì)數(shù)值放入變量sl_2貯存,如果|sl_l-sl-2| > =規(guī)定值;則認(rèn)為開始出現(xiàn)紊亂了,TO 的計(jì)數(shù)值糾正定時(shí)器Tl的計(jì)數(shù)值。同樣地,在Tl檢查到TO的低電平后,將定時(shí)器TO的計(jì)數(shù)值放入變量s0_l貯存;然后檢查到TO的高電平后,將定時(shí)器TO的計(jì)數(shù)值放入變量s0_2 貯存,如果|s0_l-s0-2| > =規(guī)定值;則認(rèn)為開始出現(xiàn)紊亂了,Tl的計(jì)數(shù)值糾正TO的計(jì)數(shù)值。這樣ー來,TO和Tl互相監(jiān)視對(duì)方,就能使TO和定時(shí)器1正常計(jì)數(shù),如果有ー個(gè)定時(shí)器出現(xiàn)紊亂,就能立刻被對(duì)方進(jìn)行糾正,從而從根本上解決了問題。
全文摘要
一種單片機(jī)系統(tǒng)抗干擾的方法,其特征在于使單片機(jī)的兩個(gè)定時(shí)器T0和定時(shí)器T1同時(shí)工作,T0在計(jì)數(shù)值的累加外還要監(jiān)視T1的計(jì)數(shù)值,如果T1的計(jì)數(shù)值出現(xiàn)紊亂,紊亂的標(biāo)準(zhǔn)是檢查相鄰的兩個(gè)計(jì)數(shù)值,如果二者之差大于規(guī)定值,就認(rèn)為出現(xiàn)了紊亂,就用T0的計(jì)數(shù)值糾正T1的計(jì)數(shù)值,T0還要每次對(duì)自己相應(yīng)的輸出管腳的狀態(tài)求反,使自己可以被T1檢測(cè),在求反同時(shí)輸出一個(gè)頻率為500Hz的方波作為時(shí)基檢定用;T1的工作進(jìn)程與T0相同。本發(fā)明通過對(duì)單片機(jī)中兩個(gè)定時(shí)器的巧妙使用,克服了單片機(jī)在使用過程中電磁干擾對(duì)單片機(jī)系統(tǒng)的影響,提高了單片機(jī)系統(tǒng)的穩(wěn)定性。
文檔編號(hào)G05B19/042GK102566467SQ201010605910
公開日2012年7月11日 申請(qǐng)日期2010年12月27日 優(yōu)先權(quán)日2010年12月27日
發(fā)明者陳懷平 申請(qǐng)人:貴州雙陽(yáng)飛機(jī)制造廠