找回密码
 立即注册
查看: 2886|回复: 26

触摸按键唤醒,1uA/1个键/1秒唤醒,STC触摸MCU, 唤醒【主时钟停振/省电模式】

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-11-23 09:52:53 | 显示全部楼层 |阅读模式
本帖最后由 梁工 于 2024-8-5 15:26 编辑

触摸按键唤醒,演示程序见附件,1uA/1个键/1秒唤醒
===STC8H4K64TLCD触摸MCU, 唤醒【主时钟停振/省电模式
===STC8H4K64TL触摸MCU, 唤醒【主时钟停振/省电模式
===STC8H1K08T触摸MCU, 唤醒【主时钟停振/省电模式
触摸按键1秒唤醒一次, 1uA/一个键 + 2.4uA/32K振荡器需要电流,16个键<20uA
====增加1个键就是增加约1个uA
           1个键参与唤醒就是:      3.4uA = 2.4uA
/32K振荡器需要电流 + 1uA/一个键
           2个按键参与唤醒就是:【2.4uA+1uA * 2】= 4.4uA
           3个按键参与唤醒就是:
【2.4uA+1uA * 3】= 5.4uA
           4个按键参与唤醒就是:
【2.4uA+1uA * 4】= 6.4uA
           5个按键参与唤醒就是:
【2.4uA+1uA * 5】= 7.4uA
           ......
           16个按键参与唤醒就是:【2.4uA+1uA*16】= 18.4uA <=20uA

====如果2秒唤醒一次,电流再减半

STC的触摸按键是比较省电的,MCU进入睡眠后,主时钟关闭,自动启动内部的32KHz时钟,按设定的时间间隔扫描按键,
扫描结果自动比较阈值,超过阈值的键就会唤醒MCU。

MCU睡眠后,32KHz时钟启动,睡眠电流典型值2.4uA。例子为一秒检测一次按键。
如果允许检测16个按键,则每隔一秒自动检测一次所有16个触摸按键,任意一个触摸按键超过阈值均能唤醒MCU,
触摸的时间最长为1秒即可唤醒。

本例程序运行于24MHz,16键唤醒,睡眠时间967ms,睡眠电流为2.4uA左右@4V(一节锂电池),
检测触摸耗时16ms(每个按键1ms),电流1.1mA,则平均电流 = 2.4+1100*16/1000=20uA。
如果只允许一个按键,则检测一个按键时间为1ms,平均电流 = 2.4+1100*1/1000=3.5uA。

所以N个键唤醒,睡眠平均电流 = 2.4 + 1.1*N,单位uA。

STC8H系列-触摸按键相关程序.rar (299.54 KB, 下载次数: 357)





回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-11-23 10:22:00 | 显示全部楼层
STC8H系列 1T 8051中文数据手册更新
截图202311231023456912.jpg
www.stcai.com

辅助开发软件下载
截图202311231024391374.jpg
www.stcai.com/gjrj

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-05-01 09:38:35

10

主题

70

回帖

1307

积分

金牌会员

积分
1307
发表于 2023-12-9 15:14:37 | 显示全部楼层
请问楼主,你的程序中:u16 code T_KeyPress[16]={ 1300,2000,900, 800, 900,1000,1100,1400,1000,1200,900,1200,750,900,1300,1800};        //触摸后的变化值

是实际测量值吗?这个数据是每一个单片机都一样吗?

截图202312091514161218.jpg

点评

这个表格是我的样板的实际测量值。 这个值会根据你的产品很大的不同,但是相同的产品的差异性就相对较小。 实际做产品时,装好一些样机(比如10~100个),测量各个样机的值,分析其一致性和偏差,获得一个平均值,代  详情 回复 发表于 2023-12-9 15:56
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-12-9 15:56:26 | 显示全部楼层
hhh*** 发表于 2023-12-9 15:14
请问楼主,你的程序中:u16 code T_KeyPress[16]={ 1300,2000,900, 800, 900,1000,1100,1400,1000,1200,900 ...

这个表格是我的样板的实际测量值。
这个值会根据你的产品很大的不同,但是相同的产品的差异性就相对较小。
实际做产品时,装好一些样机(比如10~100个),测量各个样机的值,分析其一致性和偏差,获得一个平均值,代表整批产品的值。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-05-01 09:38:35

10

主题

70

回帖

1307

积分

金牌会员

积分
1307
发表于 2023-12-9 16:27:54 | 显示全部楼层
谢谢梁工,根据偏差值占5%左右计算,按键未按下时数值大概20000左右吧,加上电容放电5000周期,24M主频,时间=(20000+5000)/24M=1042us,也就是说扫描一个按键大概需要1ms,对吗?

点评

扫键时间是初始化时设置的,跟读数没有直接关系。  详情 回复 发表于 2023-12-9 17:45
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-12-9 17:45:17 | 显示全部楼层
hhh*** 发表于 2023-12-9 16:27
谢谢梁工,根据偏差值占5%左右计算,按键未按下时数值大概20000左右吧,加上电容放电5000周期,24M主频,时 ...

扫键时间是初始化时设置的,跟读数没有直接关系。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-05-01 09:38:35

10

主题

70

回帖

1307

积分

金牌会员

积分
1307
发表于 2023-12-9 18:05:28 | 显示全部楼层
请问梁工按照你的程序的设置,扫描一个触摸按键需要多少时间,怎么设置可以快一点?

点评

我设置的是1ms,不要设置太快,1m是很合适的时间。  详情 回复 发表于 2023-12-10 00:16
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-12-10 00:16:29 | 显示全部楼层
hhh*** 发表于 2023-12-9 18:05
请问梁工按照你的程序的设置,扫描一个触摸按键需要多少时间,怎么设置可以快一点? ...

我设置的是1ms,不要设置太快,1m是很合适的时间。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-05-07 00:09:51

0

主题

43

回帖

144

积分

注册会员

积分
144
发表于 2023-12-12 10:19:42 来自手机 | 显示全部楼层
👍
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:287
  • 最近打卡:2025-03-27 14:28:57

24

主题

79

回帖

243

积分

中级会员

积分
243
发表于 2023-12-16 08:27:07 | 显示全部楼层
梁工,您好,这里1秒的扫描时间在实际产品开发中可能太久了点,就我个人开发的经验,产品进入省电后,一般长按1S或1.5S或3S等时间开机唤醒,如果刚好在扫描的时候按下,计时准确,如果刚好在扫描完后按下,则计时误差较大(要等待下个扫描时间1S),如果是短按唤醒,则误差更大,客户会不接收。
如果把扫描时间改短,比如100MS,那么误差会变小,如果是短按唤醒的话扫描时间要更短。这样的话耗电会变大。
所以这里还是要看看怎么优化的,把扫描时间1MS降低(通过设置充放电时间,参考电压?)

点评

看不懂你的描述:“1秒的扫描时间在实际产品开发中可能太久了点,就我个人开发的经验,产品进入省电后,一般长按1S或1.5S或3S等时间开机唤醒”。 这个说法不矛盾吗? 我1秒唤醒你都觉得久了点,但又说你是1,5秒或3秒  详情 回复 发表于 2023-12-16 17:34
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:23 , Processed in 0.169252 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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