c8051f020触摸屏驱动控制
目前触摸屏和液晶屏已成为嵌入式计算机系统常用的输入输出设备。触摸屏分为电阻、电容、表面声波、红外线扫描和矢量压力传感式触摸屏,其中使用最多的是四线或五线电阻式触摸屏。tsc2046为四线电阻式触摸屏控制器,以其低功耗和高速率等特性广泛应用于电池供电的小型手持设备。
c8g051fxxx系列单片机是完全集成的混合信号系统级器件,峰值速率达25 mi/s。片内集成adc和dac;smbus/i2c、uart、spi接口:可编程计数器/定时器阵列;64个i/o端口(p0~p7);内部具有jtag和调试电路,支持在系统调试。本文介绍了利用该系列单片机c8051f020、tsc2046和液晶屏实现人机互动接口。
2 触摸屏工作原理
触摸屏控制器相当于触摸屏体与微控制器间的接口。触摸屏体是一个4层的复合薄膜,附着在显示器表面与显示器配合使用。图1为触摸屏外部结构。每一导电层为触摸屏的一个工作面,每个工作面的两端各涂一条银胶,称为该工作面的一对儿电极,分别称为x电极对和y电极对。当触摸屏控制器同x电极对施加一确定电压,而不向y电极对施加电压时,x电极对的工作面会形成均匀连续的平行电压场,如图2(a)所示。当手指或触笔触及触摸屏时,触点电压则反映触点在y工作面的位置,将该电压量通过y+(或y-)电极引至触摸屏控制器,经过a/d转换,便可得到触点电压的数字量,即y坐标。同理,向y电极对上施加电压,以x+(或x-)为测量电极,便可得到x坐标。微控制器根据触点坐标位置以及对应坐标位置显示内容,便可得知触摸者的意图。
3 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之间的电压,转换结果是触摸屏上分布电阻值的百分比。
4 典型应用
4.1 接口电路
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-四个输入端都应接一只旁路电容,数据线要尽量短。
4.2 程序设计
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转换结束,以免数字信号对模拟电压产生干扰。该触摸屏已应用于某医疗设备的输入输出系统,反应良好。
三星Galaxy Note 10.1将于8月16在香港发售
为什么小家电的充电器不能做成通用的
如何对微控制器进行省电管理
山西移动下线8元4G套餐,5G真的要来了吗?
电量传感器灌封工艺及常见问题解决方案
C8051F020触摸屏驱动控制
在非洲卖得最火的国产手机不是华为而是它!原因竟是这个!
Micro LED显示将会是开启新一代5G物联网应用的重要技术
基于Arduino的温度传感器教程
一加5评测:不只有双摄和性能强悍,还是国内首升安卓8.0,有没有超期待
华为5g芯片和高通芯片的区别
采用LM1812的超声波防碰撞电路设计
美国政府考虑把海康威视列入黑名单乃至断供
用DS600构成的温度控制器,DS600 Temperature controller
上海伯东半导体器件检漏
采用24V供电的MCU电源电路及BOM表分析
欧洲航天局希望改进用于卫星风力监测的紫外探测器
大唐高鸿宣布与华人运通签署战略合作协议
为什么在使用直流电源时需要首先激活呢?
远程预付费电能管理系统设计方案