×
嵌入式开发 > 详情

MCS51系列单片机软件复位的方法

发布时间:2020-07-07 发布时间:
|

有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了WATCHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无复位指令,又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰技术。常用的软件抗干扰技术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干扰时能及时发现,再用软件的方法使系统复位。所谓软件复位就是用一系列指令来模仿复位操作,这就是MCS-51系列单片机所特有的软件复位技术。

现用一简单的实验说明,实验电路如附图所示。接于仿真插座P1.0的发光二极管LED0用来表示主程序的工作情况,接于P1。1的发光二极管LED1用于表示低级中断子程序的工作情况,接于P1。2的发光二极管LED2用来表示高级中断子程序的工作情况,接于P3。2口的按钮用来设立干扰标志,程序检测到干扰标志后故意进入死循环或掉进陷井,模仿受干扰的情况,从而检验各种复位方法的实际效果。寮验初始化程序如下:

ORG0000H

STAT:LJMPMAIN;复位入口地址

LJMPPX0;按钮中断向量(低级中断)

ORG000BH

LJMPPT0;t0中断向量(低级中断)

ORG001BH

LJMPPT1;T1中断向量(高级中断)

ORG0030H

MAIN:

CLREA

MOVSP,#7

MOVP1,#0FFH

MOVP3,#0FFH

MOVTMOD,#11H

CLR00H;干扰标志初始化

SETBET0

SETBET1

SETBEX0

SETBPT1

SETBTR0

SETBTR1

SETBEA

LOOP:CPLP1.0;主程序发光二极管LED闪烁

MOVR6,#80H

MOVR7,#0

TT1:

DJNZR7,TT1

DJNZR6,TT1

SJMPLOOP

PX0:

SETB00H;设立干扰标志,模拟发生干扰

PT0:CPLP1.1;低级中断程序发光二极管LED1闪烁

RETI

PT1:CPLP1.2;高级中断程序发光二极管LED2闪烁

RETI

END



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PLC控制步进电机方法