专利名称:一种单片机系统抗干扰的方法
技术领域:
本发明涉及单片机应用领域,具体涉及ー种单片机在强电磁干扰下抗干扰的方法。
背景技术:
当单片机作为ー个控制系统工作时,控制系统中的直流电机或其他设备工作时会产生极其严重的电磁干扰,如在利用单片机为测试开关量控制的中心,将被测开关量的通断状态按ニ进制进行编码,用单片机完成开关量信号采集、按键识別、时间测量与显示功能。单片机控制直流电机产生开关量、液晶显示器作为控制系统的显示部件,会出现液晶显示器出现花屏现象,无法进行正常测试。经查原因是直流电机工作时产生的电磁干扰极其严重,用频谱分析仪可以观察到干扰的频谱很宽,这种强电磁干扰从电源地线串入为控制系统供电的5V直流开关电源而导致系统不能正常工作。在单片机Pl ロ加入π型滤波电路后,电路板重新进行布局后情况有所改善,但液晶显示器还是经常出现花屏现象。将单片机芯片取下用仿真头代替,用仿真器在计算机上仿真,可以观察到单片机工作正常。因此可以判断液晶显示器花屏的原因是显示器中的微处理器受到直流电机的强电磁辐射干扰而不能正常工作。通过对液晶显示器和数据线、控制线采取屏蔽措施也无法完全消除干扰。为解决此问题,更换了另外几种抗干扰能力较强的液晶显示器进行试验,试验效果仍然很不理想。经过技术探讨和论证,重新改变设计方案,采用数码管来实现测量数据的显示。按照此方案重新设计电路板进行试验吋,干扰还是频繁出现,造成了测试仪经常出现数字乱跳的现象,并且有越来越严重的趋势。针对此现象采用了电源滤波、接地处理以及系统屏蔽等措施进行处理,结果仍没有得到有效改善。于是,再次用仿真器进行仿真,通过观察单片机各定时器的数值,终于发现在电磁干扰出现吋,单片机的定时器计数值出现了紊乱,单片机的定时中断处理子程序的功能是计数值自动累加,当定时器受到强电磁干扰时计数值没有自动加1,而是跳变到ー个随机数了,由此反应出的现象就是数字无规律跳变,无法正常计时。
发明内容
为解决上述技术问题,本发明提供了ー种利用单片机内部的两个定时器纠正在电磁干扰的情况下单片机的定时器出现的紊乱。一种单片机系统抗干扰的方法,其特征在于使单片机的两个定时器TO和定时器 Tl同时工作,TO在计数值的累加外还要监视Tl的计数值,如果Tl的计数值出现紊乱,紊乱的标准是检查相邻的两个计数值,如果二者之差大于规定值,就认为出现了紊乱,就用TO 的计数值纠正Tl的计数值,TO还要每次对自己相应的输出管脚的状态求反,使自己可以被 Tl检测,在求反同时输出ー个频率为500Hz的方波作为时基检定用;同样,Tl在计数值的累加外还要监视TO的计数值,如果TO的计数值出现紊乱,紊乱的标准是检查相邻的两个计数值,如果二者之差大于1,就认为出现了紊乱,就用Tl的计数值纠正TO的计数值,Tl还要每次对自己相应的输出管脚的状态求反,使自己可以被TO检测,在求反同时输出ー个频率为 500Hz的方波作为时基检定用。具体的工作进程如下在TO检查到Tl的低电平后,将定时器Tl的计数值放入变量sl_l贮存;然后检查到Tl的高电平后,将定时器Tl的计数值放入变量sl_2贮存,如果Isl_l-sl-2| >=规定值;则认为开始出现紊乱了,TO的计数值纠正定时器Tl的计数值。同样地,在Tl检查到 TO的低电平后,将定时器TO的计数值放入变量s0_l贮存;然后检查到TO的高电平后,将定时器TO的计数值放入变量s0_2贮存,如果Is0_l-s0-2| > =规定值;则认为开始出现紊乱了,Tl的计数值纠正TO的计数值。这样ー来,TO和Tl互相监视对方,就能使TO和定时器1正常计数,如果有ー个定时器出现紊乱,就能立刻被对方进行纠正,从而从根本上解决了问题。可能会有观点认为如果两个定时器都同时被干扰出现紊乱,那么问题不是仍然存在吗?回答如下如单片机的定时器设定在工作方式1,则计数最大值为65535, 因此定时器首次出现紊乱的概率为1/65535,两个定时器同时出现紊乱的概率为1/ (65535X65535) = 2X 10_1CI,如此小的概率基本可以忽略。本发明通过对单片机中两个定时器的巧妙使用,克服了单片机在使用过程中电磁干扰对单片机系统的影响,提高了单片机系统的稳定性。本发明的保护范围不仅限于两个定时器相互监视防止互相纠正错误,使用本方法的原理从而纠正单片机因电磁干扰而产生错误的作法都落入本发明的保护范围。
权利要求
1.一种单片机系统抗干扰的方法,其特征在于使单片机的两个定时器TO和定时器 Tl同时工作,TO在计数值的累加外还要监视Tl的计数值,如果Tl的计数值出现紊乱,紊乱的标准是检查相邻的两个计数值,如果二者之差大于规定值,就认为出现了紊乱,就用TO 的计数值纠正Tl的计数值,TO还要每次对自己相应的输出管脚的状态求反,使自己可以被 Tl检测,在求反同时输出ー个频率为500Hz的方波作为时基检定用;同样,Tl在计数值的累加外还要监视TO的计数值,如果TO的计数值出现紊乱,紊乱的标准是检查相邻的两个计数值,如果二者之差大于1,就认为出现了紊乱,就用Tl的计数值纠正TO的计数值,Tl还要每次对自己相应的输出管脚的状态求反,使自己可以被TO检测,在求反同时输出ー个频率为 500Hz的方波作为时基检定用。
2.根据权利要求1所述的单片机系统抗干扰的方法,其特征在于在TO检查到Tl的低电平后,将定时器Tl的计数值放入变量sl_l贮存;然后检查到Tl的高电平后,将定时器Tl 的计数值放入变量sl_2贮存,如果|sl_l-sl-2| > =规定值;则认为开始出现紊乱了,TO 的计数值纠正定时器Tl的计数值。同样地,在Tl检查到TO的低电平后,将定时器TO的计数值放入变量s0_l贮存;然后检查到TO的高电平后,将定时器TO的计数值放入变量s0_2 贮存,如果|s0_l-s0-2| > =规定值;则认为开始出现紊乱了,Tl的计数值纠正TO的计数值。这样ー来,TO和Tl互相监视对方,就能使TO和定时器1正常计数,如果有ー个定时器出现紊乱,就能立刻被对方进行纠正,从而从根本上解决了问题。
全文摘要
一种单片机系统抗干扰的方法,其特征在于使单片机的两个定时器T0和定时器T1同时工作,T0在计数值的累加外还要监视T1的计数值,如果T1的计数值出现紊乱,紊乱的标准是检查相邻的两个计数值,如果二者之差大于规定值,就认为出现了紊乱,就用T0的计数值纠正T1的计数值,T0还要每次对自己相应的输出管脚的状态求反,使自己可以被T1检测,在求反同时输出一个频率为500Hz的方波作为时基检定用;T1的工作进程与T0相同。本发明通过对单片机中两个定时器的巧妙使用,克服了单片机在使用过程中电磁干扰对单片机系统的影响,提高了单片机系统的稳定性。
文档编号G05B19/042GK102566467SQ201010605910
公开日2012年7月11日 申请日期2010年12月27日 优先权日2010年12月27日
发明者陈怀平 申请人:贵州双阳飞机制造厂