找回密码
 立即注册
查看: 2725|回复: 11

求助:触摸按键

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-08-17 16:41:35

16

主题

25

回帖

270

积分

中级会员

积分
270
发表于 2022-12-31 17:10:18 | 显示全部楼层 |阅读模式
本帖最后由 吽吽吽 于 2022-12-31 17:54 编辑

芯片:STC8H4K64TLCD

问题:触摸按键TSDAT数据无变化
部分程序如下(将TSDAT数据通过串口1发送,串口发送程序未贴出):

//--------------------触摸设置--------------------------------------
TSCFG1=0x07;              //触摸按键内部电容工作频率,13/2=6MHz 放电时间7500个系统时钟
TSCFG2=0x03;              //触摸按键内部参考电压,参考电压3/4ACC 即3.75V
TSWUTC=255;      //低压触摸唤醒频率。大于扫描时间。
TSRT=0x00;        //关闭LED分时复用



void TK_GO()
{
EA=0;
TSCHEN1=0x01; //TK0触摸
        
TSCTRL=0xe0;     //1110 0000  7:触摸开始扫描 6:单次扫描(完成后7置0) 5:扫描完成中断标志置1
while(TSIF==0)  {TSIF=TSSTA2;TSIF=TSIF>>7;        }    //TSIF变1,扫描完成  否则等待扫描完成
AURT_1(0X01);        //数据标志:01 后的数据是高位
AURT_1(TSDATH);   //高位数据通过串口1发送
AURT_1(0X02);       //数据标志:02后的数据是低位。
AURT_1(TSDATL);   //低位数据通过串口1发送

EA=1;        
}


触摸数据.jpg
是否触摸数据都无变化
求助:我应该如何调整,是调整电容工作频率还是放电时间,或者调整参考电压,还是换TK_CAP电容,ESD保护电阻?谢谢


原理图 123.png
实物:
3.jpg 2.jpg
回复

使用道具 举报 送花

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

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2022-12-31 17:16:47 | 显示全部楼层
你上你原理图的PDF ,等我们研发上班后 回答,另外TK的程序可以参考
https://www.stcaimcu.com/forum.p ... &extra=page%3D1
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-08-17 16:41:35

16

主题

25

回帖

270

积分

中级会员

积分
270
发表于 2022-12-31 19:59:52 | 显示全部楼层
神*** 发表于 2022-12-31 17:16
你上你原理图的PDF ,等我们研发上班后 回答,另外TK的程序可以参考
https://www.stcaimcu.com/forum.php?m ...

谢谢 原理图,实物图已上,另把PCB取下来,弹簧不接触玻璃屏,低位值由10变成了3D,但是触摸弹簧值也不会变。
  • 打卡等级:以坛为家II
  • 打卡总天数:440
  • 最近打卡:2025-05-01 08:46:19

45

主题

176

回帖

1721

积分

金牌会员

积分
1721
发表于 2022-12-31 20:51:02 | 显示全部楼层
不知道你操作那些寄存器是是否加了这句:P_SW2 |= 0x80;//允许访问XSF,或者使用新版STC8H.h时也可以加入这句:EAXSFR():另外建议以官网例程为蓝本改编会比较容易实现的,再有就是根据数据手册给出的接线图我感觉这个触摸按键应该不是隔着玻璃的那种,我测试时是触摸焊盘的方式实现的。
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-08-17 16:41:35

16

主题

25

回帖

270

积分

中级会员

积分
270
发表于 2023-1-1 01:00:26 | 显示全部楼层
乐此*** 发表于 2022-12-31 20:51
不知道你操作那些寄存器是是否加了这句:P_SW2 |= 0x80;//允许访问XSF,或者使用新版STC8H.h时也可以加入这 ...

谢谢,找到问题了,原因是未将触摸扫描中断标志位清0,TSIF未写1,增加TSSTA2|=0X80;问题解决了。
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-08-17 16:41:35

16

主题

25

回帖

270

积分

中级会员

积分
270
发表于 2023-1-1 01:00:52 | 显示全部楼层
神*** 发表于 2022-12-31 17:16
你上你原理图的PDF ,等我们研发上班后 回答,另外TK的程序可以参考
https://www.stcaimcu.com/forum.php?m ...

谢谢,找到问题了,原因是未将触摸扫描中断标志位清0,TSIF未写1,增加TSSTA2|=0X80;问题解决了。
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-1-1 08:58:04 | 显示全部楼层
恭喜,新年大吉啊!!!
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-1-1 09:00:53 | 显示全部楼层
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-08-17 16:41:35

16

主题

25

回帖

270

积分

中级会员

积分
270
发表于 2023-1-1 23:11:42 | 显示全部楼层
乐此*** 发表于 2022-12-31 20:51
不知道你操作那些寄存器是是否加了这句:P_SW2 |= 0x80;//允许访问XSF,或者使用新版STC8H.h时也可以加入这 ...

隔着玻璃没问题,不过隔着玻璃 触摸TSDAT数据比不触摸只少300,直接触摸焊盘,数据能差到2000 在调整,增大这个触摸数据差
  • 打卡等级:以坛为家II
  • 打卡总天数:440
  • 最近打卡:2025-05-01 08:46:19

45

主题

176

回帖

1721

积分

金牌会员

积分
1721
发表于 2023-1-2 18:44:04 | 显示全部楼层
本帖最后由 乐此不疲 于 2023-1-2 18:47 编辑
吽*** 发表于 2023-1-1 23:11
隔着玻璃没问题,不过隔着玻璃 触摸TSDAT数据比不触摸只少300,直接触摸焊盘,数据能差到2000 在调整,增 ...

我玩了一段时间后撂下了,芯片单独做按键来用没有问题,我没有用好它的中断控制功能所以没能解决按键扫描和其他功能函数的分时问题,与传统I/O口独立按键相比,独立按键的代码简单少量键盘实时扫描并不影响其他函数的执行,而这个触摸则不同扫描键盘时会引起LCD屏的显示停顿,我没玩明白。
再有就是这个触摸按键的应用资料中有一个配置软件,我没能用起来这个软件,配置完成后总是无法获取返回数据,不知道你是否用到了这个软件。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-2 02:34 , Processed in 0.120874 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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