这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » PIC单片机的功耗管理

共5条 1/1 1 跳转至

PIC单片机的功耗管理

助工
2014-10-05 22:15:13     打赏


PIC单片机在执行SLEEP指令后进入睡眠省电模式。进入SLEEP模式后,主振荡停止,如果看门狗在烧写时打开了,看门狗定时器将被清并保持运行。I/O口,周边模块和内部RAM将保持原来状态,所以如果要求睡眠后有很低功耗,应该在进入SLEEP前把IO口置为高阻抗的输入状态,不用的模块也要关闭。另有些周边模块与主时钟有关,如在异步模式下的USART,将不工作。


唤醒SLEEP的条件有很多,如IO口电平变化,AD转换结束,外部复位、看门狗溢出等,具体请参考数据手册。


当执行SLEEP指令时,PC+1的指令被预取指,当器件被一个中断条件唤醒时(这个中断的应是已使能的),如果GIE(全局中断使能位)为0,器件将继续执行SLEEP指令下面的指令。如果GIE为1,器件将执行已预取的PC+1指令后跳到0004H的中断入口。所以建议SLEEP后面紧跟着的一条指令最好是个NOP。


外部手动复位MCLR将唤醒器件并RESET,表示状态的标志位含义详见数据手册。


看门狗定时器在SLEEP下溢出将唤醒器件,然后执行SLEEP下面的指令,也有标志位指示状态。


进入SLEEP后,主振荡停振,和主振荡相关的模块都会停止工作,A/D .液晶驱动。看门狗等模块还是要在SLEEP指令执行之前关闭的。这样功耗才会最低。


关于I.O口。在16C926的DATA SHEET里,还是说到了一些。我的理解是,所有的I/O口,都有确定的接VDD或者VSS,而不能悬空。进入SLEEP前,所有的I/O应该置为输入口。接上拉或下拉。


对于PORTB口有内部上拉功能的应该选择不上拉。


高工
2021-02-23 17:43:05     打赏
2楼

谢谢分享


高工
2021-02-24 15:02:26     打赏
3楼


助工
2021-02-26 09:46:37     打赏
4楼

其他单片机也是如此吗?


工程师
2021-03-01 22:48:25     打赏
5楼

感谢分享


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]