- 单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89S52复位
2.7.1 复位操作
-
复位时,PC初始化为0000H,程序从0000H单元开始执行。
-
除系统的正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89S52摆脱“跑飞”或“死锁”状态而重新启动程序。
-
复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态见表2-7。
-
由表2-7可看出,复位时,SP=07H ,而P0~P3引脚均为高电平。
在某些控制应用中,要注意考虑P0~P3引脚的高电平对接在这些引脚上的外部电路的影响。 -
例如,当P1口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。
2.7.2 复位电路设计
- AT89S52单片机的复位是由外部的复位电路实现的。复位电路应兼有上电复位和人工按键复位两种功能。典型的复位电路如图2-18所示。
- 上电自动复位是给电容C 充电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C 的充电过程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C 充电时间。为保证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。
- 除了上电复位外,有时还需要人工按键复位。按下按键后,通过两个电阻Rs和Rk的分压,在RST端产生高电平,按键按下的时间决定了复位的时间。
- 当时钟频率选用6MHz时,电容C的参考取值为22µF,两个电阻Rs和Rk的参考阻值分别为220Ω和1kΩ。
- 一般来说,单片机的复位速度比外部扩展的I/O接口电路快些。因此在实际应用设计中,为保证系统可靠复位,在单片机的初始化程序段应安排一定的复位延迟时间,以保证单片机与外部扩展的I/O接口电路都能可靠地复位。