单片机在上电时必须获得一个可靠的复位信号,否则程序计数器 PC 得不到合适的初值,CPU 可能从一个未定义的位置开始执行程序。复位电路的作用,就是在电源上电、电压跌落或人工干预时,向复位引脚提供满足宽度和电平要求的信号。本文介绍上电复位的基本原理及几种常见实现方式。
一、上电复位的基本原理
上电复位的原理可用 RC 充放电过程说明:电源电压从零建立的过程中,复位端 RESET(或 RST)先被电容耦合到高电平,随后该点经电阻对地放电,电平逐渐下降。当复位端电平由高变低并保持足够长的时间后,单片机内部电路完成初始化,这一过程即为上电复位。
AT89C51 的典型上电复位电路如图 1 所示,只需在 RST 复位输入引脚与 VCC 之间接一只电容、再经一只电阻接地即可。对于 CMOS 型单片机,由于 RST 端内部已设有下拉电阻,外部电阻可以省去,外接电容亦可减至 1 μF。

图 1 AT89C51 的上电复位电路
上电时,复位电路通过电容向 RST 端送入一个短暂的高电平信号,该信号随 VCC 对电容的充电过程逐渐回落,因此 RST 端高电平的持续时间取决于 RC 充电时间常数。为保证系统可靠复位,RST 端的高电平必须维持足够长的时间:一方面要覆盖电源本身的上升时间(通常约 10 ms),另一方面还要等待振荡器起振,而起振时间与晶振频率有关,例如 10 MHz 晶振约需 1 ms,1 MHz 晶振约需 10 ms。
在图 1 的电路中,当 VCC 掉电时 RST 端电压会迅速降到 0 V 以下,但受器件内部电路的限制,这一负电压不会损坏器件。还需要说明的是,复位期间端口引脚处于随机状态,复位完成后各端口被置为全“1”(高电平)状态。
二、积分型上电复位与开关复位电路
兼具上电复位和手动复位功能的电路如图 2 所示。上电后,电容 C3 充电与反相门共同作用,使 RST 端维持一段时间的高电平;系统投入运行后,按下并松开复位键 K,同样能使 RST 端获得一段高电平,从而实现上电复位与开关复位两种操作。根据实际操作经验,该电路中电容、电阻的参考取值为 C3 = 1 μF,R1 = 1 kΩ,R2 = 10 kΩ。

图 2 积分型上电复位与开关复位电路
三、专用监控芯片复位电路
上电复位电路的作用是启动单片机开始工作,但电源在上电过程以及正常工作期间都可能出现电压异常或干扰,给单片机的稳定工作带来严重影响。因此,通常的做法是在电源上电时延时向芯片输出复位信号,并在电源电压异常时强制复位。复位输出脚输出的低电平需要持续若干时钟周期,复位完成后程序开始初始化芯片内部状态,然后等待输入信号(例如遥控器送来的信号)。

图 3 基于专用监控芯片的复位电路
以 MC34064 为例:5 V 电源由 MC34064 的 2 脚输入,1 脚随即输出一个上升沿,触发单片机的复位引脚。电解电容 C13 用于调节复位延时时间;电源关断时,C13 上的残留电荷经 D13 与 MC34064 内部电路构成回路释放,为下次复位做好准备。
该电路的关键器件是 MC34064 欠压检测/复位芯片,其引脚功能与典型应用如图 4、图 5 所示。


四、三极管欠压复位与比较器型复位电路
除专用监控芯片外,也可用分立元件实现欠压复位。三极管欠压复位电路利用晶体管的导通阈值检测电源电压:当 VCC 低于设定门限时晶体管截止并输出复位信号。该电路结构简单、成本低,但检测门限的精度受温度与器件离散性影响较大,适用于对复位阈值要求不高的场合。
比较器型复位电路的基本原理如图 6 所示。上电复位时,比较器的正相输入端接有 RC 低通网络,其电压上升滞后于负相输入端——负相端网络的时间常数远小于正相端,因此在正端电压尚未超过负端电压之前,比较器输出低电平,经反相器后得到高电平复位脉冲。复位脉冲的宽度主要取决于电源电压的上升速度。由于负端放电回路的时间常数较大,该电路对电源电压的波动不敏感,但容易出现两种不利现象:一是电源二次开关间隔过短时复位不可靠;二是电源电压中出现浪涌时,浪涌消失后可能不再产生复位脉冲。

图 6 比较器型复位电路
改进的办法是在比较器电路中引入正反馈形成迟滞,并配合数字逻辑电路对复位状态进行保持与延时,这样可以消除第一种现象、减轻第二种现象。经过改造后,该电路还可以兼作上电复位与看门狗复位的公共复位电路,进一步提高系统复位的可靠性。