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

2019-04-15 11:45发布

最近做了个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;