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

作者: TouchScreen     时间:2012-02-24     源于:中国IT实验室    总点击:
【导读】:TSC2046为四线电阻式触摸屏控制器,以其低功耗和高速率等特性广泛应用于电池供电的小型手持设备.C8G051Fxxx系列单片机是完全集成的混合信号系统级器件,本文介绍了利用该系列单片机C8051F020、TSC2046和液晶屏实现人机互动接口.

    目前触摸屏和液晶屏已成为嵌入式计算机系统常用的输入输出设备。触摸屏分为电阻、电容、表面声波、红外线扫描和矢量压力传感式触摸屏,其中使用最多的是四线或五线电阻式触摸屏。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转换结束,以免数字信号对模拟电压产生干扰。该触摸屏已应用于某医疗设备的输入输出系统,反应良好。
 


相关阅读:3D打印    模具产业    微铸锻技术    石墨烯    OLED面板    夏普    iPhone 8    半导体    苹果    
关于我们 | 广告服务 | 联系我们 | 版权声明 | 隐私政策 | 网站地图 | 友情链接 | 欢迎投稿 | 加入收藏 | 意见反馈 | 经销商加入
网站广告、经销商加盟、触摸屏软件销售: 028-85108892 13183843395 028-66219290 联系人: 张小姐 产品购买联系方式如下:
地址:成都市高升桥东路2号高盛中心1109室 电话: 028-85108892 13183843395 028-66219290
版权所有 Copyright(C) 2003-2015 All rights reserved 中国触摸屏网 电子邮件: 51touch@126.com touch8@gmail.com
业务合作QQ:触摸屏技术,触摸屏报价,触摸屏软件咨询 43361182 触摸屏软件制作与技术支持:触摸屏软件,触摸查询系统,触摸查询软件 893008608 媒体合作QQ: 893008608

2000人超级QQ触摸屏群:59897879 171220106


分享到