单片机
返回首页

N76E003低功耗模式(+中断唤醒)

2022-07-11 来源:csdn

一、低功耗问题

在这里插入图片描述

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;// 进入掉电模式

}

}

}


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 用数字电路CD4069制作的万能遥控轻触开关

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

    相关电子头条文章