单片机系统软件抗干扰方法

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:10:05
单片机系统软件抗干扰方法
希望能具体些,有实例最好了,谢谢各位高手!!

说一些我常用的吧!
1. 软件狗
设一个定时器,让它在一定的时间内中断,最好是高优先级,然后在平时的程序中来断的去恢复它的TH和TL值,值其在正常情况下不会产生中断。如果它中断,则表示程序出错了,或死在哪个不该死的地方,则系统复位。注意事项:把它设为高优先级,是因为如果程序在中断中死机了,一直无法返回,那么,其它低等级的中断一直处于等待状态;万一它产生了中断,那么就要做好内存里面数据的处理,这一点很重要,因为一般的处理方面是它中断后,给SP再压入两个数据,也就是程序的起始数据,比如0080H,这样本来中断完成后读出的两个是中断前的程序地址,由于又增加了两个,所以返回地址跑到了0080H,达到了复位的目的,但是由于此程序已经运行过,而且系统没有断电,所以内存里的数据处理得当的话,可以恢复到死机前的状态。
2 双软件狗
我没有用过,但听说过,也就是按方法1所做,但一个中断有可能不保险,会出问题,那么再开一个中断,让两个中断的中断时间不一致,任何一个动作,都可以复位
3 在跳转指令前加一条NOP
4 写强制跳转指令时,多COPY几行,每一行中间加NOP
别的抗干扰方法就要根据你具体的电路去做了,电路不一样,方法各异!