当前位置:首页 > 单片机 > 单片机
[导读]一、触摸屏控制器简介1、TSC2046概貌2、TSC2046引脚描述3、TSC2046应用电路4、常见接线方法YU=Y-YD=Y+XL=X-XR=X+二、TSC2046编程注意事项 TSC2046的PENIRQ脚在触摸屏被按下的时候输出低电平,没有按下的时候输出高电

一、触摸屏控制器简介

1、TSC2046概貌

2、TSC2046引脚描述

3、TSC2046应用电路

4、常见接线方法

YU=Y-

YD=Y+

XL=X-

XR=X+

二、TSC2046编程注意事项

TSC2046的PENIRQ脚在触摸屏被按下的时候输出低电平,没有按下的时候输出高电平。需要格外注意的是在MCU给TSC2046发送命令的时候,次引脚也会产生错误的低电压脉冲,0 us

It is recommended that the processor mask the interruptPENIRQ is associated with whenever the processor sendsa control byte to the TSC2046. This prevents false triggeringof interrupts when the PENIRQ output is disabled in thecases discussed in this section.

                                  摘自:《TSC2046 芯片手册》

  为了消除这种错误的触发,在发送命令之前先禁止TSC2046的中断线,发送命令后再重新使能中断。

/*

****************************************************************************************************

* 函 数 名: TSC2046_ReadAdc

* 功能说明: 选择一个模拟通道,启动ADC,并返回ADC采样结果

* 形 参:_ucCh = 0x90 表示Y通道; 0xd0 表示X通道

* 返 回 值: 12位ADC值

****************************************************************************************************

*/

uint16_t XPT2046_ReadAdc(uint8_t _ucCh)

{

uint16_t dat;

EXTI_IRQ_Cmd( EXTI_Line4,DISABLE); //发送命令时会产生误中断信号,屏蔽中断

XPT2046_WriteCMD(_ucCh);

dat = XPT2046_ReadCMD();

EXTI_ClearITPendingBit(EXTI_Line4); //产生的误中断信号会将中断标志位置1

EXTI_IRQ_Cmd( EXTI_Line4,ENABLE); //重新使能中断


return dat;

}


三、触摸屏操作实例

1、触摸屏x/y方向的确定

  刚买来的触摸屏,我们需要进行x/y方向的确定。确定方法:在进入TSC2046触发信号引起的中断服务程序中,通过串口打印出两个通道的电压值。依次获取触摸屏四个角的电压值,最后就可以根据这些电压值确定x/y的方向。

  以野火的3.2寸LCD触摸屏为例(注意液晶屏的正方向如下方左图所示):

2、触摸屏矫正

  触摸屏矫正的目的是为了获取触摸屏触点电压到LCD触摸屏像素坐标的转换关系。有此参数,就可以根据触摸屏的触点电压找到对应的LCD上的像素点。

  试想如何根据上方的两图提供的数据,想出一种简单的矫正算法。最简单的就是:

以右上角为起点,左下角为终点,也就是说右上角为(0,0),左下角为(320,240)

对x方向进行320等分,对y方向进行240等分

  事实上,为了获得较好的结果,矫正算法也是很复杂的,有现成的函数可以调用,笔者没有去研究。

  使用者需要格外注意的是:在矫正的时候,LCD的显示方向要与触摸屏的方向一致,否则矫正失败。矫正成功之后,以后就可以根据触电电压结合矫正参数算出LCD上对应的位置。

  在使用中,有可能LCD的显示方向与触摸屏的方向不一致,但是只要找到合适的对应关系,就能正确操作。举例:

触摸屏:
GRAM扫描方向:右上角-->左下角(横屏)
y(240)
<------------
| |
| |
| |
| |
| | x
| | (320)
| |
| |
| |
| |
| |
| |
------------- V

BMP图片显示:
GRAM扫描方向:右下角-->左上角(横屏)
y(240)
------------A
| |
| |
| |
| |
| | x
| | (320)
| |
| |
| |
| |
| |
| |
<------------

触摸屏与BMP图片显示的坐标转换关系:Y-Mirror
  X触 = 320 - XBMP
  Y触 = XBMP

  


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式开发中,STM32的时钟系统因其灵活性和复杂性成为开发者关注的焦点。然而,看似简单的时钟配置背后,隐藏着诸多易被忽视的陷阱,轻则导致系统不稳定,重则引发硬件损坏。本文从时钟源选择、PLL配置、总线时钟分配等关键环...

关键字: STM32 时钟系统

在嵌入式系统开发中,STM32系列微控制器的内部温度传感器因其低成本、高集成度特性,广泛应用于设备自检、环境监测等场景。然而,受芯片工艺差异和电源噪声影响,其原始数据存在±1.5℃的固有误差。本文从硬件配置、校准算法、软...

关键字: STM32 温度传感器

基于ABB机器人生产线 ,设计了一种西门子PLC自保护智能控制系统 。该系统采用HK-FKGD40无线手持报警器 , 受机器人挤压时人员通过该报警器便可触发机器人智能判断 、自动回退运动实现自我解救 , 同时系统发出声光...

关键字: 无线手持报警器 自保护;智能 PLC ABB机器人 触摸屏

在能源效率与智能化需求双重驱动下,AC-DC转换器的数字控制技术正经历从传统模拟方案向全数字架构的深刻变革。基于STM32微控制器的PFM(脉冲频率调制)+PWM(脉冲宽度调制)混合调制策略,结合动态电压调整(Dynam...

关键字: AC-DC STM32

在科技飞速发展的当下,智能设备已深度融入人们的生活与工作。其中,PDA(Personal Digital Assistant,个人数字助理)作为一款集信息输入、存储、管理和传递于一体,且具备办公、娱乐、移动通信等多种功能...

关键字: 智能设备 触摸屏 微控制器

当前智能家居产品需求不断增长 ,在这一背景下 ,对现有浇花装置缺陷进行了改进 ,设计出基于STM32单片机的全 自动家用浇花机器人。该设计主要由机械结构和控制系统构成 ,机械结构通过麦克纳姆轮底盘与喷洒装置的结合实现机器...

关键字: STM32 麦克纳姆轮 安全可靠 通过性强

用c++编程似乎是让你的Arduino项目起步的障碍吗?您想要一种更直观的微控制器编程方式吗?那你需要了解一下Visuino!这个图形化编程平台将复杂电子项目的创建变成了拖动和连接块的简单任务。在本文中,我们将带您完成使...

关键字: Visuino Arduino ESP32 STM32

基于STM32与LoRa技术的无线传感网络凭借其低功耗、广覆盖、抗干扰等特性,成为环境监测、工业自动化等场景的核心解决方案。然而,如何在复杂电磁环境中实现高效休眠调度与动态信道优化,成为提升网络能效与可靠性的关键挑战。本...

关键字: STM32 LoRa

在实时控制系统、高速通信协议处理及高精度数据采集等对时间敏感的应用场景中,中断响应延迟的优化直接决定了系统的可靠性与性能上限。STM32系列微控制器凭借其灵活的嵌套向量中断控制器(NVIC)、多通道直接内存访问(DMA)...

关键字: STM32 DMA

数字电源技术向高功率密度、高效率与高动态响应方向加速演进,STM32微控制器凭借其基于DSP库的算法加速能力与对LLC谐振变换器的精准控制架构,成为优化电源动态性能的核心平台。相较于传统模拟控制或通用型数字控制器,STM...

关键字: STM32 数字电源
关闭