PIC单片机之探讨低功耗
许多人说PIC单片机一大的优势就是低功耗,那我们就来讨论,讨论低功耗的实现。
1,睡眠(sleep)
睡眠方式是我们最常用的一种方式来降低功耗,但睡眠期间单片机不能做任何的事情。对于那些没事情就睡着,有事情就做一下的情况睡眠无疑是功耗最低的处理方式。
比如:
睡眠+ I/O电平变化中断唤醒当按键没按下时,单片机睡眠,当按键按下后,执行相应的工作。
睡眠+数据接收中断唤醒这样单片机就可以再没有接收到数据时候进入睡眠状态,接收到数据的时候就唤醒然后处理数据。当然首先单片机要有相关的外设比如SPI ,I2C,USART,等这些支持这些通讯的模块。
睡眠+看门狗唤醒这个可以用在需要定时唤醒做事情的场合
2,降低时钟频率
如果即想功耗低,又想单片机在能低功耗的情况下工作。这无疑是个最好的选择。
PIC单片机 比如PIC16F1823 /1829可以选择从32MHz到31KHz的内部时钟频率,我们通常可以将单片机设置在 4MHz 以上的频率下工作,如果需要单片机降低功耗的时候可以降低频率比如在31KHz的频率下工作。
虽然PIC16F1823数据手册中写到,单片机在睡眠电流只有只纳安,在31KHz的电流有几微安。但事实纳安只是个幻想。在项目一个中我使用降频得到的最低功耗是50微安左右,采用睡眠也是50微安。因为在如此低的频率下,功耗主要是流失在I/O口上了。
3,电流大户
单片机工作时钟频率,要降低功耗首先要不就睡眠(关掉时钟),要么就降低频率。
最耗电流的模块 就数ADC模块,其实模块的耗电和他比起来就是小巫见大巫。所以要低功耗ADC模块绝对不能开。
还有个用电大户就是I/O口,I/O要不上拉,要不下拉,不能悬空,除此之外还有其他因素,比如I/0口的输入输出状态,比如和其它芯片连接要串个电阻。
扩展阅读:PIC单片机的定时器精准计时的计算
编辑:admin 最后修改时间:2018-05-19