2.7 低功耗工作方式
2.7.1 低功耗工作方式
在很多情况下,单片机要工作在供电困难的场合,如野外、井下、空中等,对于便携式仪器要求用电池供电,这时都希望单片机应用系统运行时功耗低。
89C51属于CHMOS的单片机,运行时耗电少,并且还提供两种低功耗方式,即空闲(等待、待机)方式和掉电(停机)保护方式,以进一步降低功耗。在VCC=5 V,fosc=12 MHz条件下,正常工作电流约20 mA;空闲方式时电流约5 mA;掉电保护方式时电流仅75 μA。
空闲方式和掉电保护方式的内部控制电路如图2-20所示。
图2-20 空闲方式和掉电保护方式的内部控制电路
由图2-20可见,若IDL=0,则进入空闲方式。在空闲方式下,振荡器继续运行,由于IDL封锁了去CPU的“与”门,送往CPU的时钟信号被封锁,故CPU停止工作,但中断控制电路、定时/计数器和串行口等环节仍在时钟控制下正常运行。在空闲方式期间, CPU现场(堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC),内部RAM和其他特殊功能寄存器的内容维持不变,引脚保持进入空闲方式时的状态,ALE和PSEN保持高电平。
若PD=0,则进入掉电保护方式。在掉电保护方式下,由于PD封锁了振荡器,片内振荡器停止工作,单片机内部所有的功能部件也都停止工作。在掉电保护方式期间,内部RAM和特殊功能寄存器的内容维持不变,而 I/O端口的状态都保存在对应的 SFR中, ALE和PSEN均为低电平。
2.7.2 低功耗工作方式的进入与退出
低功耗工作方式不是自动产生的,而是通过软件来设定。其控制由电源控制寄存器PCON确定,PCON寄存器的各位定义如下。
其中,SMOD是波特率倍增位,在串行通信中使用。
GF1、GF0:通用标志位,由软件置位、复位。
PD:掉电方式控制位。PD=1,进入掉电保护方式。
IDL:空闲方式控制位。IDL=1,进入空闲方式。
PCON字节地址87H,不能位寻址。读取时,只能整字节操作,不能按位操作。
1.空闲(等待、待机)方式
空闲(等待、待机)方式是指CPU在不需要执行程序时停止工作,以取代不停的执行空操作或原地踏步等操作,达到减小功耗的目的。
当CPU执行一条置PCON.0(IDL)为1的指令后,系统即进入空闲方式。置IDL为1的指令是CPU进入空闲方式前执行的最后一条指令。
单片机退出空闲方式有如下两种方法。
第一种是中断退出。由于在空闲方式下,中断系统还在工作,所以任何中断的响应都可以使IDL位由硬件清零,从而退出空闲方式。CPU则进入中断服务程序。
第二种是硬件复位退出。复位时,各个专用寄存器都恢复默认状态,电源控制寄存器PCON也不例外,复位使IDL位清零,从而退出空闲方式。CPU则从进入空闲方式的下一条指令开始重新执行程序。
2.掉电(停待)保护方式
一般情况下,可在检测到电源发生故障,但尚能保持正常工作时,将需要保存的数据存入片内RAM,然后使系统进入掉电保护状态。
当CPU执行一条置PCON.1(PD)为1的指令后,系统即进入掉电保护方式。同样置PD为1的指令是CPU进入掉电保护方式前执行的最后一条指令。
退出掉电保护方式的唯一方法是硬件复位,复位后片内RAM区的数据不变,所有特殊功能寄存器的内容按复位状态初始化。
在掉电保护方式下,VCC可以降到2 V,但不能真正掉电,为防止真正掉电,可以在VCC引脚加备用电源。
注意,只有当VCC恢复到正常的工作电压值,并维持一段时间(约10ms),使振荡器重新启动并稳定后方可退出掉电保护方式。
在设计低功耗应用系统时,外围扩展电路也应选择低功耗器件,这样才能达到低功耗的目的。