单片机与单片机与DSP中的中的MCS51系列单片机软件复位的方法系列单片机软件复位的方法
摘要:文章指出了一种广泛流传的误解:在MCS-51系列单片机中,只要用指令使程序从起始地址开始执
行,就可以复位单片机,摆脱干扰。通过一个简单的实验,揭示了软件复位的可靠方法。 有的单片机(如
8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了WAT
CHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无
复位指令,又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰
技术。常用的软件抗干扰技术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干
扰时能及时发现,再用
摘要:文章指出了一种广泛流传的误解:在MCS-51系列单片机中,只要用指令使程序从起始地址开始执行,就可以
复位单片机,摆脱干扰。通过一个简单的实验,揭示了软件复位的可靠方法。
有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了W
ATCHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无复位指令,
又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰技术。常用的软件抗干扰技
术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干扰时能及时发现,再用软件的方法使系统复
位。所谓软件复位就是用一系列指令来模仿复位操作,这就是MCS-51系列单片机所特有的软件复位技术。
现用一简单的实验说明,实验电路如附图所示。接于仿真插座P1.0的发光二极管LED0用来表示主程序的工作情
况,接于P1。1的发光二极管LED1用于表示低级中断子程序的工作情况,接于P1。2的发光二极管LED2用来表示
高级中断子程序的工作情况,接于P3。2口的按钮用来设立干扰标志,程序检测到干扰标志后故意进入死循环或掉进陷井,
模仿受干扰的情况,从而检验各种复位方法的实际效果。寮验初始化程序如下:
ORG 0000H
STAT: LJMP MAIN ;复位入口地址
LJMP PX0 ;按钮中断向量(低级中断)
ORG 000BH
LJMP PT0 ;t0中断向量(低级中断)
ORG 001BH
LJMP PT1 ;T1中断向量(高级中断)
ORG 0030H
MAIN:
CLR EA
MOV SP,#7
MOV P1,#0FFH
MOV P3,#0FFH
MOV TMOD,#11H
CLR 00H ;干扰标志初始化
SETB ET0
SETB ET1
SETB EX0
SETB PT1
SETB TR0
SETB TR1
SETB EA
LOOP: CPL P1.0 ;主程序发光二极管LED闪烁