当前位置:首页 > 单片机 > 单片机
[导读]多功能采集显示平台的人机交互采用的触屏方案。触屏功能主要是依赖电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化

多功能采集显示平台的人机交互采用的触屏方案。

触屏功能主要是依赖电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。

电阻触摸屏的优点:精度高、价格便宜、抗干扰能力强、稳定性好。

电阻触摸屏的缺点:容易被划伤、透光性不太好、不支持多点触摸。

多功能采集显示平台采用了触摸屏控制芯片为XPT2046。XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。

硬件设计方面,多功能采集显示平台采用SPI的方式读取XPT2046所存储的XY的逻辑电压值,同时采用了外部中断的方式响应电阻触摸屏的点击事件。SPI接口使用片上资源的SPI2,占用PB13~15,片选信号线占用IO口PB12,触摸响应信号线占用PG7,使用外部中断模式,并且中断级别高于显示刷新定时中断。


软件设计方面有以下3点

第一,初始化XPT2046芯片,初始化SPI功能,并设置外部中断事件,同时使能XPT2046芯片和IO内部时钟。

第二,电阻触摸屏的点击中断事件,编写中断服务函数,进行对点击的位置的获取,并且根据获取的位置进行区域判定,经行相应的操作。

第三,对于电阻触摸屏的特性,点击电阻触摸屏后驱动芯片可以产生一个中断信号提示触摸动作,同时在寄存器存放这X和Y轴两个逻辑电压值,这两个逻辑电压值的精度是12位的,与TFTLCD的物理坐标值(320*240)是有一定相关性的,但是便于程序的编写,我们需要使得逻辑电压值和物理坐标值相同。所以编写了电阻触摸屏的校正程序,校正的算法是改进的五点校正法


XPT2046触摸屏初始化代码如下:


voidTouch_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

NVIC_InitTypeDefNVIC_InitStructure;

EXTI_InitTypeDefEXTI_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;

//GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关闭jtag,使能SWD,可以用SWD模式调试

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;

GPIO_Init(GPIOG,&GPIO_InitStructure);

GPIO_EXTILineConfig(GPIO_PortSourceGPIOG,GPIO_PinSource7);//设置管较为外部中断管脚

EXTI_InitStructure.EXTI_Line=EXTI_Line7;

EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//为中断请求

EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//Falling下降沿Rising上升

EXTI_InitStructure.EXTI_LineCmd=ENABLE;

EXTI_Init(&EXTI_InitStructure);

EXTI_ClearITPendingBit(EXTI_Line7);//清除线路挂起位

/*EnabletheEXTI4Interrupt*/

NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

SPI2_Init();

CSPin_init();

}



读取XY坐标函数:


u16ADS_Read(u8CMD)

{

u16Num=0,temp;

TCS_LOW;

SPI2_ReadWriteByte(CMD);

delay_us(6);

temp=SPI2_ReadWriteByte(0x00);

Num=temp<<8;

delay_us(1);

temp=SPI2_ReadWriteByte(0x00);

Num|=temp;

Num>>=4;

TCS_HIGH;

return(Num);

}

u16Read_XY(u8CMD)

{

u16i,j;

u16buf[10];

u16sum=0;

u16temp;

for(i=0;i<10;i++)buf[i]=ADS_Read(CMD);

for(i=0;i<9;i++)

{

for(j=i+1;j<10;j++)

{

if(buf[i]>buf[j])

{

temp=buf[i];

buf[i]=buf[j];

buf[j]=temp;

}

}

}

for(i=3;i<7;i++)sum+=buf[i];

temp=sum/(4);

returntemp;

}

u16Read_X(void)

{

u16tempx;

tempx=(Read_XY(CMD_RDX)-XLC)/(KX)+XC;

returntempx;

}

u16Read_Y(void)

{

u16tempy;

tempy=(Read_XY(CMD_RDY)-YLC)/(KY)+YC;

returntempy;

}


这里的KX KYXLC YLC XC YC 都是用于校正电阻屏的系数,缺省值为1.00。


电阻屏的校正可以使用5点矫正法,详情请参考:http://blog.csdn.net/devintt/article/details/47022761


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

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

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

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

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

苏州 2025年5月27日 /美通社/ -- 5月24日-26日,第26届全国医院建设大会暨国际医院建设、装备及管理展览会(CHCC 2025)在武汉举行。艺卓(EIZO)携手术室视觉显示解决方案参展,以科技...

关键字: HC 医学影像 IO 触摸屏

随着手工酿造的普及和复杂程度的不断提高,许多酿酒师——尤其是小规模或独立的酿酒师——仍然依靠手工方法来记录和跟踪关键数据,如温度、pH值、体积和比重。这些读数通常使用手动仪器,记录在纸上或分散在电子表格和文档中,没有集中...

关键字: 触摸屏 物联网 DS18B20 传感器

随着嵌入式系统的广泛应用,触摸屏作为人机交互的重要接口,其驱动开发变得愈发重要。本文将详细介绍在嵌入式Linux环境下,触摸屏驱动的开发流程,从设备树的配置到校准算法的实现,为读者提供一个全面的开发指南。

关键字: 嵌入式Linux 触摸屏 校准算法 设备树

将您的树莓派Pico变成带有触摸屏界面的USB-HID设备!在这个项目中,我们将在Arduino IDE中设置编程环境,为3.5”Pico Touch LCD屏蔽配置库,测试基本功能,创建简单的按钮(用于复制和粘贴),显...

关键字: 树莓派 触摸屏 LCD Windows

ADS7846是美国Burr-Brown公司推出的新一代4线制触摸屏控制器,当与触摸屏连用,只要笔或手指点触摸在屏上时,即可迅速得到该点的位置信号以达到在触摸屏表面寻址的目的。

关键字: ADS7846 触摸屏

‌激光治疗仪触摸屏接口设计‌主要包括触摸屏的工作原理、控制器工作原理以及在激光治疗仪中的应用。

关键字: 触摸屏 激光治疗仪

中国深圳 – TITAN Haptics泰坦触觉宣布推出DRAKE LFi触觉马达,旨在满足中国电子市场不断增长的需求。DRAKE LFi专为需要触觉反馈的设备设计,例如触摸屏和触觉按钮。这款新型触觉马达能够提供精准的局...

关键字: 消费电子 触摸屏 可穿戴设备

虽然无数关于未来交通的文章都以四轮电动车作为讨论重点,但在印度、马来西亚、泰国和印度尼西亚等诸多国家,出行更依赖于经济的两轮电动车,包括踏板式摩托车、重型摩托车、电动摩托车、电动轻便摩托车和电动自行车。这些两轮电动车紧跟...

关键字: 电动车 触摸屏 触摸控制器
关闭