关于STC8H2K低功耗
请问哪位有用过STC8H2K17的低功耗模式吗?文档中描述STC8H2K17U切换到STOP模式后,T11会继续工作,此时芯片的功耗依然是0.4uA @Vcc=3.3V吗?
然后又可以用T11定时中断来唤醒,是这样理解吗?T11在工作的情况下,功耗能达到这么低吗?
有款电池供电的产品对功耗要求高,特意发贴求助?
省电模式,I/O口如何设置才省电,进入主时钟停振/省电模式前 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4808&extra=page%3D1
好的,谢谢分享。 目前我们产品用的STC8H ,关机后芯片功耗和手册上的一致,加上外围电路一共30uA 一笔长空 发表于 2024-4-10 12:45
目前我们产品用的STC8H ,关机后芯片功耗和手册上的一致,加上外围电路一共30uA ...
好的好的,多谢分享。 有没有关于Timer11中断在STOP模式下唤醒的例程, 写了一个给您参考!
请先别修改程序,直接下载HEX文件测试,下载时选择主频24MHz。
本程序演示定时器11的24位预装载使用, 设置时, 可以指定定时时间(ms)或系统时钟数.
Timer11选择内部32K低速IRC时钟,睡眠后,Timer11继续计数,溢出时如果允许中断,则会唤醒MCU。
当设置不当, 将会返回错误(数值过大).
要允许T11中断和全局中断(EA=1)才能唤醒,并且必须有T11中断处理函数。睡眠电流大约2uA。
====================================================
定时器11固定为16位自动重装模式, 中断固定为低优先级,不可设置优先级.
可以允许高速时钟输出时从P1.5输出时钟信号(本例已注释掉)。
中断里从P3.3取反输出方波信号指示中断。
每次唤醒主程序从P3.4输出1~10ms的高电平来指示不同的唤醒次数。
由于睡眠后32K IRC继续运行,T11也继续工作,所以睡眠电流大约2uA。如果不用定时器唤醒,则不会启动32K IRC,睡眠电流大约0.4~0.6uA。
平常心 发表于 2026-4-13 15:50
有没有关于Timer11中断在STOP模式下唤醒的例程,
例程发在上面7楼,请测试、参考。 梁工,{:qiang:}{:qiang:} u8 Timer11_Config(u32 ReloadTime) //ReloadTime值是时间, 单位ms,不超过85000ms
{
u16 i;
P_SW2 |= 0x80; //SFR enable
Timer11_DISABLE(); //停止计数, 定时模式, 12T模式, 不输出时钟
ReloadTime = (u32)((T11_CLK * ReloadTime)/1000); //重装的是时间(单位ms, 不超过85000ms), 计算所需要的系统时钟数.
if(ReloadTime >= (65536UL * 12 *256)) return 1; //值过大, 返回错误
if(ReloadTime >= (65536UL *256)) //12T模式
{
Timer11_12T(); //12T模式
ReloadTime /= 12;
}
else Timer11_1T(); //1T模式
i = (u16)(ReloadTime >> 16); //预分频值,最大255. ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
T11PS = (u8)i; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
i++;
i = 65536UL - (u16)(ReloadTime / i);
T11 = i; //T11重装值
// Timer11_EXT_32K(); // 定时器T11时钟源为外部32K晶振
Timer11_LOW_IRC(); // 定时器T11时钟源为内部低速IRC
Timer11_AsTimer(); //定时器模式 Timer11_AsTimer(); Timer11_AsCounterP14();
// Timer11_CLKO_EnableP15(); //允许输出时钟
// P1n_standard(Pin5); //P1.5设置为准双向口
Timer11_InterruptEnable(); //允许中断
Timer11_Run(); //开始运行
return 0;
}
中间有好多子函数,怎么打不开?比如Timer11_DISABLE(); //停止计数, 定时模式, 12T模式, 不输出时钟,Timer11_12T(); //12T模式
页:
[1]