微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MCS51系列单片机软件抗干扰技术中的误区介绍

MCS51系列单片机软件抗干扰技术中的误区介绍

时间:06-28 来源:互联网 点击:

仔细分析后可能得出结论:当软件WATCHDOG是嵌套在低级中断中起作用时,复位后只清除了高级中断激活标志,低级中断标志仍然被置位,从而使低级中断一直被关闭。

5. 修改出错处理如下:

ERR: CLR EA 正确的软件复位入口
MOV 66H,#0AAH 重建上电标志
MOV 67H,#55H
MOV DPTR,#ERR1 准备第一次返回地址
PUSH DPL
PUSH DPH
RETI 清除高级中断激活标志
ERR1: CLR A
PUSH ACC
PUSH ACC
RETI 清除低级中断激活标志
这时,必须执行两次RETI,才能到达0000H,以保证清除全部中断激活标志,达到和硬件复位相同的效果。同样,软件陷井也必须由下列三条指令才能达到目的。
NOP
NOP
LJMP STAT
改成:
NOP
NOP
LJMP ERR
  
结论:当主程序受到干扰被软件陷阱捕获时,中断标志并未置位,执行ERR过程中,RETI指令等效于RET指令,同样可以达到软件复位的目的。实验结果证明:只有LJMP ERR才能万无一失地实现软件复位,使系统摆脱干扰同,恢复正常。在MCS-51单片机的软件复位过程中,必须连续执行两次中断返回指令RETI才能确保系统恢复正常。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top