关于PIC单片机18系列超低功耗软件编程的关键点
2015-04-06 18:45
363 查看
最近做了个PIC超低功耗的项目,对功耗要求非常高。之前也看到网上一些文章,写得很好,但实现测试下来还是不行的。
这里总结一下,给同行分享一下,软件编程上要注意以下几点,
1,不用的模块要关闭
这里的模块,不光是enable位,而是PMD
2,不用的IO口要置成输出
这里和网上其它文章说的输入不一样,实测下来我这边是输出待机电流更低
3,内部稳压一定要关闭
这里千万要注意:一定要选择通过"controlled by REGSLP bit",否则单片机SLEEP后就死了,再也不能烧写了,这点不能让人理解,但实际测试确实如此
具体做法:
(1)
(2) WDTCONbits.REGSLP = 1;
最后分享一下我进入SLEEP之间的操作,仅作参考:
PMD0 = 0XFF;
PMD1 = 0XFF;
PMD2 = 0XFF;
TRISA = 0;//xff;
TRISB = 0;//xff;
TRISC = 0;//xff;
PORTA = 0;
PORTB = 0x28;
PORTC = 0;
POWER_RF_PIN = 1;
AD_PRESS_CTRL_PIN = 1;
LED_RED_PIN = 1;
LED_BLUE_PIN = 1;
WDTCONbits.SWDTEN = 1;
IDLEN = 0;
WDTCONbits.REGSLP = 1;
这里总结一下,给同行分享一下,软件编程上要注意以下几点,
1,不用的模块要关闭
这里的模块,不光是enable位,而是PMD
2,不用的IO口要置成输出
这里和网上其它文章说的输入不一样,实测下来我这边是输出待机电流更低
3,内部稳压一定要关闭
这里千万要注意:一定要选择通过"controlled by REGSLP bit",否则单片机SLEEP后就死了,再也不能烧写了,这点不能让人理解,但实际测试确实如此
具体做法:
(1)
(2) WDTCONbits.REGSLP = 1;
最后分享一下我进入SLEEP之间的操作,仅作参考:
PMD0 = 0XFF;
PMD1 = 0XFF;
PMD2 = 0XFF;
TRISA = 0;//xff;
TRISB = 0;//xff;
TRISC = 0;//xff;
PORTA = 0;
PORTB = 0x28;
PORTC = 0;
POWER_RF_PIN = 1;
AD_PRESS_CTRL_PIN = 1;
LED_RED_PIN = 1;
LED_BLUE_PIN = 1;
WDTCONbits.SWDTEN = 1;
IDLEN = 0;
WDTCONbits.REGSLP = 1;
相关文章推荐
- 【软件测试自动化-QTP系列讲座 22】 == 描述性编程 ==
- 关于图形编辑软件undo与redo的编程实现(用c++builder或delphi如何编程 ??)
- 关于Win8 RP中不能安装VS2012系列软件的解决方案
- 关于程序员的59条搞笑但却真实无比的编程语录_技术/软件
- Intel并行编程及软件工具系列讲座观看指南
- 要学习WinForm编程,关于软件自动升级的部分
- 关于winsock中网络编程事件模型和窗口消息模型中FD_WRITE的理解与数据的发送需要注意的关键点
- 关于如何破解viemu系列软件
- 关于图形化编程软件sikuli 初学者使用时可能容易出现的一些问题
- 关于软件编程技术方面的一点构建
- 关于编程的对话《Solmyr 的小品文系列》
- 项目管理系列文章——关于软件工程在软件整个生命周期的位置
- 项目管理系列文章——关于软件工程在软件整个生命周期的位置
- win8 关于Adobe CS6系列软件Patch覆盖失败的问题(Photoshop CS6、Adobe Illustrator CS6、Adobe Fireworks CS6)
- 关于软件大赛的几个编程题!
- API8108A API8208A 一次性编程语音系列 下载软件
- 三菱FX系列plc编程软件SWOPC-FXGP/WIN-C中文版下载
- 关于编程的对话《Solmyr 的小品文系列》
- 用 vs2010等系列软件编程如何在当前的文件中include其它文件夹中的头文件
- 我给女朋友讲编程网络系列(4)—颜色值及如何获取颜色值和下载软件小技巧