基于ARM7微处理器LPC2148 接口的3.2 寸液晶触摸屏
Ofweek 2022-07-01

  0 引言

  人机交互界面的种类较多,如键盘、数码管显示器、液晶显示器及带触摸的液晶屏等。决定人机交互接口方式的主要因素是成本和实际应用的需要。近十年来,液晶触摸屏以功耗低、重量轻、精度高和良好的人机界面等技术特点, 在电子设备特别是手持类电子产品中得到了普遍应用。带触摸的液晶屏,只要能测量出触摸点的坐标位置,即可根据屏上对应坐标点的显示内容或图符获知触摸者的意图, 通过处理声音、图像、文字及触摸输入控制等信息,使之成为能进行信息存取、输入和输出的集成系统。基于与液晶模块的硬件接口设计及软件编程在智能系统设计中有着重要的应用价值。ARM 微处理器,运算速度快、资源丰富、性价比高,是当前较为流行的嵌入式控制器。本文介绍的一款基于ARM7微处理器LPC2148 接口的3.2 寸液晶触摸屏,具有精度高、彩色显示逼真、应用灵活等特点,可作为中高档电子产品字符、图像的显示及人机对话的窗口。

  1 总体设计方案

  系统的总体设计方案如图1 所示。液晶触摸屏系统由31 2寸TFT 液晶屏模块、触摸屏和ARM 微处理器控制板组成。

  触摸屏由触摸传感部件和触摸屏控制器ADS7843 组成,触摸传感部件安装在LCD 液晶屏前面,用于检测用户触摸位置,用户触摸信息送往ADS7843 控制器,并转换成触点坐标,送给ARM7 控制板,LPC2148 微处理器与液晶及触摸模块相连接,根据接收到的触摸信息,进行信号运算和处理,输出蜂鸣器等控制信号,控制液晶屏实现用户画面和数据的显示。

 

图1 液晶触摸屏系统总体设计方案

  2 电路及原理

  2.1 液晶触摸屏原理及ADS7843 触摸控制电路

  原理如图2 所示。

  U1为3.2 英寸TFT液晶模块,+3.3V 供电;内置SSD1289 液晶控制器;液晶屏分辨率为240×320 像素;屏幕颜色26 万色;屏幕尺寸为57mm×79mm, 有效显示面积为51mm×65mm.SSD1289 液晶控制器由16 位并行数据接口、内部控制器和LCD 驱动器组成。液晶数据传输方式为16 位并行方式,LPC2148 的16 根I/ O 口线分别接液晶模块的DB0~DB15.PWM 为亮度驱动控制输入,经9013 三极管放大后作为液晶背光。

  触摸屏部分由触摸传感部件和触摸屏控制器ADS7843( U2) 组成。

 

图2 液晶模块及触摸电路原理

  触摸传感部件是一个四线电阻屏幕,屏上引出四根线,分别对应X 轴和Y 轴各两根。测量X 方向的时候,将X + , X- 之间加上参考电压Vref , Y- 断开,Y + 作为A / D 输入,获得X 方向的电压;同理测量Y 方向的时候,将Y+ , Y- 之间加上参考电压Vref,X - 断开,X + 作为A/ D 输入,进行A/ D转换获得Y 方向的电压,之后再完成电压与坐标的换算,整个过程类似一个电位器,触摸不同的位置分得不同的电压。

 

  以上所需要的参考电压、A/ D转换等工作由触摸屏控制器ADS7843 直接完成的,只需将相应的控制命令传输到ADS7843 即可,以获得相应电压的数据。

  ADS7843是TI公司生产的四线电阻触摸屏转换接口芯片。它是一款具有同步串行接口的12 位取样模数转换器。在125kHz 吞吐速率和2.7V 电压下,功耗为750LW.在关闭模式下,功耗仅为0.5LW.由于具有低功耗和高速等特性,被广泛应用在电池供电的小型手持设备上。

  ADS7843 与LPC2148的连结关系如图3 所示。ADS7843工作电压+ 3.3V, 转换器的模拟输入( X+ 、Y+ 、X- 、Y- )是一个4 通道多路器;DCLK(第4 引脚) 是外部时钟输入引脚;CS(第3 引脚) 是片选输入端,低电平有效; DIN(第2引脚) 是串行输入,控制数据通过该引脚输入;DOUT第16 引脚)是串行数据输出,用于输出转换后的触摸位置数据,最大数为二进制的4095; PENIRQ(第15 引脚) 是PEN中断,用于触摸显示屏后引发一个中断。

  2.2 微处理器控制电路

  原理如图3 所示。

 

图3 微处理器控制电路原理图

  (1)LPC2148微处理器

  ARM 处理器占有市场份额高,具有性能高、成本低、能耗省等特点。图3 中LPC2148(U3)是PHILIPS 半导体公司推出的一个基于ARM7TDMI- S 核、支持实时仿真和嵌入式跟踪的32 位嵌入式ARM7 微处制器。该处理器内置了宽范围的串行通信接口、14 通道10 位ADC、1 通道10 位DAC、45 个高速GPIO 线以及多达9 个边沿或电平触发的外部中断管脚。处理器集成有40kB 的片内SRAM、512kB 嵌入的高速Flash 存储器,128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行, 为通信网关、协议转换器、软件modem、语音识别、低端成像等应用提供大规模的缓冲区和强大的处理功能,适合于彩色液晶的图片处理和数据存储。

  (2)复位和晶振电路

  LPC2148 第57 脚为复位信号输入端,采用低电平复位,由C3、R9、R10、K1 构成的复位电路为系统提供上电复位和强制复位功能,K1 为系统强制复位按键。晶振电路由X1(12MH z) 、C7、C8 构成,支持芯片内部PLL 及ISP功能;X2(321 768KH z) 、C9、C10 为RTC(实时时钟) 提供基准时钟。

  (3) 资源分配

  LPC2148 的P0.8~ P0.23 作为16 位数据线( D0~ D15) ,经JP1 插座与液晶模块的DB0 ~ DB15 连接;P0.0、P0.26、P0.28~ P0.31 作为液晶模块的控制口线使用,经JP1 分别与液晶模块的PWM、CS、RESET 、RS、RD 和WR 连接;P0.27、P1.16~ P1.20 用于触摸屏控制,通过JP1 的连接分别接ADS7843 的BUSY、7843- CS ( CS ) 、DCLK、DIN、INT( PENIRQ) 和DOUT 引脚。

  P1.26~ P1.31 作为JTAG 功能使用,JP2 为微处理器JTAG 程序调试及下载端口。

  P0.25 作为蜂鸣器控制口线,蜂鸣器电路用于液晶触摸或显示时发出蜂鸣声响,作为人机对话的辅助功能。蜂鸣器使用PNP 三极管8550(Q2)进行驱动,其放大倍数高(hFE =300),基级偏置电阻R8 为1k, 当输入低电平时,Q1 为深度饱和导通,可为蜂鸣器提供足够的电流。

  (4) 电源电路

  LPC2148 为单电源供电,CPU 操作电压为3.0~ 3.6V。

  电路采用+ 3.3V 供电,外接+ 5V 直流电源经AMS1117(U4) 稳压器稳压后,输出+ 3.3V 电压,给液晶模块和ADS7843 供电。AMS1117 的特点是输出电流大( 800mA) ,输出电压精度在1%以内,具有电流限制和热保护功能,稳定性好。C4、C5、C6 均为电源滤波电容。

 

  3 软件编程

  3.1 对液晶屏的C 程序设计

  液晶屏的软件设计采用C 语言编程。包括液晶屏初始化、写液晶控制字、写液晶数据子程序、读液晶液晶数据、全屏显示单色、指定位置显示汉字和字符、指定位置显示图片、清屏等子程序。

  

  写液晶数据子程序为:

  

  3.2 对触摸屏的C 程序设计

  触摸屏的程序设计主要是确定其位置坐标与液晶屏上位置坐标的对应关系,通过一定的算法把触摸屏触摸信息转化为液晶屏上的位置坐标。液晶屏像素为240×320, 从触摸屏接收到的X 值不在0~ 320 范围变化、Y 值也不在0~ 240范围变化, 在触摸屏的边缘区域,X 、Y 方向输出数据变化较大,是非线性关系,坐标值在中间大部分范围内基本是成线性变化的。为了较准确的进行坐标转换,可采用线性求值和查表相结合的方式进行坐标转换。

  触摸屏的C 程序设计主要包括触摸屏初始化子函数、读A/ D 转换值子函数、坐标原始值子函数和坐标转换子函数。

  与ADS7843 相关的引脚C 程序预处理为:

  

  读A/ D 转换值子函数:

  

  4 结束语

  在嵌入式智能设备中,用液晶触摸屏取代传统的按键、LED 等人机对话部件,具有操作简便、界面友好及功能较强等优点。随着LCD 液晶屏价格的进一步下降,液晶触摸屏有着更宽广的应用市场,基于ARM 与液晶触摸屏的技术开发具有现实意义和社会经济价值。本系统以ARM7 处理器LPC2148 作为主控制器,与传统单片机相比,具有较大的数据存储容量和较快的图片处理速度;液晶屏带触摸功能,大大增强了人机对话的交互能力;基于C 语言的编程方法有较强的实时性。所设计的液晶触摸屏应用于ARM 嵌入式创新实训系统和便携式铁路平调装置故障检测仪,触摸键反应灵敏,与ARM7 处理器接口电路运行可靠,验证了系统设计的可行性,具有较高的实际应用价值。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    07-02
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    07-02
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    07-02
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    07-02
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    07-01
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    07-01
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    07-01
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
广告