找回密码
 立即注册
查看: 544|回复: 2

触摸按键测试例程分享——基于STC8H4K64TL-TSSOP20的触摸功能

[复制链接]
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    611

    积分

    高级会员

    积分
    611
    发表于 2023-6-23 09:21:57 | 显示全部楼层 |阅读模式
      最近闲来无事。浏览了一下STC8H的选型表,发现这个系列的芯片有不少特殊功能,其中就有我想玩的触摸按键功能。于是就买来芯片体验一下。毕竟对新人来讲,仅靠看技术手册和现成的例程,心里还是感觉没底。
          stc官方提供了这个功能的强大的应用例程,它是触摸按键和数码管的综合应用,我还没学到数码管,所以实验时就把程序修改了一上。用TFT屏做为输出,显示按键的结果,感觉程序更简单,也更容易移植,TFT屏还可以显示程序运行过程中的任意想显示的变量,方便对程序的理解和调试。
      程序仍然采用模块化编程,显示屏驱动采用旧的程序模块直接挂上来使用,主要做了触摸功能的程序模块,内含触摸功能初始化,触摸键检测,触摸中断服务及少量辅助函数。程序的构架尽量采用了stc官方例程的内容,尤其是核心算法方面。完全复制了stc官方例程的内容。修改的内容主要是为了与数码管功能脱钩。(同时适应tssop20这个引脚校少的芯片。)方便挂接其它应用程序。程序的功能就是在接触一个按键后。显示屏上显示出相应按键对就的端口数值。下面是主程序,完整程序还是放在附件里了。
    #include "mcu_initial.h"
    #include "tft089_driver.h"
    #include "touch_drv.h"
    #include "stdio.h"
    #include "intrins.h"

    void main(void)
    {
    mcu_initial();
    lcd_initial();//1.8吋屏初始化
    //TFT089_init() ;        
    TFT_clear();
    digit6_display(0,0,222);//随便显示一个数字表示屏初始化成功
    touch_initial();//触摸功能初始化
    while (1)
            {

            check_touch();//检查触摸键

            }
    }
    附图能看到实物结构,基本就是最小系统,触摸参考电容和限流电阻直接使用了stc官方技术手册推荐的数值。芯片焊接时采用了电子显微镜,焊接位置偏差大幅减小,触摸键懒得做了。直接用了一排针代替,缺点是相邻针靠的有点近。会有干扰,实用时不能这样玩。

    触摸1.jpg
    触摸2.jpg

    touch_test.zip

    246.43 KB, 下载次数: 63

    回复 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9436

    回帖

    1万

    积分

    管理员

    积分
    14021
    发表于 2023-6-23 09:55:12 | 显示全部楼层
    感谢分享节日快乐
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    10

    主题

    41

    回帖

    420

    积分

    中级会员

    积分
    420
    发表于 2023-6-23 10:20:53 | 显示全部楼层
    下来学习学习,谢谢。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-15 09:26 , Processed in 0.072042 second(s), 39 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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