s3c2440裸机-电阻触摸屏-5-触摸屏校准原理-五点校准法

发布者:Lihua1314520最新更新时间:2024-07-03 来源: elecfans关键字:电阻触摸屏 手机看文章 扫描二维码
随时随地手机看文章

1.触摸屏校准原理

之前点的触摸屏解析出来的ADCDATA的bit[9:0]表示坐标ADC的转换结果,那么这些结果都是通过电压值来转换过来的。


所谓触摸屏校准,就是让触摸屏坐标(电压值)与LCD的坐标能够对应起来,所以校准就是要找到一个公式把电压值转换成和LCD宽高相符合的坐标值。

如下图,上面一层膜是TS触摸屏,下面一层是LCD显示屏,如果我们的LCD size是480*272,那么当我们点击触摸屏上的原点,那它的坐标可能不是(0,0),而是(X1', Y1'),因此我们需要对触摸屏进行校准,期望把x', y’的坐标能够映射成和lcd一样的坐标0,0.


那么如何较准呢,如下图以X方向为为例。


如果触摸屏的x坐标区间为[x1', x2'], LCD的x坐标区间为[0, 479].那么我们期望把[x1',x2']映射到区间为[0, 479]。如何映射:

如下图以X方向为为例。假设我们在LCD上显示两个点,那分别对应的横坐标为x1, x2.

那么当我们在触摸屏上对应的位置点击该两个点时,那么对应的触摸屏产生的横坐标分别为x1',x2',那这个坐标是实际ADC转换出来的坐标,那可能和实际lcd坐标x1, x2不一致。由于我们的触摸屏的坐标是线性变化的,所以有公式如下:


x = (x2 - x1)/(x2' - x1') * (x'-x1') + x1

(x2 - x1)/(x2' - x1')表示长度比例

x1和x1'分别表示LCD和触摸屏的原点坐标

x'表示触点的实际触摸屏坐标

x表示LCD的实际坐标

举个例子:

①长度比例=1

假设lcd显示的两点x1 = 200, x2=400。然后当触摸屏点击x1', x2'位置时产生的TS实际坐标为240, 440

那如果我在中间再次点击一个点,对应lcd的x = 300,对应触摸屏的 x'=340.

那么我们就需要用到这个长度比例来换算出期待的(校准后的)触摸屏坐标

长度比例 =( 400 -200 )/( 440- 240) = 1

x期望 = 长度比例 * (340 - 240) + 200 = 300

这样就校准出来了理想的触摸屏坐标x期望 = 300.

②长度比例不等于1

假设当触摸屏点击x1', x2'位置时产生的TS实际坐标为240, 360

那如果我在中间再次点击一个点,对应x = 300, x'=300.

那么我们就需要用到这个长度比例来换算出期待的(校准后的)触摸屏坐标

长度比例 =( 400 -200 )/( 360- 240) = 1.6666

x期望 = 长度比例 * (300 - 240) + 200 = 300

这样还是校准出来了理想的触摸屏坐标x期望 = 300.

那Y方向也是同理。

五点法校准

1. 如何计算长度比列:

取上下左右4点坐标对称的4个点,如图,s1',s2'分别表示触摸屏两条横线的实际坐标产生的距离,s1,s2分别表示LCD两条横线的距离。所以两条横线取平均的话

比例kx = (s1+s2)/(s1'+s2'),我们干脆让lcd的上下横线x坐标相等,这样s1 = s2, kx = 2s/(s1'+s2')


y轴方向同理.

2. 原点坐标

我们一般情况下将原点选择LCD的中心位置,对应的LCD坐标Xc,Yc,触摸屏坐标对应xc',Yc'。


那么最终5点校准法的公式就出来了,x期望 = kx * (x' - xc') +xc, 其中x'表示触点实际产生的触摸屏坐标。

y期望= ky * (y' - yc') + yc


关键字:电阻触摸屏 引用地址:s3c2440裸机-电阻触摸屏-5-触摸屏校准原理-五点校准法

上一篇:s3c2440裸机-电阻触摸屏-6-触摸屏校准实现-五点校准法
下一篇:s3c2440裸机-电阻触摸屏-4.2-isr设计_支持长按和滑动

推荐阅读最新更新时间:2026-03-20 14:04

s3c2440裸机-电阻触摸屏-1-电阻触摸屏原理
一、电阻触摸屏原理 触摸屏包含上下叠合的两个透明层,一般覆盖在lcd表面,两个透明层是由均匀的电阻介质组成,如下图。 当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间的薄膜会产生接触,此时会形成x方向和y方向的坐标。那么x,y坐标的值是怎么得来的呢?本质上就是通过ADC转换得来的。详解如下: 触摸屏的等效电路可以看成如下图: 计算触点的X,Y坐标分为如下两步(见下图): 1.计算Y坐标: 在Y+电极施加驱动电压Vdrive, Y-电极接地,由于上下两层膜形成触点,X+做为触点的引出端,测量得到接触点的电压,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。如下图: 2.计算X坐标:
[单片机]
s3c2440裸机-电阻触摸屏-4-isr设计_获取触摸屏坐标
1.进入自动测量模式 上一节介绍了 TSC的初始化,以及中断服务程序框架 ,能够对的触摸屏进行基本的按下松开检测。 那让bit =1, bit =00,则会进入auto measurement。如果bit =0,则需配置bit =01 or 10是手动测量x,y坐标。 #define AUTO_PST (1 2) /*自动转换*/ #define WAIT_INT_MODE (3) /*等待中断模式*/ #define NO_OPR_MODE (0) /*禁止模式*/ void enter_auto_measure_mode(void) {   ADCTSC = AUTO_PST | NO_OPR_MODE; } 2.
[单片机]
s3c2440裸机-电阻触摸屏编程(4.isr设计_4.1获取触摸屏坐标)
1.进入自动测量模式 上一节介绍了TSC的初始化,以及中断服务程序框架,能够对的触摸屏进行基本的按下松开检测。 那让bit =1, bit =00,则会进入auto measurement。如果bit =0,则需配置bit =01 or 10是手动测量x,y坐标。 #define AUTO_PST (1 2) /*自动转换*/ #define WAIT_INT_MODE (3) /*等待中断模式*/ #define NO_OPR_MODE (0) /*禁止模式*/ void enter_auto_measure_mode(void) {   ADCTSC = AUTO_PST | NO_OPR_M
[单片机]
<font color='red'>s3c2440</font><font color='red'>裸机</font>-<font color='red'>电阻</font><font color='red'>触摸屏</font>编程(4.isr设计_4.1获取<font color='red'>触摸屏</font>坐标)
linux上使用J-Link调试S3C2440裸机代码
工具: segger的jlink仿真器 segger的jlink for linux 交叉编译工具链里面的arm-xx-linux-xx-gdb 初始化脚本 工具安装 segger的jlink for linux 进入Segger官网--- Download--- J-Link/J-Trace--- J-Link Software and Documentation Pack。有deb、rpm、tgz三种包可供选择,随便选一个,我选的是tgz。由于我的仿真器是和谐版,所以我不敢选择高版本的J-Link,选择Older versions。下载一个比较老的,我下的是最老的。 解压至你要安装的目录。里面有个README.t
[单片机]
S3c2440裸机-spi编程-2.OLED显示面板
1.OLED显示面板介绍 以QG-2864TMBEG01这款OLED为例,可见它支持Parallel/i2c/SPI这3种方式对它进行控制,这里仅对它进行SPI控制。它的product Specification见附件。 并行接口时序: SPI串行接口时序 Tr/Tf: 表示spi clk上升/下降延不能超过40ns Tclkl/Tclkh: 表示spi clk低/高电平持续至少20ns Tcycle: 表示spi clk一个时钟周期至少100ns Tdsw/Tdhw: 表示spi data的建立/持续时间至少15ms Tcss:片选建立时间至少20ns Tcsh:片选持续时间至少10ns Tas/Tah:地址建立/
[单片机]
<font color='red'>S3c2440</font><font color='red'>裸机</font>-spi编程-2.OLED显示面板
s3c2440裸机-时钟编程-2-配置时钟寄存器
1.2440时钟时序 下图是2440时钟配置时序: 1.上电后,nRESET复位信号拉低,此时cpu还无法取指令工作。 2.nRESET复位信号结束后变为高电平,此时cpu开始工作。此时cpu主频FCLK=osc。 3.此时可以配置PLL,经过lock time后,FCLK倍频成新的时钟。 2.如何配置时钟 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最高400MHz,Hclk最高136MHz,Pclk最高68MHz。那么 我们干脆配置FCLK:HCLK:PCLK= 400:100:50 (MHz). 1,先配置lock time 我们取芯片手册上的推荐值。
[单片机]
s3c2440裸机-NorFlash1-原理
1.flash种类与特性: flash一般分为nand flash和nor flash,各自特性如下表: - Nor NAND XIP(片上执行) yes no 性能(擦除) 非常慢(5s,块太大) 快(3ms) 性能(写) 慢 快 性能(读) 快 快 可靠性 高 一般(容易出现位反转) 可擦除次数 10000 ~ 100000 100000 ~ 1000000 接口 与ram类似,可直接访问任意地址 I/O接口(无地址线,必须串行访问,命令、地址、数据共用8位IO) 易用性 容易 复杂 主要用途 常用于保存代码和关键数据 用于保存数据 价格 高 低 容量 小 大 常用文件系统类型 jffs yaffs
[单片机]
s3c2440裸机-异常中断1-异常中断的原理与流程
1.异常中断概述 在arm架构的处理器中,cpu有7中工作模式,2中工作状态。 1.CPU模式(Mode): 7种Mode: 除了usr/sys,其他5种都是异常模式。我们知道中断属于异常的2中,中断有irq,fiq。 usr sys undefined(und) Supervisor(svc) Abort(abt) irq fiq 用户模式 系统模式 未定义指令异常模 svc管理模式 终止模式(1.指令预取终止(读写某条错误的指令导致终止运行);2.数据访问终止(读写某个非法地址程序终止)) irq中断 快中断 除了usr模式,其他6中为特权模式。 CPU无法从usr模式直接进入特权模式。不能直接进入特权模式,那么怎
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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