网站大量收购独家精品文档,联系QQ:2885784924

STM32开发指南V1.0 库函数版本(下册).pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
STM32开发指南V1.0 库函数版本(下册)

417 第三十一章 触摸屏实验 本章,我们将介绍如何使用 STM32 来驱动触摸屏,ALIENTEK 战舰 STM32 开发板本身并 没有触摸屏控制器,但是它支持触摸屏,可以通过外接带触摸屏的 LCD 模块(比如 ALIENTEK TFTLCD 模块),来实现触摸屏控制。在本章中,我们将向大家介绍 STM32 控制 ALIENTKE TFTLCD 模块,使用软件模拟 SPI 来实现对 TFTLCD 模块的触摸屏控制,最终实现一个手写板 的功能。本章分为如下几个部分: 31.1 触摸屏简介 31.2 硬件设计 31.3 软件设计 31.4 下载验证 ALIENTEK 战舰STM32开发板 418 31.1 触摸屏简介 我们一般液晶所用的触摸屏,最多的就是电阻式触摸屏了(多点触摸属于电容式触摸屏, 比如几乎所有智能机都支持多点触摸,它们所用的屏就是电容式的触摸屏),ALIENTEK TFTLCD 自带的触摸屏属于电阻式触摸屏,下面简单介绍下电阻式触摸屏的原理。 电阻式触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配 合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有 一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的 塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于 1/1000 英寸)的透明隔 离点把两层导电层隔开绝缘。 当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻 发生变化,在 X 和 Y 两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计 算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基 本的原理。 电阻屏的特点有: 1)是一种对外界完全隔离的工作环境,不怕灰尘、水汽和油污。 2)可以用任何物体来触摸,可以用来写字画画,这是它们比较大的优势。 3)电阻触摸屏的精度只取决于 A/D 转换的精度,因此都能轻松达到 4096*4096。 从以上介绍可知,触摸屏都需要一个 AD 转换器, 一般来说是需要一个控制器的。 ALIENTEK TFTLCD 模块选择的是四线电阻式触摸屏,这种触摸屏的控制芯片有很多,包括: ADS7843、ADS7846、TSC2046、XPT2046 和 AK4182 等。这几款芯片的驱动基本上是一样的, 也就是你只要写出了 ADS7843 的驱动,这个驱动对其他几个芯片也是有效的。而且封装也有一 样的,完全 PIN TO PIN 兼容。所以在替换起来,很方便。 ALIENTEK TFTLCD 模块自带的触摸屏控制芯片为 XPT2046。XPT2046 是一款 4 导线制触 摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置, 除此 之外,还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压可以作为辅助输入、温度测量 和电池监测模式之用,电池监测的电压范围可以从 0V 到 6V。XPT2046 片内集成有一个温度传 感器。 在 2.7V 的典型工作状态下,关闭参考电压,功耗可小于 0.75mW。XPT2046 采用微小 的封装形式:TSSOP-16,QFN-16(0.75mm 厚度)和 VFBGA-48。工作温度范围为-40℃~+85℃。 该芯片完全是兼容 ADS7843 和 ADS7846 的,关于这个芯片的详细使用,可以参考这两个 芯片的 datasheet。 ALIENTEK 战舰STM32开发板 419 31.2 硬件设计 本章实验功能简介:开机的时候先通过 24C02 的数据判断触摸屏是否已经校准过,如果没 有校准,则执行校准程序,校准过后再进入手写程序。如果已经校准了,就直接进入手写程序, 此时可以通过按动屏幕来实现手写输入。屏幕上会有一个清空的操作区域(RST),点击这个 地方就会将输入全部清除,恢复白板状态。程序会设置一个强制校准,就是通过按 KEY0 来实 现,只要按下 KEY0 就会进入强制校准程序。 所要用到的硬件资源如下: 1) 指示灯 DS0 2) KEY0 按键 3) TFTLCD 模块(带触摸屏) 4) 24C02 所有这些资源与 STM32 的连接图,在前面都已经介绍了,这里我们只针对 TFTLCD 模块 与 STM32 的连接端口再说明一下,TFTLCD 模块的触摸屏总共有 5 跟线与 STM32 连接,连接 电路图如图 31.2.1 所示:

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档