目录
一、单片机省电的核心策略
二、单片机IO口的几种模式
三、单片机的掉电运行模式
(1) 浅谈cpu运行为什么会需要时钟?
(2)STC15系列单片机内部可以配置时钟
(3)分频策略,降低功耗
(4)STC15系列单片机的省电模式
四、设置不同运行条件IO口的模式,进一步降低功耗
对于所有的单片机产品,无一例外的都需要电池的供应,虽然随着科技的日益发展,电池的容量已经越来越高,有的甚至能维持几年的工作,但是对于一般的小型干电池而言,电池的容量仍然需要我们省着利用,否则就可能让单片机每隔一段时间都需要换一次电池,所以本篇文章我们来讲讲单片机(基于STC15系列单片机)是如何省电的。
一、单片机省电的核心策略
(1)单片机产品的省电需要硬件和软件相互配合着完成
(2)硬件部分:
a.硬件设计需要考虑低功耗,就需要选择低功耗的芯片
b.硬件设计的相关电路也需要考虑低功耗设计(比如加大电阻等等)
c.和单片机相关的需要和软件工程师配合调试
(3)软件部分:
a.没有用到的IO口需要按照芯片手册来进行配置(因为STC系列的单片机内核都是一样的,只不过不同种类的芯片的引脚引出不一样罢了,但是内核芯片都是含有这些的)
b.通过配置寄存器,让单片机进入低功耗模式
c.结合硬件设计在不同情况下配置成不同的IO口模式
二、单片机IO口的几种模式
在这里我们可以看到,每一个IO口都有4种模式,而这4种模式是通过两个寄存器来配置的---PxM0和PxM1,两个寄存器的每一位都对应着IO口的相应位,一共有2*2=4种模式,依次为:准双向口;推挽输出;高阻输入;开漏模式
我们可能看到了上面的描述后仍会比较懵,下面我们来看看简化图片,尝试着理解一下
三、单片机的掉电运行模式
(1) 浅谈cpu运行为什么会需要时钟?
(2)STC15系列单片机内部可以配置时钟
传统的8051单片机的晶振是固定好的,我们不能修改其频率,最多也只能使用分频策略来改变其时钟频率,但是STC15系列的单片机给了我们这个权利,让我们自主选择时钟频率,这就给了我们更多的创造性
(3)分频策略,降低功耗
分频的操作就是将频率降低,原来一秒钟震动12次,经过12分频后一秒钟就只震动1次了,可以类比我们生物,动的频率降低了,那么消耗的能力是不是也会减少呢
(4)STC15系列单片机的省电模式
我们这里为了极大程度上的减少单片机的电流以达到省电的目的,我们会把单片机配置成掉电模式(停机模式),在停机模式下,由于内部的时钟停振,所以在main函数运行到这一句代码的时候就会关闭时钟,让程序停滞在这一行,等到外部中断上升沿或者下降沿触发唤醒的时候,继续从这一行开始执行程序,所以就极大程度的降低了功耗
(于是我们的代码就成了这样)
四、设置不同运行条件IO口的模式,进一步降低功耗
到了这里我们的所有代码就已经完成啦!