历史上的今天
今天是:2026年01月05日(星期一)
2023年01月05日 | 89C51单片机有几种低功耗方式
2023-01-05 来源:zhihu
单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。
1. 空闲模式
当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。
让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。
2. 休眠模式
当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。
可将数字万用表调节到电流档,然后串接入电路中,观察单片机在正常工作模式、休眠模式、空闲模式下流过系统的总电流变化情况,经测试可发现结果如下:正常工作电流>空闲模式电流>休眠模式电流。
上一篇:单片机第一步——51单片机
史海拾趣
|
看到年底,各大媒体的盘点,禁不住心里也痒痒,问问大家: 2009年,你觉得安防行业最感动你的安防事件是什么? 国务院抑制房价看对讲市场发展? 校园安防也凸显了无限的商机? 食品安全唤RFID? 抑或其他?… 查看全部问答> |
|
运放的主要误差因素有 输入失调电压VIO,输入失调电压温漂αVIO,输入偏置电流IIB,输入失调电流IIO,输入失调电流温漂αIIO等。 以下皆为各个元素的定义,略交代一下。 (1)输入失调电压 输入失调电压的定义是:在 ...… 查看全部问答> |
|
CDMA模块以Text格式发送短信。需要将短信内容转换成Unicode编码,再发送出去。 需要用到的AT指令: AT+WSCL=6,4 AT+CMGF=1 AT+CMGS=\"手机号码\",短信长度回车(短信长度为短信内容转换为Unicode编码后的 长度) 输入Unicode编码后的短 ...… 查看全部问答> |
|
解决了友善之臂2240TEST示例代码+HJTAG+ADS单步调试问题 买回来友善之臂QQ2440开发板,按手册捣鼓起来。进行2240TEST示例代码+HJTAG+ADS单步调试时,发现无法跳转到MAIN函数那里。 埋头苦干2天,翻三星手册,终于发现问题所在,是友善之臂的HJTAG初始化文件需要修改一下 SDRAM REFRESH寄存器的值。终于 ...… 查看全部问答> |
|
WINCE6/VS2005 环境下,WINCE6下面的范例目录如何查找?(范例在什么目录下) WINCE6/VS2005 环境下,WINCE6下面的范例目录如何查找?(范例在什么目录下) 有人说在WINCE600\\...\\CellCore\\目录下面有电话 和短信的范例.… 查看全部问答> |
|
请高手指点嵌入式软件工程师 (linux)开发驱动的三个问题(可以是基于ARM平台的) 我查了点招聘网上的资料感觉还是迷糊,我总结了下有以下几点 熟悉linux kernel 熟悉进程间通讯(ipc) 线程互斥 socket编程 熟悉掌握linux下各种gnu编程工具的使用方法 如gcc obcopy gdb 等 这个只是招聘上的启示 1、 ...… 查看全部问答> |




