STC8单片机的低功耗详解

2019-04-15 18:46发布

STC8单片机是STC公司最新推出的单片机特点个人感觉就是价格低!!!!

这里写图片描述
上图是我采用的型号:STC8F2K08S2
我们开发产品要求如下:
1.两节1号电池供电半年。
2.红外发送接收数据。(上位机发送指令和读取数据)
3.自带时间。
4.eeprom,掉电保存数据。
5.成本低
在这个项目中,主要问题是成本和功耗。
之前采用的是STM8L系列功耗的确很低,但是今年价格飞涨,实在伤不起,因此采用STC单片机。
以下是实测情况

STCF2K08S2直接运行程序电流大约20ma。

_nop_(); _nop_();VOCTRL=0X00;PCON=0x01;_nop_();_nop_();//激活一次空闲模式 p3_1=1;p3_1=0//运行一次才能进入,不知道为什么,不运行根本进不了空闲模式 (疑惑一)

如果运行一次空闲模式 电流会下降到1ma。

然后外部中断退出空闲模式后电流升高到4ma。之后就算不进入空闲模式,电流一直在4ma。很疑惑。。。。很疑惑。。。(疑惑二) 但是功耗还是太大,1号电池只能用80天左右。
空闲模式唤醒方式主要是 一切中断,在此期间外设全部打开,仅仅是CPU停止工作。
功耗与主频成正比。因此给主时钟分频也可以降低功耗
这里写图片描述
STC8一切时钟靠的就是这三个寄存器完成IRC频率调整
也就是说烧录器选择晶振频率靠的就是这三个寄存器,单片机默认选择的是24MHZ的频段,因此进行分频是对24MHZ进行分频,而不是你选择的频率比如:
这里写图片描述
可以看到选择的频率是6MHZ,也就是说软件已经帮你进行了4分频,24MHZ÷4=6MHZ。如果你对寄存器进行更低分频是基于24MHZ进行分频。
这里写图片描述
分频代码: