复位是单片机的初始化操作,如对AT89C51单片机的复位引脚RST加上大于24个时钟振荡周期的高电平就可使其正常复位。
当AT89C51单片机进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化,当程序运行出错或操作错误使系统处于死锁状态时,也须按复位键让RST引脚置为高电平,使AT89C51单片机摆脱“跑飞”或“死锁”状态而重新启动。
除PC外,复位操作还对其他一些寄存器有影响,主要寄存器复位时的状态见表2-9。
表2-9 主要寄存器复位时的状态
AT89C51单片机的复位是由外部的复位电路实现的。复位电路通常采用上电自动复位和按钮复位两种方式,如图2-9所示。
图2-9 AT89C51单片机的外部复位电路
上电自动复位是通过外部复位电路的电容充电实现的。当电源接通时,电容C 1 充电,RST处于高电平,且时间远超过1ms,从而确保单片机正常复位;当电容充电完毕时,RST被电阻R 1 下拉到低电平,单片机开始正常运行。
需要注意的是,几乎所有单片机都需要外接复位电路,但不同厂家的产品,其复位逻辑电平可能不同,如新华龙C8051F020单片机,尽管该单片机仍然是51内核,但CPU采用低电平复位,即RST引脚接低电平时单片机复位,该引脚接高电平时为正常运行状态。