单片机基于C8051F020的触摸屏驱动控制.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机基于C8051F020的触摸屏驱动控制??? 目前触摸屏和液晶屏已成为嵌入式计算机系统常用的输入输出设备。触摸屏分为电阻、电容、表面声波、红外线扫描和矢量压力传感式触摸屏,其中使用最多的是四线或五线电阻式触摸屏。TSC2046为四线电阻式触摸屏控制器,以其低功耗和高速率等特性广泛应用于电池供电的小型手持设备。 ??? ??? C8G051Fxxx系列单片机是完全集成的混合信号系统级器件,峰值速率达25 MI/s。片内集成ADC和DAC;SMBus/I2C、UART、SPI接口:可编程计数器/定时器阵列;64个I/O端口(P0~P7);内部具有JTAG和调试电路,支持在系统调试。本文介绍了利用该系列单片机C8051F020、TSC2046和液晶屏实现人机互动接口。 ??? 触摸屏工作原理 ???? ??? 触摸屏控制器相当于触摸屏体与微控制器间的接口。触摸屏体是一个4层的复合薄膜,附着在显示器表面与显示器配合使用。图1为触摸屏外部结构。每一导电层为触摸屏的一个工作面,每个工作面的两端各涂一条银胶,称为该工作面的一对儿电极,分别称为X电极对和Y电极对。当触摸屏控制器同X电极对施加一确定电压,而不向Y电极对施加电压时,X电极对的工作面会形成均匀连续的平行电压场,如图2(a)所示。当手指或触笔触及触摸屏时,触点电压则反映触点在Y工作面的位置,将该电压量通过Y+(或Y-)电极引至触摸屏控制器,经过A/D转换,便可得到触点电压的数字量,即Y坐标。同理,向Y电极对上施加电压,以X+(或X-)为测量电极,便可得到X坐标。微控制器根据触点坐标位置以及对应坐标位置显示内容,便可得知触摸者的意图。 ? ? ??? TSC2046的工作模式和控制字 ??? TSC2046可设置为8位或12位工作模式,输入方式为差分输入和单端输入,本文以12位差分输入模式进行说明。表1为TSC22046的控制字。 ? ? ??? 其中S为数据传输起始标志位,该位恒为“1”。A2~A0用于通道选择,决定触摸屏体输出模拟电压从TSC2046的哪个引脚输入。MODE用于选择A/D转换的精度,当为1时选择8位;当为0时选择12位。在12位工作模式下,其二进制结果的最低位表示模拟电压为参考电压(TSC2046引脚+VCC与GND的压差)的1/4 096。SER/DFR可用于选择输入模式,SER选择单端模式,DFR选择差分模式。PD1、PD0用于选择省电模式。图3为差分输入模式下的示意图。表2是差分模式输入配置。差分模式是一种比率度量转换方式,加在触摸屏体电极上的电压为TSC2046引脚+VCC与GND之间的电压,转换结果是触摸屏上分布电阻值的百分比。 ? ? ? ??? 典型应用 ??? 接口电路 ??? ??? TSC2046与C8051F020的电路连接图如图4所示。触摸屏体两对儿电极通过J2接至TSC2046的四个电极。为了增强驱动能力,TSC2046与C8051F020的连线均通过一只10 kΩ的上拉电阻拉至5 V,采用SPI接口通信,相关引脚对应关系:TSDIN-数据输入、TSBUSY-忙信号、TSINT-笔中断信号、TSDDOUT一数据输出、TSDCLK一时钟信号、TSCS一片选信号。TSC2046与C8051F020连接时,由于TSINT引脚接收TSC2046发送的中断信号,因此配置C8051F020时,TSINT引脚通过交叉开关配置为外部中断引脚。否则只能通过查询TSINT引脚的电平状态判断是否有触摸事件。为了减少干扰,在X+、X-、Y+、Y-四个输入端都应接一只旁路电容,数据线要尽量短。 ? ? ???? 程序设计 ? ??? TSC2046的驱动程序遵循标准的SPI协议实现与微控制器的通信。当触摸屏按下时(即有触摸事件发生),则TSC2046通过笔中断引脚(TSINT)向微控制器发送中断请求,微控制器接收请求后,延时30 ms,再响应其请求,目的是消除抖动使采样更准确。如果一次采样不准确,可多次采样并取最后一次结果。 ??? TSC2046驱动程序的流程如图5所示。图6为A/D转换时序(一次转换需16个时钟信号)。 ? ? ? ??? 根据时序图,采用12位输出结果方式取读TSC2046子函数代码如下: ? ? ??? 以上为驱动程序中一个典型子函数,其余子函数与之类似。需要注意的是:完成一次转换需16个时钟信号,输出却为12位数据,因此应加补4个空闲时钟信号,使之达到16个时钟信号,才能得到正确的A/D转换结果。否则,TSC2046与C8051F020无法同步,则无数据输出。 ??? 此外,TSC2046的控制字发送完成,需禁止SPI通信,直到A/D转换结束,以免数字信号对模拟电压产生干扰。该触摸屏已应用于某医疗设备的输入输出系

文档评论(0)

企业资源 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档