
51单片机长时间待机设计.docx
8页CPUAT89S52可降至OHz静态逻辑操作,支持2种软件可选择节电模式空闲模式下,停止工作,允许RAM、定时器/计数器、串口、中断继续工作掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止单片机空闲与掉电模式2009-04-2300:03特别对于电池供电系统来说,功耗是首要考虑的问题•我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式1.空闲模式当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功寄存器中的数据在空闲模式期间都将保持原值但假若定时器正在运行,那么计数器寄存器中的值还将会增加单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。
以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA〜7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1卩A以下2.休眠模式当单片机进入掉电模式时,外部晶振停振、CPU定时器、串行口全部停止工作,只有外部中断继续工作使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行可将数字万用表调节到电流档,然后串接入电路中,观察单片机在正常工作模式、休眠模式、空闲模式下流过系统的总电流变化情况,经测试可发现结果如下:正常工作电流>空闲模式电流>休眠模式电流51进空闲模式2007-10-2414:36进入空闲模式:PCON=0x01;之前执行AUXR=OxFF;定义空闲模式下看门狗WDT不计数PCON:电源控制器及波特率选择寄存器字节■地址=87H,不可位寻址SMOD--POFGF1GF0PDIDLSMOD――波特率倍增位GF1、GF0――用户通用标记PD――掉电方式控制位,PD=1时进入掉电模式IDL――空闲方式控制位,IDL=1时进入空闲方式在AT89S51中PC0N.4是电源断电标记位POF,上电是为1对PCON(电源控制寄存器)的有关位来设置实现控制:当第0位IDL为1时,进入待机模式,此时单片机功耗很低,振荡器继续运行,可用中断来唤醒当第1为PD为1时,进入掉电模式在程序中执行下面指令就达目的:setbidl;待机模式setbpd;掉电模式【转】使用TX-1C开发板学习51单片机的空闲与掉电模式已有22次阅读2009-08-2710:51标签:单片机模式开发学习我们知道单片机内部有一个电源管理寄存器PCON这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。
1.空闲模式当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值但假若定时器正在运行,那么计数器寄存器中的值还将会增加单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA^7mA进入空闲模式时其功耗降至2mA当进入掉电模式时功耗可降至0.1卩A以下2.休眠模式当单片机进入掉电模式时,外部晶振停振、CPU定时器、串行口全部停止工作,只有外部中断继续工作使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。
可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行下面的例子演示单片机进入空闲和休眠模式,并且演示出从空闲和休眠模式中唤醒的过程例】:在TX-1C实验板上完成如下描述,开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器新建文件part3.4.1.c,程序代码如下:#include
⑷下载程序后,实验现象如下:数码管从“00开始递增显示,到“05”,再过一秒后,数码管变成只显示一个“5”,单片机进入休眠或空闲模式,用导线一端连接地,另一端接触P3.2或P3.3,数码管重新从“06”开始显示,递增下去整个过程演示了单片机从正常工作模式进入休眠模式或空闲模式,然后再从休眠模式或空闲模式返回到正常工作模式5)测试过程大家可将数字万用表调节到电流档,然后串接入电路中,观察单片机在正常工作模式、休眠模式、空闲模式下流过系统的总电流变化情况,经测试可发现结果如下:正常工作电流>空闲模式电流>休眠模式电流•STC51的休眠模式以及唤醒2008-04-02版权声明:转载时请以超链接形式标明文章原始岀处和作者信息及本声明。
