|
最近闲来无事。浏览了一下stc8单片机的选型表,发现这个系列的芯片有不少特殊功能,其中就有我想玩的触摸按键功能。于是就想买来芯片体验一下。毕竟对新人来讲,仅靠看技术手册和现成的例程,心里还是感觉没底。
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官方技术手册推荐的数值。芯片焊接时采用了电子显微镜,焊接位置偏差大幅减小,触摸键懒得做了。直接用了一排针代替,缺点是相邻针靠的有点近。会有干扰,实用时不能这样玩。
|
评分
-
查看全部评分
|