zhuls 发表于 2025-7-27 23:13:35

关于IDLE和STOP模式

电池供电设备中(STC8H1K08)
1、IDLE模式可以由MCU内部所有已开启的中断软件唤醒,进入IDLE模式后,功耗还是很高。
2、STOP模式,只能由外部硬件唤醒,此时功耗很低。

另外有些资料中还描述到,
IDLE模式唤醒后会继续之前的代码往后运行,
STOP模式唤醒后会复位MCU,回到main()

是这样的吗?



晓飛飛 发表于 2025-7-28 09:40:17

STOP模式在STC体系中叫PD模式,也叫省电模式或掉电模式,PD模式不会触发复位,会从执行STOP模式之后的语句继续进行,包括寄存器变量的值都不会变。
另外,对于STC8H1K08来说,能从PD模式唤醒的触发源不止硬件外部中断

DebugLab 发表于 2025-7-28 10:05:22

都是从进入省电模式之前的位置继续运行

zhuls 发表于 2025-7-28 10:48:14

谢谢!
我这个系统是用8H1K08-tssop20的,主要功能是模拟IIC读取RTC(RT8025T),并显示在数码管上,数码管采用动态扫描方式,0.2ms扫描一次,一次扫描一个LED,
就是说同一时刻只亮一个LED。每灯的电流约为2ma;
tim0作为LED扫描中断用、tim1做为串口1的波特率发生器。
正常工作时,测的整机电流有10ma+。
如果要省电到平均5ma或更低,要朝哪个方向发力,选择何种方式更合理?

21cnsound 发表于 2025-7-28 11:30:26

zhuls 发表于 2025-7-28 10:48
谢谢!
我这个系统是用8H1K08-tssop20的,主要功能是模拟IIC读取RTC(RT8025T),并显示在数码管上,数码管 ...

数码管耗电应该比MCU耗电多,从替换数码管做起,在考虑MCU的STOP模式

晓飛飛 发表于 2025-7-28 12:38:27

LED动态扫描的话,低功耗不好做的,能做的就是降低MCU主频,
https://www.stcaimcu.com/thread-18536-1-1.html

zhuls 发表于 2025-7-28 14:09:22

21cnsound 发表于 2025-7-28 11:30
数码管耗电应该比MCU耗电多,从替换数码管做起,在考虑MCU的STOP模式

谢谢,
在我这项目当中,就是考虑到耗电,才从位驱动改为段驱动的。。
整个扫描周期分为56个Led,0.2ms的中断,一次中断刷新一个LED。
同一时刻只点亮一只,约2mA。
我再试试。

zhuls 发表于 2025-7-28 14:15:40

晓飛飛 发表于 2025-7-28 12:38
LED动态扫描的话,低功耗不好做的,能做的就是降低MCU主频,
https://www.stcaimcu.com/thread-18536-1-1.h ...

已看了你贴子。感到降功耗有点难度。
我用的电池标称300ma,现在的情况是满电只能干活20+小时,之后就趴下了{:ciya:}
而且电池没有保护板,又是无按键外壳,深度放电后(低于2.2V)很难再充进电,3个小时才能进入正常充电(标准150ma充电)

晓飛飛 发表于 2025-7-28 14:26:38

zhuls 发表于 2025-7-28 14:09
谢谢,
在我这项目当中,就是考虑到耗电,才从位驱动改为段驱动的。。
整个扫描周期分为56个Led,0.2ms的 ...

什么样结构的LED,一次只能点一颗LED,点56颗需要56次中断吗?
如果这样的话,那亮度岂不很低?

zhuls 发表于 2025-7-28 14:58:44

晓飛飛 发表于 2025-7-28 14:26
什么样结构的LED,一次只能点一颗LED,点56颗需要56次中断吗?
如果这样的话,那亮度岂不很低? ...

是的,满屏需要56次中断。
室外勉强看得清,是有点低,但室内完全没问题。
就是这种复用的的方式:

3D打印的外壳:

一次点亮一个灯,省去限流电阻,亮度还均匀。(显示“1”和“8”完全一样)

页: [1] 2
查看完整版本: 关于IDLE和STOP模式