先看芯片手册吧
这对电源及睡眠模式的一个简述,并介绍了进入模式时和唤醒之后的处理(第二段一定好好吸收哦)。
这是控制寄存器的设定进入不同模式的设定,根据需要进入不同的模式。
看到这里,也算了解了。
下面发段代码:
/**********************************************************
* 文 件 名 : main.c
* 描 述 : 低功耗模式的探究
* 创 建 人 : 夏玉峰
* 单 位 : 佳木斯大学 信息电子技术学院 电子协会
* 日 期 : 2012.12.9
* 开 发 环 境: 开发环境:ICCAVR 7.22
硬件平台:ATmega8
晶 振:8MHZ
* 邮 箱 : xiayufeng90520@163.com
* 版 本 号 : 1.00
**********************************************************/
#include
#include
#include"xiaofeng_delay.h"
/*******************************************
函数 名称: Port_Init
功 能: IO初始化
参 数: 无
返 回 值 : 无
/********************************************/
void Port_Init(void)
{
PORTB = 0xFF;
DDRB = 0xFF;
DDRD=0X00;
PORTD=0XFF;
}
/*******************************************
函数 名称: Port_Init
功 能: IO初始化
参 数: 无
返 回 值 : 无
/********************************************/
void Power_Init(void)
{
MCUCR |= 0X20;//掉电模式,外部中断0低电平触发
GICR |= 0X40; //外部中断0使能
SREG |= 0X80;//使能总中断
}
/*******************************************
函数 名称: Device_Init
功 能: 器件初始化
参 数: 无
返 回 值 : 无
/********************************************/
void Device_Init(void)
{
Port_Init(); //IO端口初始化
Power_Init(); //外部中断,省电模式,初始化
}
/*******************************************
函数 名称: main
功 能: 主函数
参 数: 无
返 回 值 : 无
/********************************************/
void main(void)
{
unsigned char i;
Device_Init();
while(1)
{
for (i=0;i<10;i++)
{
PORTB &= ~BIT(1);
delay_nms(300);
PORTB |= BIT(1);
delay_nms(300);
}
MCUCR |= 0x80; //使能休眠
asm("sleep");
for (i=0;i<10;i++)
{
PORTB &= ~BIT(2);
delay_nms(300);
PORTB |= BIT(2);
delay_nms(300);
}
}
}
/*******************************************
函数名称: void int0_isr(void)
功 能: 外部中断0的服务函数
参 数: 无
返 回 值: 无
/********************************************/
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
unsigned char i;
for (i=0;i<10;i++)
{
PORTB &= ~BIT(0);
delay_nms(300);
PORTB |= BIT(0);
delay_nms(300);
}
}
进入程序首先执行第二个灯闪烁,
闪烁停止,说明进入睡眠模式,
摁下按键,第一个灯开始闪烁,说明单片机被唤醒,进入外部中断服务函数,
第三个灯开始闪烁,说明中断服务函数执行完毕,执行SLEEP指令后面的程序。
有很多不足,也为有兴趣的朋友,做个例子吧,一起学习一下吧。
关键字:AVR单片机 电源管理 睡眠模式
引用地址:
AVR单片机电源管理_睡眠模式(低功耗模式)实验
推荐阅读最新更新时间:2024-03-16 16:03
基于AVR单片机的LED显示屏的灰度设计与实现
LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,LED显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式单片机的LED显示屏解决方案,该设计方案利用AVR单片机自身的FLASH ROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。 1 AVR单片机简介 AVR单片机是增强型内置FLASH的RISC(ReducedInstruction Set CPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达到一个
[家用电子]
实时监控系统在UPS中的重要作用
衡量UPS系统安全性能的指标中,有两个指标尤其重要:一个是系统的可靠性,另一个则是可用性。作为提高电源系统质量的主要设备,UPS系统本身的可靠性、可用性,是衡量UPS系统性能最重要、最根本的指标。这里对影响UPS可用性的因素进行详尽的剖析,从而得出通过采用先迸UPS智能管理技术来提高系统可用性的有效方法。新的UPS管理技术及产品,对提高UPS系统的可用性具有重要的意义。 从系统可用性的定义可以看出,提高UPS系统可用性有两个途径:一是提高系统可靠性,即延长平均无故障时间MTBF,另一途径则是降低平均故障修复时间 MTTR。从UPS系统平均故障修复时间MTTR与UPS系统可用性的关系可以看出,缩短平均故障修复时间MT
[电源管理]
AVR单片机的TWI中断模式
使用AVR单片机内部的TWI功能,并采用中断工作模式,可以很好的使用Atmega系列的内部资源,并提高程序的稳定性; #include BCD.h unsigned char i2c_sla; unsigned char i2c_addrh,i2c_addrl; unsigned char i2c_wr; unsigned char i2c_sub_flag; unsigned char i2c_num; unsigned char *i2c_buf; unsigned char i2c_end; /*************************************************************
[单片机]
AVR单片机中断的学习探究(外部中断与内部中断)
最开始的一点,所有中断的配置都必须要打开全局中断控制#asm(“sei”) //打开SREG的全局使能I置位 首先博主先探究了一下AVR单片机的外部中断。 外部中断需要用的必须先看原理图的INT0 INT1的引脚。因为外部中断是通过这两个引脚来触发,只要使能引脚,而且配置引脚为输出方式,电平如果发生合适的变化(具体通过高低电平还是上升沿下降沿控制是通过MCUCR寄存器来控制),中断便会触发。 配置外部中断相应的寄存器初始化的步骤--写在init.c中: (1)还是第一点,打开全局中断使能位; (2)配置MCUCR寄存器,通过控制寄存器的位数来控制具体由什么信号来触发中断; (3)配置通用中断控制寄存器 GICR:控制哪一个外部中
[单片机]
便携式设备中的关键电源管理电路设计
由于集成的功能不断增多以及外形尺寸的日益缩小,最新一代功能丰富的更小型便携式设备将使电源管理设计发挥关键作用。一般来说,便携式设备主要包括微处理器、I/O外设、LED背光、闪存和/或硬盘驱动器(HDD)、数字和模拟电路,这些功能模块对电源的要求各不相同。为使这些功能模块正常工作并最小化功耗以实现更长的电池使用时间,系统设计工程师面临如何设计嵌入式电源管理解决方案以满足电源要求的挑战。本文对电源要求进行了分析,并重点阐述如何设计这些电源管理电路。 为微处理器供电 微处理器是处理各种数据和命令的核心器件,大多数微处理器都采用CMOS电路并具有开关功耗和静态功耗。数字电路的每一次开关转换均对数字电路的输出电容进行充
[医疗电子]
巧用avr单片机设计轮胎内径测量系统
轮胎模具用于成型轮胎,其加工质量对轮胎的生产非常重要。为了生产出好的轮胎,必须对轮胎模具加工质量提出高的要求。传统的加工质量检测法主要是靠百分表,人为采集数据后分析得出加工质量报告。这种办法的局限性是需要操作者有一定的工作经验,而且取样过程人为控制,精度受到一定影响。近几年来,轮胎模具工业随着轮胎的大量需求而得到了快速发展,传统的检测方法不能满足市场需求。光栅尺是一种数字位移测量设备,测量范围可达几十米,测量精确在微米级;激光测距仪是一种非接触测量设备,可以对不规则表面的目标位移进行测量,但是测量距离较小。将大范同的光栅尺和非接触测量的激光测距仪结合起来就可以实现对不规则面的目标距离进行测量。将光栅尺读头与激光测距仪固定在机械
[单片机]
嵌入式便携设备电源管理的分析案例
引言
现今对 电子 系统设备性能的要求越来越高,在权衡电子系统的性能和功耗时,电子系统的性能往往得到更多的重视。容量有限的电池是便携设备的惟一能量来源,而电池容量的提高速度明显赶不上中央处理器性能的提高速度,因此,如何利用有限的电能为便携设备提供最高性能, 是便携设备中 电源管理 的主要目标。除此之外,电源管理还要兼顾稳定性和散热性。电源管理模块是在可编程电管理的设备上,为电源管理提供实现各种功耗模式的应用编程接口的软件模块。
功率消耗有两种方式: 静态功耗和动态功耗。静态功耗主要为晶体管泄漏leakage)功率;动态功耗则来源于 电路 有效性激活,例如地址线或者数据线输入时引起的寄存器线路的有
[电源管理]
手机电源管理技术探秘
随着手机的功能越来越多,用户对手机电池的能量需求也越来越高,现有的锂离子电池已经越来越难以满足消费者对正常使用时间的要求。对此,业界主要采取两种方法,一是开发具备更高能量密度的新型电池技术,如燃料电池;二是在电池的能量转换效率和节能方面下功夫。 为手机提供电能的技术在最近几年虽有不少创新和发展,但是还远远不能满足手机功能发展的需要,因此如何提高电源管理技术并延长电池使用寿命,已经成为手机开发设计中的主要挑战之一。 同时,设计者还必须明白消费者对手机的要求,这主要体现在以下几个方面:第一,体积小。这要求提高系统的集成度,缩小元器件的封装体积,减小 PCB 板的面积,这可能会增加设计中解决电磁
[手机便携]