关于PIC单片机18系列超低功耗软件编程的关键点

最近做了个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
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值