AVR单片机电源管理及睡眠模式

2020-02-18来源: eefocus关键字:AVR单片机  电源管理  睡眠模式

简介:睡眠模式可以使应用程序关闭 MCU 中没有使用的模块,从而降低功耗。AVR 具有不同 的睡眠模式,允许用户根据自己的应用要求实施剪裁。


/*


状态寄存器SREG


bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0


I T H S V N Z C


I:全局中断使能位。


在I置位后,单独的中断使能由不同的中断寄存器控制。若I为0,则禁止中断。


MCU控制寄存器MCUCR


bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0


SM2 SE SM1 SM0 ISC11 ISC10 ISC01 ISC00


SE:MCU休眠使能位

为了使 MCU 在执行 SLEEP 指令后进入休眠模式, SE 必须置位。为了确保进入休眠模

式是程序员的有意行为,建议仅在 SLEEP 指令的前一条指令置位 SE。MCU 一旦唤醒立

即清除 SE。


SM1~SM0:MCU休眠模式选择


SM2 SM1 SM0 休眠模式


0 0 0 空闲


0 0 1 ADC 噪声抑制模式


0 1 0 掉电模式


0 1 1 省电模式


1 0 0 保留


1 0 1 保留


1 1 0 Standby(1) 模式


1 1 1 扩展Standby(1) 模式




空闲模式 当 SM2..0 为 000 时,SLEEP 指令将使 MCU 进入空闲模式。在此模式下, CPU 停止运

行,而 LCD 控制器、 SPI、 USART、模拟比较器、ADC、 USI、定时器 / 计数器、看门

狗和中断系统继续工作。这个休眠模式只停止了clkCPU 和clkFLASH ,其他时钟则继续工作。


象定时器溢出与 USART 传输完成等内外部中断都可以唤醒 MCU。如果不需要从模拟比

较器中断唤醒 MCU ,为了减少功耗,可以切断比较器的电源。方法是置位模拟比较器控

制和状态寄存器 ACSR 的 ACD。如果 ADC 使能,进入此模式后将自动启动一次转换。


ADC 噪声抑制模式 当 SM2..0 为 001 时,SLEEP 指令将使 MCU 进入噪声抑制模式。在此模式下, CPU 停

止运行,而 ADC、外部中断、两线接口地址配置、定时器 / 计数器 0 和看门狗继续工作。

这个睡眠模式只停止了 clkI/O、 clkCPU 和 clkFLASH ,其他时钟则继续工作。


此模式提高了 ADC 的噪声环境,使得转换精度更高。 ADC 使能的时候,进入此模式将

自动启动一次AD 转换。ADC 转换结束中断、外部复位、看门狗复位、 BOD 复位、两线

接口地址匹配中断、定时器 / 计数器 2 中断、SPM/EEPROM 准备好中断、外部中断 INT0

或 INT1 ,或外部中断INT2 可以将 MCU 从 ADC 噪声抑制模式唤醒。


掉电模式 当 SM2..0 为 010 时, SLEEP 指令将使 MCU 进入掉电模式。在此模式下,外部晶体停

振,而外部中断、两线接口地址匹配及看门狗 (如果使能的话)继续工作。只有外部复

位、看门狗复位、 BOD 复位、两线接口地址匹配中断、外部电平中断 INT0 或 INT1 ,或

外部中断 INT2 可以使 MCU 脱离掉电模式。这个睡眠模式停止了所有的时钟,只有异步

模块可以继续工作。


当使用外部电平中断方式将 MCU 从掉电模式唤醒时,必须保持外部电平一定的时间。具

体请参见 P65“ 外部中断 ” 。


从施加掉电唤醒条件到真正唤醒有一个延迟时间,此时间用于时钟重新启动并稳定下来。

唤醒周期与由熔丝位 CKSEL 定义的复位周期是一样的,如 P23“ 时钟源 ” 所示。


省电模式 当 SM2..0 为 011 时, SLEEP 指令将使 MCU 进入省电模式。这一模式与掉电模式只有

一点不同:


如果定时器 / 计数器 2 为异步驱动,即寄存器 ASSR 的 AS2 置位,则定时器 / 计数器 2 在

睡眠时继续运行。除了掉电模式的唤醒方式,定时器 / 计数器 2 的溢出中断和比较匹配中

断也可以将 MCU 从休眠方式唤醒,只要 TIMSK 使能了这些中断,而且 SREG 的全局中

断使能位 I 置位。


如果异步定时器不是异步驱动的,建议使用掉电模式,而不是省电模式。因为在省电模式

下,若 AS2 为 0 ,则MCU 唤醒后异步定时器的寄存器数值是没有定义的。


这个睡眠模式停止了除 clkASY 以外所有的时钟,只有异步模块可以继续工作。


Standby 模式 当 SM2..0 为 110 时, SLEEP 指令将使 MCU 进入 Standby 模式。这一模式与掉电模式

唯一的不同之处在于振荡器继续工作。其唤醒时间只需要 6 个时钟周期。


扩展 Standby 模式 当 SM2..0 为 111 时, SLEEP 指令将使 MCU 进入扩展的 Standby 模式。这一模式与省

掉电模式唯一的不同之处在于振荡器继续工作。其唤醒时间只需要 6 个时钟周期。 .



*/

#include

#include

void Sleep_init(unsigned char mode)

{

switch(mode)

{

case 0: MCUCR&=~((1<

case 1: MCUCR&=~((1<

case 2: MCUCR&=~((1<

case 3: MCUCR&=~(1<

case 6: MCUCR|=1<

case 7: MCUCR|=(1<

default: MCUCR&=~((1<

}


}

void SLEEP_ON(void)

{MCUCR|=1<

asm("SLEEP");

}

void SLEEP_OFF(void)

{

MCUCR&=~(1<

}

关键字:AVR单片机  电源管理  睡眠模式 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic488627.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于AVR32设计的智能防盗与火灾预警系统
下一篇:基于AVR的高精度CPSM感应加热电源研究

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

AVR单片机IAR AVR C语言中断编程
一、AVRmega16中断向量表向量号 程序地址 中断源 描述 IAR AVR中的定义 1 000 RESET 外部引脚电平引发的复位,上电复位,掉电检测复位,看门狗复位,以及JTAG AVR 复位 RESET_vect 2 002 INT0 外部中断请求0 INT0_vect 3 004 INT1 外部中断请求1 INT1_vect 4 006 TIMER2 COMP 定时器/计数 2 比较匹配 TIMER2_COMP_vect 5 008 TIMER2 OVF 定时器/计数 2 溢出 TIMER2_OVF_vect 6 00A TIMER1 CAPT 定时器/计数 1事件捕捉 TIMER_ CAPT_vect 7 00C
发表于 2020-03-04
基于AVR单片机与CH375的多通道核辐射探测数据采集系统
该系统采用了AVR单片机、高速器件及USB接口技术,采集速度快,死时间短,计数率高,通信量大。USB所具有的即插即用、通用性强、易扩展、可靠性高等优点改善了各探测通道的使用性能。它不仅是4MeV静电加速器不可缺少的重要组成部分,而且为加速器防辐射安全提供确切依据,同时还为加速器在动植物育种、放射治疗、材料改性、放射化学等诸多方面的应用研究提供可靠的技术数据。整个系统已通过省级科技成果鉴定,实际运行良好。在更换探头和稍作参数调整后,还可将该系统用于其它大范围场地多种辐射的监测。0 引言文中介绍了多个探测通道组成的多道核数据采集系统,对4MeV静电加速器核辐射进行监测防护。各个通道采用AVR单片机ATmega128作为主
发表于 2020-03-02
基于AVR单片机与CH375的多通道核辐射探测数据采集系统
AVR单片机在LED遥控照明中的应用
摘要:基于AVR单片机设计了一种LED遥控照明系统,给出了红外接收模块和LED驱动模块的设计方法,以及软件程序流程。经测试,该方案可行,具有一定的应用价值。引言LED照明已经进入了家庭用户,与传统的照明设备(如白炽灯、荧光灯)相比,具有光源单色纯度高、色彩多样、效率高、光强度可调等优点。针对传统照明亮度不易调节、开关位置固定的问题,本文基于AVR单片机设计了一种LED遥控照明系统,提出了LED照明灯的驱动与亮度调节的方法。1 LED照明灯控制系统原理系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解析到的命令改变
发表于 2020-03-02
AVR单片机在LED遥控照明中的应用
基于AVR单片机和CMX865的串口转FSK通信模块
和捕捉功能的16位定时/计数器、具有独立片内振荡器的可编程看门狗定时器等。ATmega48/88/168芯片硬件电路可以完全兼容,完全可以根据软件实际需求灵活选择AVR芯片,极大地方便系统的开发与研制。三、硬件设计图1为串口转FSK通信模块电路。系统主要以AVR单片机ATmega48芯片和CMX865调制/解调芯片为硬件架构,ATmega48芯片利用C-BUS总线对CMX865芯片进行控制操作,实现FSK通信。CMX865芯片的IRQN终端与CPU芯片的外部中断0(INT0)相连,确保软件可以采用中断方式接收/发送FSK数据。CMX865芯片的时钟信号、片选信号、响应应答数据信号、接收控制数据信号分别与ATmega48芯片的普通I/O
发表于 2020-02-29
基于AVR单片机和CMX865的串口转FSK通信模块
AVR单片机中左移位和右移位指令
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。AVR器件(指令速查表) 118条指令器件AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/8515,AT90S8534
发表于 2020-02-29
AVR单片机中左移位和右移位指令
分析AVR单片机优缺点
简介:AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。avr单片机的特点及优点高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是
发表于 2020-02-29
小广播
何立民专栏 单片机及嵌入式宝典

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

更多每日新闻
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved