1.4 AT89S51单片机的工作方式
1.4.1 低功耗工作方式
AT89S51单片机具有低功耗的特点,提供了两种节电工作方式:待机方式(Idlemode)和掉电方式(Powerdown)。这两种工作方式特别适合以电池为工作电源和停电时使用备用电源供电的单片机应用场合。
待机方式和掉电方式都是由电源控制寄存器PCON的有关位来控制的。电源控制寄存器PCON是一个逐位定义的8位特殊功能寄存器,字节地址为87H,不可位寻址,其格式如表1-8所示。
表1-8 PCON格式
其中:SMOD为串行口波特率倍增控制位;GFl为通用标志位,但只能通过字节寻址访问该位;GF0为通用标志位,但只能通过字节寻址访问该位;PD为掉电方式控制位,PD=1,系统进入掉电方式;IDL为待机方式控制位,IDL=1,系统进入待机方式。
如果想要单片机进入待机方式或者掉电方式,只需执行一条能够使IDL或PD位置1的指令即可。
1.待机工作方式
待机工作方式的进入方法非常简单,只需使用指令(如ORLPCON,#1)将PCON.0置1即可。单片机进入待机方式时振荡器仍然运行,而且时钟被送往中断系统、串行口和定时器/计数器,但不向CPU提供时钟,因此CPU是不工作的。单片机各引脚保持进入待机方式时的状态,引脚ALE和保持高电平,中断的功能继续存在。
退出待机方式的方法有两种:中断和硬件复位。在待机方式下,任何一个中断请求信号,使单片机响应中断的同时,PCON.0位(即IDL位)被芯片内部硬件自动清零,单片机退出待机方式进入正常的工作状态。另一种退出待机方式的方法是硬件复位,在RST引脚引入两个机器周期的高电平即可,复位后的状态如前所述。
2.掉电工作方式
掉电方式的进入类似于待机方式的进入,只需使用指令(如ORLPCON,#2)将PCON.1置1即可。进入掉电方式后,片内振荡器停止工作,从而单片机的一切工作全部停止。
退出掉电方式的方法只有一种,即硬件复位。复位后单片机被初始化,但RAM的内容仍然保持不变。
1.4.2 ISP编程工作方式
用户目标程序写入程序存储器的过程称为编程。AT89S51单片机芯片内部有4KBF1ash程序存储器,对AT89S51的编程方法有两种:一种是传统的并行编程方式;另一种是串行ISP编程方式。
图1-14 AT89S51的ISP编程硬件原理图
并行编程方式有两个缺点:一是需要借助编程器,这增加了硬件成本;二是在实际应用开发过程中,应用程序写入程序存储器进行调试时,需要从目标系统电路板上拔下芯片,编程后再插上。由于应用程序需要反复调试,所以这种方式给实际应用开发带来了极大的不便。
串行ISP编程方式的优势在于改写程序存储器内的程序时,不需要把单片机芯片从工作环境中拔下,通过PC直接对用户目标板上的AT89S51单片机进行在系统编程,这显然是AT89S51单片机的显著优点。
AT89S51处于ISP编程工作方式时,原理如图1-14所示。将RST引脚接至VCC,用户目标程序通过串行ISP接口,由PC写入AT89S51单片机的内部程序存储器中。AT89S51的串行ISP编程接口包含三个引脚:时钟输入SCK(P1.7脚),MOSI数据输入(P1.5脚),MISO数据输出(P1.6脚)。串行ISP在系统编程中的具体使用方法见附录A。