找回密码
 立即注册
查看: 1519|回复: 9

关于STC8H2K低功耗

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-31 20:42:44

3

主题

31

回帖

181

积分

注册会员

积分
181
发表于 2024-4-2 13:51:58 | 显示全部楼层 |阅读模式
请问哪位有用过STC8H2K17的低功耗模式吗?
文档中描述STC8H2K17U切换到STOP模式后,T11会继续工作,此时芯片的功耗依然是0.4uA @Vcc=3.3V吗?
然后又可以用T11定时中断来唤醒,是这样理解吗?T11在工作的情况下,功耗能达到这么低吗?
有款电池供电的产品对功耗要求高,特意发贴求助?
STC8H2K17U低功耗描述.png
T11描述.png
干就完了!重复做三遍!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:261
  • 最近打卡:2026-07-03 13:45:19
已绑定手机

292

主题

1000

回帖

3233

积分

超级版主

积分
3233
QQ
发表于 2024-4-2 14:40:08 | 显示全部楼层
省电模式,I/O口如何设置才省电,进入主时钟停振/省电模式前 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区  https://www.stcaimcu.com/forum.p ... &extra=page%3D1
截图202404021440065271.jpg
热线19952583534
www.STCAI.com
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-31 20:42:44

3

主题

31

回帖

181

积分

注册会员

积分
181
发表于 2024-4-10 11:46:52 | 显示全部楼层
好的,谢谢分享。
干就完了!重复做三遍!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:620
  • 最近打卡:2026-07-05 12:53:40
已绑定手机

14

主题

155

回帖

305

积分

中级会员

积分
305
发表于 2024-4-10 12:45:25 | 显示全部楼层
目前我们产品用的STC8H ,关机后芯片功耗和手册上的一致,加上外围电路一共30uA
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-31 20:42:44

3

主题

31

回帖

181

积分

注册会员

积分
181
发表于 2024-4-10 13:59:21 | 显示全部楼层
一笔*** 发表于 2024-4-10 12:45
目前我们产品用的STC8H ,关机后芯片功耗和手册上的一致,加上外围电路一共30uA ...

好的好的,多谢分享。
干就完了!重复做三遍!
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2026-06-13 16:45:25
已绑定手机

2

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2026-4-13 15:50:22 | 显示全部楼层
有没有关于Timer11中断在STOP模式下唤醒的例程,

点评

例程发在上面7楼,请测试、参考。  详情 回复 发表于 2026-4-15 16:38
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:394
  • 最近打卡:2026-07-05 12:28:34

83

主题

7893

回帖

1万

积分

超级版主

积分
16839
发表于 2026-4-15 16:37:00 | 显示全部楼层
写了一个给您参考!
请先别修改程序,直接下载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。

14G-Timer11-24位预装载定时-睡眠唤醒.rar (59.48 KB, 下载次数: 6)



回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:394
  • 最近打卡:2026-07-05 12:28:34

83

主题

7893

回帖

1万

积分

超级版主

积分
16839
发表于 2026-4-15 16:38:15 | 显示全部楼层
平*** 发表于 2026-4-13 15:50
有没有关于Timer11中断在STOP模式下唤醒的例程,

例程发在上面7楼,请测试、参考。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2026-06-13 16:45:25
已绑定手机

2

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2026-4-16 08:44:39 | 显示全部楼层
梁工,
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2026-06-13 16:45:25
已绑定手机

2

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2026-6-13 16:45:25 | 显示全部楼层
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模式
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-6 01:40 , Processed in 0.077203 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表