基于单片机的液晶触摸屏的设计

时间:2022-07-25 02:35:38

基于单片机的液晶触摸屏的设计

摘要:电子触摸屏在嵌入式计算机应用系统中具有广泛的应用,它取代了传统的按键与键盘输入方式,其中电阻式触摸屏是一种较为稳定的人机交互设计类型。本分通过分析四线式电阻触摸屏及触摸屏专用控制器 ADS7846 的设计原理,介绍了单片机编程实现液晶触摸屏触点坐标的获取方法,给出了采用C8051F350单片机控制LCD触摸屏的SPI通讯应用程序流程。

关键词:单片机;ADS7846;液晶触摸屏

中图分类号:TP368.1;TN27 文献标识码: A 文章编号:1007-9416(2015)05-0000-00

1 引言

嵌入式触摸屏装置是人机交互的重要设备, 一般安装在液晶显示屏上面, 利用微处理器对触摸屏进行人机交互控制, 从而实现对液晶显示屏的功能控制。带触摸屏的LCD是通过计算机技术处理声音、图像、视频、文字等各种其它信息的重要显示设备, 触摸屏装置取代了传统的按键或键盘输入,成为计算机系统特别是嵌入式微处理器系统的先进交互方式,广泛应用于各种电子产品与工业控制设备中。

2 电阻式触摸屏的工作原理

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

3 触摸屏的硬件组成

3.1 硬件组成

触摸屏选用经典的四线电阻式触摸屏,其首要的特征是精确度高,不容易受环境干拢,适合于各类场合。触摸屏控制器选ADS7846控制芯片,它具有12位转换精度, 支持SPI通讯协议; 液晶屏控制器选用的是EPSON公司的SED1335,带有32K字节的SRAM, 适用于文本显示显示和图形显示(320 *240 点) 两种形式,最多3层图形显示合成。单片机采用的是Cygnal公司的高速、高性能混合信号处理单片机C8051F350,除了具有标准8052单片机的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、电源监视器等。

3.2 ADS7846 控制器

ADS7846 是Burr-Brown 公司的一种触摸屏专用的控制器,其内部的结构如图 2 所示。ADS7846 其内部组成主要由一个多路选择器和一个12位的 A/D 转换器构成 ,根据串行控制口的控制字符去控制多路选择开关工作的状态,将对应电极上的触点坐标位置所对应的工作电压送到 A/D 转换器 ,变成数字常量通过串行口再传递给 CPU ,CPU经过计算得到触点X、Y方向的相应坐标,从而确定触点的位置,程序根据触点坐标位置上所显示的信息执行相对应的功能。

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”为禁止省电模式。

3.3 接口电路

C8051F350和ADS7846可以通过标准的SPI接口相连,SPI接口是符合产业标准的同步串行接口,也是一种全双工、四线通讯的系统。它允许C8051F单片机与各种各样的设备以串行方式(可配置成1-8位数据同时、同步被发送和接收)通信。在SPI接口中,数据的传输需要1个时钟信号和2条数据线。SPI既可以工作在主模式下也可以工作在从模式下。当SPI工作在主模式下时,最大传输速率(位/秒)是系统时钟频率的1/2;而当其工作在从模式下,进行全双工操作时的最大数据传输速率(位/秒)是系统时钟频率的1/10。

4 软件设计

C8051F350单片机是整个体系的核心控制部分,程序设计主要有两大部分。

4.1 SPI接口通讯协议驱动程序

图4是以C8051F350单片机作为通讯的主机,而触摸屏控制器ADS7846作为SPI从机的半双工方式通讯的程序流程图。 每当触摸屏接受到用户点击信息,ADS7846就向主机提出中断请求并且由C8051F350中断响应, 第一次SPI传送由C8051F350单片机向ADS7846控制器发送控制字符,包含起始位、通道选取、8/12位模式、差分/单端选取和掉电模式选取等信息,接下来的两次SPI传送则是C8051F350从ADS7846中读取A/D转换结果的数据,完成一次触摸屏和单片机之间的通讯。通讯过程包含系统初始化,SPI数据传输和中断服务等。完成一次坐标的转换需要调用两次SPI通讯程序,以分别读取X坐标的值和Y坐标的值。12位转换结果的有效值因为最后两位变化比较大,所以程序计算中可取其高十位。

4.2 触摸屏坐标位置的解算程序

当系统使用点阵为320*240的触摸屏时,SPI接口传回来的数据是呈线性的,但X坐标值不在0-320这个范围内变化,Y坐标值也不在0-240这个范围内变化,通过四点定位的校正测量,可得到触摸屏X方向的最大值与最小值(Xmax至Xmin),y方向的最大值与最小值(Ymin至Ymax),通过坐标换算使得最后将测量值转换为X方向的0-320,Y方向的0-240。在液晶触摸屏的边缘地带,X方向输出电阻和Y方向输出电阻的变化线性较差,为了比较准确的标定位置,在液晶屏中心区域采用线性规律拟合,而在外边缘区域可采用查表法,可使定位更精确。

5 结语

利用 ADS7846 实现触摸屏的控制,可以使用SPI 接口与单片机连接,与液晶显示屏配合使用,通过坐标变换,可以方便实现触摸控制,在嵌入式控制设备中具有十分广泛的应用。

参考文献

[ 1]楼然苗,李光飞.单片机课程设计指导(第二版)[M].北京航空航天大学出版社,2012.1

[2]倪天龙,邓洪波,金连文.通过 ADS7846 在 PDA 上实现个性化书法输入[J].电子技术应用,2005,31(6): 65 -67.

[3]Burr B. Corporation touch screen controller ADS7846[ DB/OL]. http: // www .ti. com.

[4]黄亮,杨景常.基于SOPC 的TFT 触摸屏显示系统设计[J].液晶与显示,2009,24(5):719-722.

[5]王晖,马明锦.基于触摸屏控制器 ADS7846 的触点坐标的测量计算[J].电子实际应用, 2003,(9):78-80.

上一篇:利用SERDES和FPGA完成的低成本高清图像数据发... 下一篇:基于PHP的农业培训与考试系统的设计开发