打印
[技术问答]

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

[复制链接]
40|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、低功耗问题



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



第一次写,有什么不当的,希望大家指出!!
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/chenyuanlidejiyi/article/details/103586306

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

44

帖子

0

粉丝