# 第20章 Cortex-M4-触摸屏

server/2024/11/19 10:54:15/

第20章 Cortex-M4-触摸屏

20.1 触摸屏概述

20.1.1 常见的触摸屏分类

电阻式触摸屏、电容式触摸屏、红外式触摸屏、表面声波触摸屏

市场上用的最多的是电阻式触摸屏与电容式触摸屏。红外管式触摸屏多用于投影仪配套设备。

电阻式触摸屏构成:整个屏由均匀电阻构成,分为两层。原理:当屏幕按下时,电阻发生变化。

​ 优缺点:

​ 优点:抗干扰能力强,能够防尘、防油,成本相对较低。

​ 缺点:灵敏度相对较低,构成需要一块玻璃屏作为支撑,屏的厚度大。

电容式触摸屏构成:整个屏由均匀电容构成。原理:当触摸屏到屏的时候,屏相应位置的电容会发生变化。

​ 优缺点:

​ 优点:灵敏度高,屏幕薄。

​ 缺点:抗干扰能力不是很强,成本相对较高。

20.1.2 电阻式触摸屏测量原理

img

img

img

img

当要测量X方向的坐标时,X+接VCC,X-接GND,Y+接ADCx.

当要测量Y方向的坐标时,Y+接VCC,Y-接GND,X+接ADCy.

20.2 触摸屏驱动芯片概述

20.2.1 触摸屏驱动芯片介绍

触摸屏驱动芯片名称:XPT2046。

img

img

20.2.2 管脚说明

img

DIN:串行数据输入管脚

DOUT:串行数据输出管脚

DCLK:串行时钟线

PENIRQ:笔中断信号管脚,当触摸屏被触摸时就输出低电平,没有触点则输出高电平

CS:片选,低电平有效

BUSY:忙时信号线

20.2.3 工作原理

XPT2046 是一种典型的逐次逼近型模数转换器(SAR ADC),包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有一个 2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。 XPT2046 可以单电源供电,电源电压范围为 2.7V~5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V~VCC范围内的参考电压(要求外部参考电压源输出阻抗低)。 X、 Y、 Z、 VBAT、 Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC, ADC可以配置为单端或差分模式。选择VBAT、 Temp和AUX时可以配置为单端模式;作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。

作为触摸屏应用,将ADC配置成差分模式。

20.2.4 触摸屏驱动芯片时序

经过前面的分析,我们知道了当在触摸屏上有触点时,触控芯片就会自动启动ADC去转换触点坐标信息,这个过程是不需要我们参与的。所以,我们的主要工作就是等它转换结束后把转换结果读取出来,那么,如何读取,这就需要去分析触控芯片数据传输的时序。

时序:时间部分+顺序部分

顺序部分:

img

时间部分:

img

主控如何发送一位数据给XPT2046?

主控如何读取XPT2046发送的一位数据?

20.2.5 控制字节

20.3 触摸屏驱动实验

731679195203)]

主控如何发送一位数据给XPT2046?

主控如何读取XPT2046发送的一位数据?

20.2.5 控制字节

20.3 触摸屏驱动实验

20.4 触摸屏校正


http://www.ppmy.cn/server/143160.html

相关文章

【Vite】如何修改服务器默认端口号5173

在 vite.config.ts 中修改服务器端口号: export default defineConfig({server: {port: 5175},plugins: [sveltekit()] });参考:Server Options

【论文阅读】Adversarial Examples for Handcrafted Features

一篇针对SLAM中图像特征匹配的攻击方法 一、攻击定义 这篇论文的目的是设计一种方法,使得图像在被攻击之后能够在尽可能不影响外观的情况下,干扰匹配的过程。针对这个目标,作者首先指出了对于这篇文章,什么是一个成功的攻击。这…

Python 小高考篇(5)自定义函数

目录 def 定义函数传入参数返回值 lambda 定义函数递归自测总结结尾 本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。 因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修改本段文字。 违者…

django从入门到精通(六)——auth认证及自定义用户

Django 提供了一个强大的用户认证系统,允许开发者轻松管理用户的注册、登录、权限和组等功能。以下是对 Django 用户认证系统的详细介绍,包括默认的用户认证、自定义用户认证和权限设置。 1. 默认用户认证 1.1 用户模型 Django 默认提供了一个用户模型…

python虚拟环境搭建

python虚拟环境搭建 一、Virtualenv安装二、Virtuanlenv配置 一、Virtualenv安装 python安装virtualenv库并测试   链接:安装库操作 二、Virtuanlenv配置 亲测有效的 更改创建的虚拟环境地址 方法 先修改mkvirtualenv.bat文件中的workon路径 链接:修改…

用 Python 从零开始创建神经网络(七):梯度下降(Gradient Descent)/导数(Derivatives)

梯度下降(Gradient Descent)/导数(Derivatives) 引言1. 参数对输出的影响2. 斜率(The Slope)3. 数值导数(The Numerical Derivative)4. 解析导数(The Analytical Derivat…

【使用 Docker 搭建云原生后端环境的详细教程】

安装 Docker: 对于 CentOS 7/8: 卸载旧版本(如果存在):sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \<

taro框架h5项目打包后页面空白 解决办法

最近正在用taro框架&#xff0c;写一个h5页面&#xff0c;本地打开页面好好的&#xff0c;打包之后页面就一片空白&#xff0c;经过各方搜查&#xff0c;找到了解决办法&#xff0c;以此记录下来&#xff0c;希望可以帮助到和我遇到同样问题朋友们 如果Nginx设置了二层目录&am…