- 单片机原理及接口技术
- 陈贵银 祝福主编
- 1669字
- 2020-08-26 15:30:19
2.6 单片机的复位状态与复位电路
2.6.1 单片机的复位状态
计算机在启动时,系统进入复位状态。在复位状态,CPU和系统都处于一个确定的初始状态或称为原始状态,在这种状态下,所有的专用寄存器都被赋予默认值。牢记复位状态值将会对单片机系统设计有很大帮助,89C51单片机的复位状态见表2-5。
表2-5 单片机复位状态
复位时,ALE和PSEN成输入状态,即ALE=PSEN=1,片内RAM不受复位影响;复位后,PC指向0000H,单片机从起始地址0000H开始执行程序。所以单片机运行出错或进入死循环,可按复位键重新启动。
如果不想完全使用这些默认值,可以进行修改,这就要在程序中对单片机进行初始化。
2.6.2 单片机的复位电路
复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。
单片机的复位都是靠外部复位电路来实现的,在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。为了保证系统可靠复位,在设计复位电路时,一般使RESET引脚保持10 ms以上的高电平,单片机便可以可靠地复位。当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间,ALE和PSEN引脚输出高电平。
89C51单片机内部复位结构如图2-16所示。外部复位电路接RESET引脚,RESET通过内部一个施密特触发器与内部复位电路相连,施密特触发器用来整形,它的输出在每个机器周期的S5P2由内部复位电路采样一次。
图2-16 内部复位电路逻辑图
1.简单复位电路
简单复位电路有上电复位和手动复位两种。不管是哪一种复位电路都要保证在RE-SET引脚上提供10 ms以上稳定的高电平。
图2-17(a)是常用的上电复位电路,这种上电复位利用电容器充电来实现。当加电时,电容C充电,电路有电流流过,构成回路,在电阻R上产生压降,RESET引脚为高电平;当电容C充满电后,电路相当于断开, RESET的电位与地相同,复位结束。可见复位的时间与充电的时间有关,充电时间越长复位时间越长,增大电容或增大电阻都可以增加复位时间。
图2-17 各种复位电路
图2-17(b)是按键式复位电路。它的上电复位功能与图2-17(a)相同,但它还可以通过按键实现复位,按下键后,通过R1 和R2 形成回路,使RESET端产生高电平。按键的时间决定了复位时间。
图2-17(c)是按键脉冲式复位电路。它利用RC微分电路在RESET端产生正脉冲来实现复位。
在上述简单的复位电路中,干扰易串入复位端,在大多数情况下不会造成单片机的错误复位,但会引起内部某些寄存器错误复位。这时,可在RESET复位引脚上接一个去耦电容。
2.采用专用复位电路芯片构成复位电路
在实际应用系统中,为了保证复位电路可靠地工作,常将RC电路接施密特电路后再接入单片机复位端;或采用专用的复位电路芯片。MAX813L是Maxin公司生产的一种体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片,其引脚图如图2-18所示,引脚功能如下。
图2-18 MAX813L引脚图
(1)MR:手动复位输入端,低电平有效。当该端输入低电平保持140 ms以上,MAX813L就输出复位信号。
(2)RESET:复位信号输出端。上电时,自动产生 200 ms的复位脉冲(高电平);手动复位端输入低电平时,该端也产生复位信号输出。
(3)WDI:看门狗输入端。程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器,若超过1.6s该输入端收不到脉冲信号,则内部定时器溢出,WDO端输出低电平。
(4)WDO:看门狗信号输出端。正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。
(5)PFI:电源故障输入端。当该端输入电压低于1.25 V时,PFO端输出低电平。
(6)PFO:电源故障输出端。电源正常时输出保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。
(7)VCC:工作电源,接+5 V。
(8)GND:接地端。
MAX813L与单片机的连接电路如图2-19所示,该电路可以实现上电复位,程序运行出现“死机”时的自动复位和随时的手动复位。
图2-19 带手动复位的看门狗复位电路
为实现单片机死机时自动复位功能,需要在软件设计中,P1.7不断输出脉冲信号(时间间隔小于1.6 s),如果因某种原因单片机进入死循环,则P1.7无脉冲输出。于是1.6 s后在MAX813L的WDO端输出低电平,该电平加到MR端,使MAX813L产生一个200 ms的复位脉冲输出,使单片机有效复位,系统重新开始工作。