目录
本次实验我们讲解的是有关触摸屏的知识,原理是和我们的手机是一样的,采用电容型的方式,可以实现在显示屏上多点触摸并且划线。但是因为触摸芯片坏了,所以实验展示无法展示,等以后补上。
无
触摸屏(touch screen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应装置。作为一种新型的电脑输入设备,可以用来取代传统的机械按键等输入设备。它时目前最简单、方便、自然的一种人机交互方式。主要应用于公共信息的查询、领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。 触摸屏本质上是与液晶分离的。触摸屏负责的是检测触摸点,液晶屏负责的是显示,要区别开来。
表面电容式
表面电容式触摸屏技术是利用 ITO(铟锡氧化物,是一种透明的导电材料)导电膜,通过电场感应方式感测屏幕表面的触摸行为进行。但是表面电容式触摸屏有一些局限性,它只能识别一个手指或者一次触摸。
投射式
投射电容式触摸屏是传感器利用触摸屏电极发射出静电场线。一般用于投射电容传感技术的电容类型有两种:自我电容和交互电容。 自我电容又称绝对电容,是最广为采用的一种方法,自我电容通常是指扫描电极与地构成的电容。在玻璃表面有用 ITO 制成的横向与纵向的扫描电极,这些电极和地之间就构成一个电容的两极。当用手或触摸笔触摸的时候就会并联一个电容到电路中去,从而使在该条扫描线上的总体的电容量有所改变。在扫描的时候,控制 IC 依次扫描纵向和横向电极,并根据扫描前后的电容变化来确定触摸点坐标位置。笔记本电脑触摸输入板就是采用的这种方式,笔记本电脑的输入板采用 X*Y 的传感电极阵列形成一个传感格子,当手指靠近触摸输入板时,在手指和传感电极之间产生一个小量电荷。采用特定的运算法则处理来自行、列传感器的信号来确定手指的位置。 交互电容又叫做跨越电容,它是在玻璃表面的横向和纵向的 ITO 电极的交叉处形成电容。 交互电容的扫描方式就是扫描每个交叉处的电容变化,来判定触摸点的位置。当触摸的时候就会影响到相邻电极的耦合,从而改变交叉处的电容量,交互电容的扫面方法可以侦测到每个交叉点的电容值和触摸后电容变化,因而它需要的扫描时间与自我电容的扫描方式相比要长一些, 需要扫描检测 X*Y 根电极。目前智能手机/平板电脑等的触摸屏,都是采用交互电容技术。

GT9147 与 MCU 连接是通过 4 根线:SDA、SCL、RST 和 INT。不过,GT9147 的 IIC 地址,可以是 0X14 或者 0X5D,当复位结束后的 5ms 内,如果 INT 是高电平,则使用 0X14 作为地址,否则使用 0X5D 作为地址,本章我们使用 0X14 作为器件地址(不含最低位,换算成读写命令则是读: 0X29,写:0X28),接下来,介绍一下 GT9147 的几个重要的寄存器。
该寄存器可以写入不同值,实现不同的控制,我们一般使用 0 和 2 这两个值,写入 2,即可软复位 GT9147,在硬复位之后,一般要往该寄存器写 2,实行软复位。然后,写入 0,即可 正常读取坐标数据(并且会结束软复位)
这里共 186 个寄存器,用于配置 GT9147 的各个参数,这些配置一般由厂家提供给我们(一个数组),所以我们只需要将厂家给我们的配置,写入到这些寄存器里面,即可完成 GT9147 的配置。
这里总共由 4 个寄存器组成,用于保存产品 ID,对于 GT9147,这 4 个寄存器读出来就是:9,1,4,7 四个字符(ASCII 码格式)。因此,我们可以通过这 4 个寄存器的值,来判断驱动 IC 的型号,从而判断是 OTT2001A 还是 GT9147,以便执行不同的初始化。

这里,我们仅关心最高位和最低 4 位,最高位用于表示 buffer 状态,如果有数据(坐标/ 按键),buffer 就会是 1,最低 4 位用于表示有效触点的个数,范围是:0~5,0,表示没有触摸, 5 表示有 5 点触摸。这和前面 OTT2001A 的表示方法稍微有点区别,OTT2001A 是每个位表示 一个触点,这里是有多少有效触点值就是多少。最后,该寄存器在每次读取后,如果 bit7 有效, 则必须写 0,清除这个位,否则不会输出下一次数据!

我们一般只用到触点的 x,y 坐标,所以只需要读取 0X8150~0X8153 的数据,组合即可得到触点坐标。其他 4 组分别是:0X8158、0X8160、0X8168 和 0X8170 等开头的 16 个寄存器组成,分别针对触点 2~4 的坐标。同样 GT9147 也支持寄存器地址自增,我们只需要发送寄存器组的首地址,然后连续读取即可,GT9147 会自动地址自增,从而提高读取速度。

代码部分过多,就不展示了。
学习到了新的知识点,感觉还不错。