一、低功耗问题
N76E003电源有两种模式,若想最大降低功耗,那么当然选择掉电模式了,进入掉电模式很简单直接set_PD,单片机就进入掉电了;
文档中给出的电气特性说是最低可以达到6-8ua;
我也测试了,若只写
clr_BODEN;//关闭欠压检测
set_PD;// 进入掉电模式
发现功耗还是比较大的,并没有达到6-8ua;后面找到问题,原来将单片机切换至低速模式(LIRC)时,再进入掉电,那么才能达到6-8ua。
set_OSC1;
clr_OSC0;
clr_HIRCEN;
clr_BODEN;
set_PD;
具体的一些注意事项看规则书:
二、唤醒问题
通过规则书,我们可以发现中断可以唤醒单片机;
//-------管脚中断中断服务程序---------
void PinInterrupt (void) interrupt 7
{
if(PIF==0x01)//0通道
{
PIF=0;//清除外部中断标志
}
}
void EXTI_Init(void)
{
set_EA; //开启总中断
set_EPI; //开启管脚中断(位于拓展中断中)
P30_Input_Mode; //设置为输入模式
set_PIPS1;
set_PIPS0;//选择P3.0为中断输入源
Enable_BIT0_FallEdge_Trig; //下降沿
}
管脚中断的一些配置,主要参考这张图,再根据我上面贴的代码,很容易可以举一反三,那么其他的管脚中断配置就出来了。
三、还有一种低功耗方法(掉电与工作切换)
因为在单片机在切换至低速模式时,在与其他传感器进行通讯时,单片机跑太慢,通讯不了,所以推荐低功耗方法可以利用单片机的自我唤醒功能,在读取到传感器数据后进入掉电,而后一段时间自我唤醒,这样可以很大程度降低功耗。若大家还有其他方法,欢迎讨论。
void WakeUp_Timer_ISR (void) interrupt 17 //自动唤醒中断
{
clr_WKTF; //clear interrupt flag
flag=1;
}
void WakeUp_Init(void)//定时唤醒
{
/*
定时时间/((Pre-scalar预分频+1)/10)=255-重载值(RWK)
eg:
定时1000ms,64分频,算重载值
1000/((64+1)/10)=153
*/
WKCON=0x03;//预分频64
RWK =255-77;//定时0.5s
set_EWKT; //使能定时唤醒中断
set_WKTR; //运行定时唤醒功能
EA = 1; //开启总中断
}
void main()
{
P12_Quasi_Mode;
delay(500);
P12=1;
delay(500);
P12=0;//灯亮
WakeUp_Init();//定时唤醒
while(1)
{
if(flag)
{
WKTcount++;
flag=0;
else if(WKTcount>=2)
{
/****功能代码*****/
WKTcount=0;
}
clr_BODEN;//关闭欠压检测
set_PD;// 进入掉电模式
}
}
}
关键字:N76E003 低功耗模式 中断唤醒
引用地址:
N76E003低功耗模式(+中断唤醒)
推荐阅读最新更新时间:2024-11-11 11:33
51单片机低功耗工作模式
低功耗操作方式 在以电池供电的系统中有时为了降低电池的功耗在程序不运行时就要采用低功耗方式低功耗方式有两种—待机方式和掉电方式 低功耗方式是由电源控制寄存器PCON上一课我们提到过的来控制的电源控制寄存器是一个逐位定义的8位寄存器其格式如下 PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下: PCON电源管理寄存器结构 PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD - - - GF1 GF0 PD IDL PCON标志位说明: 在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当
[单片机]
stm32专题三十二:stm32功耗模式
stm32功耗模式 按功耗由高到低排列,STM32 具有运行、睡眠、停止和待机四种工作模式。上电复位后 STM32处于运行状态时,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。三种低功耗的模式说明见下表。 睡眠模式下,任何中断都可以唤醒内核,外部 / 内部高速时钟保持打开,调压器保持打开,因此,内核只要被唤醒,就能马上正常的执行程序(优点:响应速度快;缺点:功耗比较大); 停止模式下,HSE和HSI被关闭,调压器可选开启或低功耗模式(若选为低功耗模式,则还需要加上调压器从低功耗切换至正常模
[单片机]
STM32-(33):低功耗模式与唤醒
功耗管理 很多单片机都有低功耗模式,STM32也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。 用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 STM32的低功耗模式有3种: 睡眠模式(CM3内核停止,外设仍然运行) 停止模式(所有时钟都停止) 待机模式(1.8V内核电源关闭) 在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要2uA左右的电流。停机模式是次低功耗的,其典型的电流消耗在20uA左右。最后就是睡眠模式了。用户可
[单片机]
MSP430:一张图理解msp430f4371的低功耗模式
430有6中工作模式,在此不再累述,C程序中,使430单片机低功耗进入低功耗的语句非常简单,只需一句LPM0/LPM1/LPM2/LPM3/LPM4即可使其进入低功耗状态。看了一天430的系统时钟模块和低功耗状态,发现最靠谱的东西还是官网数据手则,迷惑了一天,最终一张图片使思维稍微清晰。图片如下: 从上图得到自己的理解,虽然可能有误,但暂时不影响对430单片机的使用: LPM0:CPUoff置位------------------------ CPU不能用,MCLK不能用,其他一切照旧活动; LPM1:CPUoff置位,SGC0置位----------- CPU不能用,MCLK不能用,FLL+停止操作,而ACLK和SMCLK
[单片机]
【STM8S】 AWU低功耗模式
/** ********************************** STM8S *********************************** * @文件名 : bsp_awu.c * @作者 : strongerHuang * @库版本 : V2.2.0 * @文件版本 : V1.0.0 * @日期 : 2017年05月10日 * @摘要 : 自动唤醒源文件 ******************************************************************************/ /*-----------------------
[单片机]
【超低功耗系列三】BAM 模式和 Stop 模式的选择
这篇文章主要和大家讨论一下 BAM和stop模式 的选择问题。首先我们来看一下BAM模式和stop模式分别是什么。 BAM模式 BAM模式使数据用通信外设进行传输,但是MCU的其他部分处于低功耗模式,一般的工作方式可能会选用一个RTC加一个可以工作在这个模式下的外设再加一个DMA和SRAM,SRAM可以是系统的SRAM 1,也可以是SRAM 2,在不需要CPU干预的情况下就可以自行做数据采集,一旦数据采集到CPU需要处理的条件,再去把CPU唤醒,所以我们可以看到BAM模式从本质上实现了一个协处理器的功能。 Stop模式 Stop模式是CPU Cortex-M内核时钟被关断之外,内核供电域的时钟也被停止了,所以在stop模
[单片机]
STM8L151 低功耗模式有什么要填的的坑
AN3147说了什么: 1..1 如何进入Wait模式 Entering Wait mode Wait mode is entered by executing the WFI or WFE assembly instruction. This stops the CPU, but other peripherals and the interrupt controller can continue to run. When entering Wait mode, the global interrupts are automatically enabled. ——执行WFI或者WFE的汇编命令以停止CPU,但外围和中断控制器
[单片机]
STM32基于固件库学习笔记(5)电源管理之低功耗模式
低功耗模式 功耗的高低,决定了系统工作的时间,在需要长久间隔时间检测数据,又不可能人实时去操作的项目,最先考虑的就是功耗问题了, 功耗越低产品使用时间就更久。也就是说当CPU不需继续运行时,就可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。 用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 STM32F10xx有三种低功耗模式: 1. 睡眠模式:(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行) 2. 停止模式: 所有的时钟都停止。 3. 待机模式: 1.8V电源关闭,是最低功耗模式 当处于运行模
[单片机]