基于单片机的液晶显示触摸屏控制设计

发布者:喜从中来最新更新时间:2012-06-25 来源: 21ic 关键字:单片机  液晶显示触  摸屏控制 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

嵌入式触摸屏装置是人机交互设备,一般将触摸屏安装在液晶显示屏上面,利用微处理器对触摸屏与液晶显示屏进行控制,实现触摸屏对液晶显示屏的控制,方便、直观,取代了传统的键盘输入,成为嵌入式计算机系统的输入设备,广泛应用于电子产品与工业控制中。由于触摸屏边缘电阻不均匀,不易找到变化规律,难于实现触摸屏坐标与点阵式液晶显示屏相互对应,会出现触摸点与液晶显示屏显示信息错位,造成触摸控制信息不灵敏。本文基于AT89C51 单片机和ADS7846芯片,辅以点阵式液晶显示屏,进行嵌入式触摸屏输入与显示系统的软硬件设计,实现触点测量与液晶屏上像素相对应,实现预期的控制功能,提高触摸控制的灵敏度。

2 液晶显示触摸屏的硬件设计

液晶触摸屏包含图形液晶显示模块和附着在显示屏上的触摸屏两部分,借助于触摸屏控制器ADS7846 与微处理器A T89S51 实现软硬件接口,通过检测用户在触摸屏上的触摸位置,实现显示与控制功能。

2. 1 触摸屏的工作原理

触摸屏从工作原理上可以分为电阻式、电容式、红外线式、声表面波式、矢量压力传感器式等多种形式,本文采用目前使用最为普遍的四线电阻式触摸屏。

电阻式触摸屏由4 层透明的复合薄膜组成,底层是玻璃或有机玻璃构成的基层,顶层则是经过硬化处理的光滑防刮塑料层,底层、顶层内表面间为两层铟锡氧化物( ITO) 透明导电层,形成触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,称为该工作面的一对电极,若在一个工作面的电极对上施加电压,则在该工作面上就会形成均匀连续的平行电压分布。当在X 方向的电极对上施加一确定的电压,而Y 方向电极对上不加电压时,在X 平行电压场中,触点处的电压值可以在Y+ (或Y - ) 电极上反映出来,通过测量Y+ 电极对地的电压大小,经过A/ D 转换便可得知触点的X 坐标值。同理,当在Y 电极对上加电压,而X 电极对上不加电压时,通过测量X +电极的电压,经过A/ D 转换便可得知触点的Y坐标。电阻式触摸屏有四线和五线两种,四线式触摸屏的测量过程工作原理如图1 所示。

 

图1  四线电阻式触摸屏测量原理

 

图1 四线电阻式触摸屏测量原理

触摸点P 处测量结果计算如下:

 

 

2. 2 ADS7846 控制器

ADS7846 是Burr2Brown 公司的一款触摸屏专用控制器,其内部结构如图2 所示。[page]

 

图2  ADS7846 内部结构图

 

图2 ADS7846 内部结构图。

摘 要: 在分析液晶触摸屏的工作原理基础上,分析触摸屏专用控制器ADS7846 的工作原理与控制方式。通过ADS7846 与MCU 的SPI 接口,给出AT89S51 的测量子程序流程图,提出触摸屏触点坐标的获得方法与液晶屏显示实现同步的算法,以提高设计触摸屏与液晶屏的效率,满足控制精度。

ADS7846 内部由一个多路选择器和一个12位的A/ D 转换器构成,根据串行控制口的控制字控制多路选择开关的工作状态,控制工作面的工作电压,并把相应电极上的触点坐标位置对应的工作电压送到A/ D 转换器,变成数字量通过串行口再传递给CPU ,经过计算得到触点的X 、Y 方向的坐标,确定触点位置,程序根据触点坐标位置显示的信息执行相应的功能。

则P 点的二进制输出代码为:

 

 

其中:V ref_full为加在ADS7846 内部A/ D 转换器上的参考电压。

ADS7846 控制字见表1 所示,S 为数据传输的起始标志位,改为必须为"1";A2、A1、A0 用于通道选择控制,坐标与通道选择之间的关系见表2 所示。MODE用于控制A/ D转换的精度", 1"选择8位", 0"选择12 位。SER/ DFR 选择输入参考电压模式", 1"为单端模式", 0"为差分模式。PD1、PD0选择省电模式:"00"为省电模式允许,在两次A/ D转换之间掉电,且中断允许;"01"与"00"相似,但不允许中断;"10"保留;"11"禁止省电模式。

表1 ADS7846 的控制字

 

表1  ADS7846 的控制字

 

表2 ADS7846 的坐标与通道选择之间的关系

 

表2  ADS7846 的坐标与通道选择之间的关系

 

ADS7846 与MCU 之间通过标准的SPI 接口相连接,如图3 所示。当检测到有触摸动作时,ADS7846 的笔中断请求端( PENIRQ) 输出一个低电平信号向MCU 发出测量触点坐标的中断请求。MCU 通过SPI 接口,选中ADS7846 ,发出坐标测量控制字,然后读取ADS7846A/ D 转换结果数据,经过两次控制即可分别得到触点位置的X 、Y 坐标。ADS7846 工作时序如图4 所示。

 

图3  ADS7846 与MCU 之间SPI 接口

 

图3 ADS7846 与MCU 之间SPI 接口。[page]

 

图4  ADS7846 与MCU 通信时序

 

图4 ADS7846 与MCU 通信时序。

3 触点坐标与液晶显示屏控制功能对应定位的确定

本例中ADS7846 采用差动参考电压方式,以减小测量误差,由于触摸屏存在着个体差异,不同触摸屏边沿的测量值不同,测量值达不到0 或者满量程(4096) ,而液晶显示屏具有较为准确的定位数值,很难实现触摸屏与液晶显示屏的点与点一一对应,给编程调试带来很大麻烦,只能实现触摸屏与液晶显示屏之间的区域对应,不影响液晶显示屏的显示功能和触摸屏的控制功能。

触摸屏控制器ADS7846 通过SPI 接口连接到微控制器A T89S51 上。当发生触摸时, 由ADS7846 向A T89S51 提出中断请求, 接着A T89S51 就会响应该中断请求,通过SPI 读取ADS7846 的转换结果,得到触摸点的坐标。图5为中断服务子程序与ADS7846 测量子程序流程图。

 

图5  中断服务子程序与ADS7846 测量子程序流程图

 

图5 中断服务子程序与ADS7846 测量子程序流程图。

为了有效地找到触摸屏触摸点与点阵式液晶显示屏对应区域坐标范围,按照液晶显示屏的显示功能区域的点阵坐标,按照液晶屏上显示的控制信息字符格式,合理选择水平线和竖直线,按照液晶显示和触摸屏控制功能区域进行触摸点数值测量,找到与液晶显示屏对应的触摸屏控制区域的触摸点数值范围。根据触摸屏触摸点坐标实测数据分析可以得到对应的液晶屏上像素点坐标。

液晶屏像素点坐标与触摸屏触摸点实测数值之间的关系可以表示为:

 

 

式中: X 、Y 为触点测量值; ( Xmin , Ymin ) 和( Xmax ,Xmax ) 分别为触摸屏上的最大值和最小值坐标触点测量; ( X1 , Y1 ) 为触点在液晶屏上的像素坐标,表3 、表4 中数据为实测数据。

表3 实测竖直直线上等距离测量坐标值

 

表3  实测竖直直线上等距离测量坐标值

 

表4 实测水平直线上等距离测量坐标值

 

表4  实测水平直线上等距离测量坐标值

 

值得注意的是,经测量触摸屏X 方向的转换值为从大到小, Y 方向的转换值为从小到大,坐标值在一定范围内基本是成线性变化的。但是在触摸屏的边缘地带X 方向输出电阻和Y 方向输出电阻的变化较大,是非线性关系,因此为了比较准确地标定触摸屏坐标,在大范围内采用线性变化的规律,而在边缘地带需采用查表的方式。

4 结 论

利用ADS7846 实现触摸屏控制,可以方便利用SPI 接口实现与单片机之间的接口。与点阵式液晶显示屏相配合使用,通过液晶屏与触摸屏之间的坐标变换,可以便捷实现工业控制,同时提高液晶屏的反映速度。

关键字:单片机  液晶显示触  摸屏控制 引用地址:基于单片机的液晶显示触摸屏控制设计

上一篇:以单片机为核心器件的自动拨号器解析方案
下一篇:交换控制单片机电路设计方案解析

推荐阅读最新更新时间:2024-03-16 13:01

单片机软件寻址技术介绍
  在80C31为控制核心的数据采集系统中,往往需要较大的外部RAM来存放数据。大家知道80C31是8位CPU,地址总线宽度为16位,其外部RAM,ROM可直接寻址范围各为64k字节(0000H——FFFFH)。在80C31的工作过程中,ROM和外部RAM的地址是重叠使用的,但使用不同的控制信号和指令,而扩展I/O口和外部RAM是统一编址的,它占用外部RAM的地址单元,并且使用外部RAM相同的读写控制信号和读/写指令。   在数据采集系统中,往往需要大容量的外部RAM,显示器、A/D转换、打印机等外部设备也必须进行I/O扩展。笔者在设计智能型声级计的过程中,要求80C31扩展外部RAM为64kB字节,扩展I/O口采用82C55
[单片机]
<font color='red'>单片机</font>软件寻址技术介绍
对51系列单片机SPI总线的认识
* UART、 I2C 和 SPI 是单片机系统中最常用的三种通信协议。* 1、SPI简介: SPI 是一种高速的、全双工、同步通信总线,标准的 SPI 也仅仅使用 4 个引脚,常用于单片机和 EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。 SPI 通信原理比 I2C要简单,它主要是主从方式通信,这种模式通常只有一个主机和一个或者多个从机,标准的 SPI 是 4 根线,分别是 SSEL( 片选,也写作 SCS)、 SCLK( 时钟,也写作 SCK)、 MOSI( 主机输出从机输入Master Output/Slave Input) 和 MISO( 主机输入从机输出 Master Input/Slave O
[单片机]
单片机在工业无线网络中的具体应用
  如同今天的许多通用单片机(MCU)已经把USB、CAN和以太网作为标准外设集成在芯片内部一样,越来越多的无线网络芯片和无线网络解决方案也在向集成SoC 方向发展,比如第一代产品,Nordic公司nRF905,Chipcon公司cc1010 他们集成了8051兼容的单片机.这些无线单片机适合一般的点对点和点对多点的私有网络应用,如单一产品的遥控器和抄表装置等。无线通讯技术给智能装置的互连互通提供了便捷的途径,工业无线网络作为面向工业和家庭自动化的网络技术也正在向着智能,标准和节能方向发展。   典型的工业无线网络   目前在工业控制和消费电子领域使用的无线网络技术有ZigBee、无线局域网(Wi-Fi)、蓝牙(Blutoot
[单片机]
烧录Hex文件到Silabs单片机
通常我们会用烧录器EC5或者EC6在Silabs IDE下载程序 但是有很多人会比较习惯用Keil生成Hex文件再烧录 其实这也是可以的 Silabs也提供了下载的工具 路径:C:SiLabsMCUUtilitiesProduction Programmer 下面有个exe文件:MCUProductionProgrammer.exe 打开后在program menu 下面有个config programming information 选项 进去如下所示 part number 处选择单片机型号,Hex file location选择hex文件所在位置 accept setting后 program d
[单片机]
基于单片机的串口协议网络化设计
  1 硬件结构和电路设计   1.1 总体设计   整个系统设计采用ATMEL公司8位通用微控制器AT89C51作为主处理器,驱动REALTEK公司的10M以太网控制芯片RTL8019AS,实现串口数据和外部网络互连。   1.2 网卡接线设计   RTL8019AS为100管脚PQFP封装,工作电压5V。其接线原理图如图1所示。地址SA0-4接到单片机P2的低五位上;SA8和SA9接电源;其余SA5-7,SA10-19这13个管脚全部接地;IORB和IOWB分别接单片机的读写信号端;RSTDRV接到P1.2上;8位数据SD0-7按顺序接到单片机P0.020.7脚;TPOUT+和PTOUT-是发送管脚对,连接到RJ45口
[单片机]
基于<font color='red'>单片机</font>的串口协议网络化设计
AVR单片机I/O口、定时器和按键编程总结
首先,用到了定时器2的溢出中断,用于控制灯的闪烁。在这部分程序的设计中,遇到的困难是当灯一旦闪烁起来,就无法控制其它的内容了。后来明白是由于中断服务程序太长,没等执行完计数器就计满了,然后就一直的在执行闪烁程序,导致无法在执行其它命令。最开始在每次延迟函数之后令计数器置零,可是还是没有起到太大效果,因为最长的延迟函数为2s,时间太长,最后经考虑,在进入中断服务程序的时候,屏蔽定时器2溢出中断,在离开之前再使能,然后再令计数器置零,结果实现了所要的结果。 第二个问题就是关于按键。要求相应的I/O口即能做输出,又能做输入,能够用按键控制。似乎很简单的一个程序,可是第一次做也遇到不少问题。当按下相应的按键,就给data赋一个值,去实现不同
[单片机]
单片机啤酒瓶计数实验源程序
实验说明:在源程序中计算初值为0xf7,运用定时计数的方式2对程序进行计数,当程序开始运行,每按下一次按键(即每装一瓶啤酒)LED显示的计数就会+1直到8为止,当装满8瓶时再加1时LED的计数溢出就会跳转到0,这时相当于装满了9瓶,程序停止。直到下一箱啤酒开始装箱,依次反复进行。 单片机源程序如下: #include reg52.h char led ={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //led显示字模 sbit P37=P3^7; sbit P34=P3^4; void delay(unsigned int time) //约4ms的延时
[单片机]
Atmel新款闪存MCU满足USB嵌入式应用需求
Atmel Corporation日前推出四款带有USB控制器的全新AVR闪存微控制器(Flash MCU)。AT90USB微控制器设计用于满足在主机和功能模式中需要USB连接的嵌入式应用的各种不同要求。 目前正在使用的USB设备数量超过10亿;在占领计算机和外围设备领域之后,USB在消费产品和工业设备领域也正在迅猛发展。数据存储、数据传输、产品配置和固件更新是推动这一趋势的关键应用。AT90USB1286和AT90USB646具有USB口,用于需要与USB主机相连的应用。AT90USB1287和AT90USB647符合USB On-The-Go(OTG)标准,在应用中作为两用设备(Dual Role Device, DRD),
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved