还剩2页未读,继续阅读
文本内容:
基于C8051F020和TSC2046的触摸屏电路及程序设计2010-06-0315:18目前触摸屏和液晶屏已成为嵌入式计算机系统常用的输入输出设备触摸屏分为电阻、电容、表面声波、红外线扫描和矢量压力传感式触摸屏,其中使用最多的是四线或五线电阻式触摸屏TSC2046为四线电阻式触摸屏控制器,以其低功耗和高速率等特性广泛应用于电池供电的小型手持设备C8051Fxxx系列单片机是完全集成的混合信号系统级器件,峰值速率达25MI/s片内集成ADC和DAC;SMBus/I2C、UART、SPI接口;可编程计数器/定时器阵列;64个I/O端口PO~P7;内部具有JTAG和调试电路,支持在系统调试本文介绍了利用该系列单片机C8051F
020、TSC2046和液晶屏实现人机互动接口2触摸屏工作原理触摸屏控制器相当于触摸屏体与微控制器间的接口触摸屏体是一个4层的复合薄膜,附着在显示器表面与显示器配合使用图1为触摸屏外部结构每一导电层为触摸屏的一个工作面,每个工作面的两端各涂一条银胶,称为该工作面的一对儿电极,分别称为X电极对和Y电极对当触摸屏控制器同X电极对施加一确定电压,而不向Y电极对施加电压时,X电极对的工作面会形成均匀连续的平行电压场,如图2a所示当手指或触笔触及触摸屏时,触点电压则反映触点在Y工作面的位置将该电压量通过Y+或Y-电极引至触摸屏控制器,经过A/D转换,便可得到触点电压的数字量,即Y坐标同理,向Y电极对上施加电压,以X+或X-为测量电极,便可得到X坐标微控制器根据触点坐标位置以及对应坐标位置显示内容,便可得知触摸者的意图3TSC2046的工作模式和控制字TSC2046可设置为8位或12位工作模式,输入方式为差分输入和单端输入,本文以12位差分输入模式进行说明表1为TSC2046的控制字其中S为数据传输起始标志位,该位恒为1A2~A0用于通道选择,决定触摸屏体输出模拟电压从TSC2046的哪个引脚输入MODE用于选择A/D转换的精度,当为1时选择8位;当为0时选择12位在12位工作模式下,其二进制结果的最低位表示模拟电压为参考电压TSC2046引脚+VCC与GND的压差的1/4096SER/DFR可用于选择输入模式,SER选择单端模式,DFR选择差分模式PD
1、PD0用于选择省电模式图3为差分输入模式下的示意图表2是差分模式输入配置差分模式是一种比率度量转换方式,加在触摸屏体电极上的电压为TSC2046引脚+VCC与GND之间的电压,转换结果是触摸屏上分布电阻值的百分比4典型应用
4.1接口电路TSC2046与C8051F020的电路连接图如图4所示触摸屏体两对儿电极通过J2接至TSC2046的四个电极为了增强驱动能力,TSC2046与C8051F020的连线均通过一只10kΩ的上拉电阻拉至5V,采用SPI接口通信,相关引脚对应关系TSDIN-数据输入、TSBUSY-忙信号、TSINT-笔中断信号、TSDOUT-数据输出、TSDCLK-时钟信号、TSCS-片选信号TSC2046与C8051F020连接时,由于TSINT引脚接收TSC2046发送的中断信号,因此配置C8051F020时,TSINT引脚通过交叉开关配置为外部中断引脚否则只能通过查询TSINT引脚的电平状态判断是否有触摸事件为了减少干扰,在X+、X-、Y+、Y-四个输入端都应接一只旁路电容,数据线要尽量短
4.2程序设计TSC2046的驱动程序遵循标准的SPI协议实现与微控制器的通信当触摸屏按下时即有触摸事件发生,则TSC2046通过笔中断引脚TSINT向微控制器发送中断请求,微控制器接收请求后,延时30ms,再响应其请求,目的是消除抖动使采样更准确如果一次采样不准确,可多次采样并取最后一次结果TSC2046驱动程序的流程如图5所示图6为A/D转换时序一次转换需16个时钟信号根据时序图,采用12位输出结果方式取读TSC2046子函数代码如下以上为驱动程序中一个典型子函数,其余子函数与之类似需要注意的是完成一次转换需16个时钟信号,输出却为12位数据,因此应加补4个空闲时钟信号,使之达到16个时钟信号,才能得到正确的A/D转换结果否则,TSC2046与C8051F020无法同步,则无数据输出此外,TSC2046的控制字发送完成,需禁止SPI通信,直到A/D转换结束,以免数字信号对模拟电压产生干扰该触摸屏已应用于某医疗设备的输入输出系统,反应良好。