
2.7 单片机工作方式
下面介绍AT89S51/52单片机的复位方式及低功耗工作方式。
2.7.1 复位方式
1.复位状态
复位是单片机的初始化操作,以便使CPU及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机在启动运行或运行过程中出现死机,都需要进行复位。复位的作用是使系统处于一个确定的初始状态,并从这个状态开始工作。复位是一个很重要的操作方式。单片机一般是不能自动进行复位的,必须配合相应的外部电路才能实现。
复位后片内各特殊功能寄存器的状态见表2-9,表中X表示不定数。从表中可知,复位后P0~P3端口的值都是FFH,因此I/O引脚都为高电平,且都可以直接用于输入而无须用指令锁存1。还需要注意,堆栈指针SP初始化值为07H,意味着堆栈是从08H地址开始,如需将堆栈安排在其他地址,需要程序初始化时给堆栈指针赋予相应的值。
表2-9 复位后的内部特殊功能寄存器状态
2.复位工作方式
整个复位电路包括芯片内、外两部分,外部电路产生的复位信号通过复位引脚RST进入片内一个施密特触发器,再与片内复位电路相连。复位电路每个机器周期对施密特触发器的输出采样一次。当RST引脚端保持两个机器周期以上的高电平时,AT89S51/52单片机进入复位状态。
3.复位电路设计
AT89S51/52系列单片机的外部复位电路有上电自动复位和上电及按键手动复位电路两种。
上电自动复位电路利用电容器充放电来实现,如图2-17所示。上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST引脚端保持两个机器周期以上的高电平,就可使单片机有效地复位。
上电及按键手动复位电路如图2-18所示,其中KR按键用于手动复位,上电复位的原理同自动复位。不管哪种复位电路,其参数选取应保证复位高电平持续时间大于两个机器周期。图中给出的参数可保证可靠复位。
图2-17 上电自动复位电路
图2-18 上电复位和按钮复位电路
2.7.2 低功耗方式
AT89S51单片机有两种低功耗方式,即待机方式和掉电保护方式。
1.待机方式
待机方式和掉电方式都是由特殊功能寄存器PCON(电源控制寄存器)的有关位来控制的。PCON寄存器各位定义如下。
1)SMOD:波特率倍增位,在串行通信时才使用。
2)GF0:通用标志位。
3)GF1:通用标志位。
4)PD:掉电方式位,PD=1,则进入掉电方式。
5)IDL:待机方式位,IDI=1,则进入待机方式。
如果使用指令使PCON寄存器IDL位置1,则AT89S51即进入待机方式。这时振荡器仍然运行,并向中断逻辑、串行口和定时/计数器电路提供时钟,但向CPU提供时钟的电路被阻断,因此CPU不能工作,与CPU有关的如SP、PC、PWS、ACC以及全部通用寄存器也都保持在原状态。
在待机方式下,中断功能继续存在,以便采用中断方法退出待机方式。为此应引入一个外中断请求信号,在单片机响应中断的同时,PCON.0位被硬件自动清0,单片机退出待机方式而进入正常工作方式。其实在中断服务程序只需要安排一条RETI指令,就可以使单片机恢复正常工作后返回断点继续执行程序。
2.掉电保护方式
PCON寄存器的PD位控制单片机进入掉电保护方式。因此对于像AT89S51这样的单片机在检测到电源故障时,除进行信息保护外,还应把PCON.1位置1,使之进入掉电保护方式。此时单片机一切工作都停止,只有内部RAM单元的内容被保存。
AT89S51单片机进入掉电保护方式后,还有备用电源由VCC端引入。VCC正常后,硬件复位信号维持10ms,即能使单片机退出掉电方式。