单片机的空闲模式与掉电模式

发布者:快乐之源最新更新时间:2011-10-12 关键字:单片机  空闲模式  掉电模式 手机看文章 扫描二维码
随时随地手机看文章

  特别对于电池供电系统来说,功耗是首要考虑的问题.我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。

  1. 空闲模式

  当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。

  让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。

  2. 休眠模式

  当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。

  可将数字万用表调节到电流档,然后串接入电路中,观察单片机在正常工作模式、休眠模式、空闲模式下流过系统的总电流变化情况,经测试可发现结果如下:正常工作电流>空闲模式电流>休眠模式电流。

关键字:单片机  空闲模式  掉电模式 引用地址:单片机的空闲模式与掉电模式

上一篇:解读CRC的校验原理
下一篇:基于SMA7029M的步进电机驱动设计

推荐阅读最新更新时间:2024-03-16 12:43

单片机学习札记之7 STC15W系列的ADC配置
ADC了,STC151K16PWM的ADC是1个10位的,有8个通道,我偶们这个小时钟,只用到了三路AD,分别是P1.5,P1.6,P1.7,其中,P1.5引脚是测电池电压的,P1.6是测温度的,P1.7是测光线强弱的。我们拿ADC5来举例说明下,ADC的配置步骤。 在使用ADC之前,首先第一步要配置IO口为高阻输入,也就是电流既不能流入也不能流出,配置如下: 第二是对ADC进行初始化,设置模拟口位 因为我们的要求不高,进行测试的时候,ADC转换设置540个时钟就可以了,也就是完成一次ADC转换,需要540个时钟的时间才可以。 我们是在用中断的方式获得ADC的结果,并保存到temp里。 但是我们读取到的
[单片机]
<font color='red'>单片机</font>学习札记之7 STC15W系列的ADC配置
51单片机系列——通过位运算符来实现流水灯
基础知识 1)首先认识一个寄存器(例如P1)占一个字节,而一个字节多数是8位,例如P1 = 11111111,即P1^0 到P1^7都是1。 我们可以看成一个字节的二进制数代表我们的8个IO口如下表所示 2)其次要知道LED灯为1时(LED = 1)即高电平,灯熄灭。相反(LED = 0)低电平,则灯亮。 3)移位运算符效果: /*默认P1 = b11111111*/ P1 = P1 1 ; /*执行一次结果为 11111110 ,即整体左移一位 最右边用低电平0来替代 */ 4)头文件intrins的函数使用 _crol_(xx,m) xx寄存器字符循环左移m位 _cror_(xx,m) xx寄存
[单片机]
51<font color='red'>单片机</font>系列——通过位运算符来实现流水灯
学STM32对你来说有什么好处
STM32是32位的单片机却只要八位单片机的价格,速度也是八位的好几倍。 更重要的是它作为ARM入门级的芯片比较容易掌握,网上资料也很多,很多人都在用。 STM32的IO端口有7个寄存器来控制,但是我们常用的就4个:CRL、CRH、IDR和ODR 。 端口配置低寄存器(GPIOx_CRL) 端口配置高寄存器(GPIOx_CRH) 端口输入数据寄存器(GPIOx_IDR) 端口输出数据寄存器(GPIOx_ODR) 其中CRL控制高8位的IO,CRH控制低8位的IO。这两个实质是一样的。 八种模式 对照A VR 来G PI Ox_CRL就相当于DDRx;GPIOx_ODR就相当于PORTx;GPIOx_ODR就相当于PIN
[单片机]
学STM32对你来说有什么好处
意法半导体推出下一代安全微控制器
意法半导体推出下一代安全微控制器,助力卡上生物特征识别系统和卡动态验证解决方案 ST31N600安全微控制器集成能量收集和生物特征识别安全电路与最新一代 Arm® SecurCore™处理器 基于ST31N600的卡上生物特征识别系统 (BSoC)和卡动态验证(dCVV)解决方案将亮相Trustech 2021展会 中国,2021年12月1日— 服务多重电子应用领域的全球半导体领导者意法半导体(STMicroelectronics,简称ST)推出最新一代 ST31安全微控制器,助力接触式和非接触式支付卡、身份证和闸机提高交易安全性。 ST31N600 采用意法半导体的 40 纳米 eSTM制造技术,集成
[单片机]
意法半导体推出下一代安全<font color='red'>微控制器</font>
基于STC15F101W单片机调光灯/按键状态机源程序
基于STC15F101W调光灯,按键状态机,电脑USB供电,STC15F101W单片机驱动 单片机源程序如下: /********************************************** 程序名:LED程序 产品代号:LED调光台灯 硬件平台:STC15F100W (只有T0和T2两个定时器 ) 当前版本:1.0 编写人:@Richard 说明: ①适用于Led驱动板 ②可通过DIM端控制灯泡亮度与开关 ③有四个指示灯,共阳 命名规则:输出后缀_dr、输入后缀_sr、标志位后缀_flag (dr代表drive驱动、sr代表senso
[单片机]
基于STC15F101W<font color='red'>单片机</font>调光灯/按键状态机源程序
基于51单片机的温度检测及显示设计
由于高新技术的不断发展,仪器仪表的微型化,数字化已得到实现。90年代高精确度、高性能、多功能仪器仪表都已经采用微处理器件。而作为工业控制和自动化领域的各种新技术、新方法、新产品的发展趋势和显著标志智能化是自动化技术当前和今后发展的动向之一。本文采用AT89C52单片机开发了键盘、液晶显示器、多路温度检测来实现温度的采集、温度的文字显示和图形显示三个系统。实验证明,采用AT89C52开发的系统性能可靠、成本较低、软件设计灵活简单、硬件接口功能丰富,具有扩展性好、通用性强等优点。 1 元器件的选择 1.1 核心芯片的选择 AT89C52单片机价格低廉,输入输出口丰富,无需再另外扩展,简化了外围电路。256 B内部RAM,8
[单片机]
基于51<font color='red'>单片机</font>的温度检测及显示设计
X25045单片机看门狗电路介绍
前言 工控系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。看门狗(Watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路。在8096系列单片机和增强型8051系列单片机中,该系统已经做在芯片内部,用户只要用软件开放它就可以,使用很方便。但目前工控系统仍在使用廉价的普通型8051系列单片机,则看门狗电路必须由用户自己建立。 看门狗电路一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件看门狗是真正意义上的“程序运行监视器”,如计数型的
[单片机]
X25045<font color='red'>单片机</font>看门狗电路介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved