.1电阻式触摸屏的分类与工作原理1.2STR7501.3TSC20031.4触摸屏与单片机的接口分类2触摸屏与STR750的接口2.1利用STR750自带A/D转换2.2利用专用触摸屏芯片3总结千锋嵌入式学院最专业的嵌入式培训机构触摸屏技术经过十几年的发展已经成为一种方便、经济的人机界面输入手段,广泛应用于手机、掌上电脑、车载设备及银行ATM等领域。根据工作原理的不同,触摸屏可以分为电阻式、红外式、电容式和声表面波式4种类型,其中应用最为广泛的是电阻式触摸屏。本文讨论2种电阻式触摸屏的接口设计,分别为触摸屏与armSTR750直接连接及其通过专用触摸屏检测器件连接。千锋嵌入式学院最专业的嵌入式培训机构1.1电阻式触摸屏的分类与工作原理电阻式触摸屏分为四线与五线2种形式。其中四线电阻式触摸屏由于造价低廉和便于实现,在工业和掌上设备中得到了广泛的使用。电阻式触摸屏的本质是电阻分压器,触摸屏由2层被绝缘层隔开的电阻层构成。当有触摸动作按下时,2层电阻层因形变达到电气连接,从而通过A/D检测2层电阻层间的电压值来确定触摸点的位置。千锋嵌入式学院最专业的嵌入式培训机构STR750是意法半导体公司生产的基于arm7TDMI—S的32位RISCCPU。STR750最高主频可达60MHz,具有16KBRAM,最大片内Flash为256KB,最大支持64MB扩展F1ash。通用I/O(GPIO)支持模拟输入、输入上拉、输入下拉、输入悬浮、推挽输出、开漏输入、推挽复用和开漏复用8种配置模式。模数转换器(ADC)共有16个通道,支持10位A/D采样。千锋嵌入式学院最专业的嵌入式培训机构TSC2003是TI公司生产的采用TSSOP一16封装的四线电阻式触摸屏控制芯片,集成了多个功能模块,具有测量电量、片上温度和触摸压力等功能,通过I2C总线与单片机连接。TSC2003是一款基于命令控制的触摸屏检测器件,通过I2C总线发送控制命令来控制芯片采集X轴、Y轴和Z轴的压力等相关量。千锋嵌入式学院最专业的嵌入式培训机构触摸屏与单片机的接口有利用专用触摸屏检测芯片和利用单片机自身A/D转换来检测触摸屏位置这两种方式。利用专用触摸屏检测芯片检测触摸屏位置时,单片机与专用芯片通过总线进行通信,接口的外围电路简单,受外界干扰小,精度较高,但专用芯片的使用增加了成本。利用单片机自身的A/D转换检测时,单片机直接连接触摸屏进行A/D检测,接口的外围电路较复杂,受外界干扰大,精度较差,但成本较低。千锋嵌入式学院最专业的嵌入式培训机构2.1利用STR750自带A/D转换STR750可以通过自身推挽输出,在触摸屏的X轴和Y轴上施加电压。当输出电压施加在X轴上时,利用STR750A/D采样Y+轴的电压来获取Y轴的坐标值;当输出电压施加在Y轴上时,A/D采样X+轴的电压来获取X轴的坐标值。STR750的P0.01引脚通过电阻R1连接X+。当需要在X轴上施加电压时,PO.01引脚输出+5V电压。PO.02引脚为STR750ADC通道O,直接连接X+。当在Y轴上施加电压时,通过PO.02读取X轴坐标。P1.12引脚连接在X一上,当需要在X轴上施加电压时接地。STR750的P1.13引脚通过电阻R2连接Y+,当需要在Y轴上施加电压时,P1.13引脚输出+5V电压。P1.04引脚为STR750ADC通道9,直接连接Y+。当在X轴上施加电压时,通过P1.04读取Y轴坐标。P1.14引脚连接在Y一上,当需要在Y轴上施加电压时接地。触摸屏与STR750的连接如图1所示。千锋嵌入式学院最专业的嵌入式培训机构系统开始运行后,将P0.01和P1.12配置为推挽输出低电平(即令X+和X一两个端口接地),P0.02配置为模拟输入,P1.13配置为输入上拉保持高电平并检测外部触摸动作,P1.14配置为输入悬浮并保持悬浮态(即在Y+上施加5V电压),P1.04配置为模拟输入。如果系统采用中断方式检测触摸屏按下,则需将P1.13配置为外部下降沿触发中断,那么系统开始运行后,如果有触摸动作,Y+上的电压通过X+和X一连接到地,从而触发P1.13引脚的外部下降沿中断。外部下降沿触发中断后,系统经过一段时间的消抖操作,开始检测X轴坐标。此时,将P0.01引脚配置为推挽输出高电平,在X+上施加电压,并将P1.13引脚配置为输入悬浮,去除在Y+上施加的电压。通过对P1.04引脚A/D采样,读取当前触摸点的X轴坐标。读取完成后,将P0.01和P1.12引脚配置为输入悬浮,去除X轴方向的施加电压,并将P1.13配置为推挽输出高电平千锋嵌入式学院最专业的嵌入式培训机构P1.14配置为推挽输出低电平,即在Y轴方向上施加电压。通过对PO.02引脚进行A/D采样,读取到当前触摸点的Y轴坐标。这样,就完成了一次对当前触摸点的坐标轴采样过程。循环读取坐标轴数值,通过计算平均值及剔除野值得到触摸屏坐标值。输出坐标值后,将每个引脚的状态配置为初始状态,等待下一次中断的发生。这里需要注意的是,在变换X轴和Y轴方向上的电压时,需要在变换电压方向后加入一段延时,等待电压稳定,使A/D变换后读取到的值逼近真实值。通过STR750的引脚配置变换来读取X轴和Y轴坐标值的方法具有结构简单、易实现、成本低等优势,可用于一般的手指触摸界面。如果需要高精度的手写操作,或者触摸屏与STR750之间有较长的电缆连接,这时就需要用到专门的触摸屏检测芯片。千锋嵌入式学院最专业的嵌入式培训机构TSC2003的参考连接如图2所示。千锋嵌入式学院最专业的嵌入式培训机构STR750向TSC2003发送控制字节来控制TSC2003的操作。其中d7~d4是配置位,用来配置当前TSC2003的操作类型;d3~d2是节能位,用来配置是否打开内部参考电压和ADC;d1为精度控制位,用来选择12位采样精度或8位采样精度;d0位为保留位。TSC2003控制命令格式如下:千锋嵌入式学院最专业的嵌入式培训机构TSC2003上电后,由STR750通过I2C总线向TSC2003发送控制命令,其中配置位为“测量X轴坐标”,发送该控制命令使TSC2003进入等待状态。当TSC2003检测到有触摸按下事件,会在IRQ引脚产生下降沿电平,从而触发STR750的下降沿中断。进入中断后,经过消抖延时,STR750向TSC2003发送控制命令,配置位为“测量X轴坐标”。通过读取TSC2003状态获取X轴坐标值。下一步,STR750向TSC2003发送控制命令,配置位为“测量y轴坐标”,通过读取TSC2003状态获取Y轴坐标值。至此,完成一次读取X轴和Y轴坐标的操作。这样读取若干次坐标轴,通过计算平均值和剔除野值得到触摸屏坐标值。整个过程中控制命令的节能位和精度控制位分别始终保持为“在2次转换间节能”和“12位采样精度”。这里需要注意的是,在发送控制命令读取坐标轴的2次操作之间需要一段延时以获得比较准确的A/D采样值,一般至少延时10μs。千锋嵌入式学院最专业的嵌入式培训机构本文针对四线式触摸屏与单片机间2种形式的接口进行了讨论,这2种方案均达到了很好的实际使用效果。不同的设计思路适用于不同的应用领域,以达到节约成本、降低功耗和提供满足需求的触摸屏检测精度等目的。