您好,欢迎访问三七文档
JX44B0实验系统教案触摸屏控制实验武汉创维特信息技术有限公司2020/2/222提纲13245基础知识实验目的实验内容预备知识实验设备6实验过程7实验报告要求3一实验目的实验目的了解触摸屏基本概念与原理编程实现并掌握对触摸屏的控制4二实验内容实验内容编程实现触摸屏坐标到LCD坐标的校准编程实现触摸屏坐标采集以及LCD坐标的计算5三预备知识预备知识了解ADT集成开发环境的基本功能学习触摸屏的原理了解触摸屏与显示屏的坐标转换6四实验设备实验设备JX44B0教学实验箱ADT1000仿真器和ADTIDE集成开发环境串口连接线7五基础知识触摸屏的基本原理触摸屏按其工作原理的不同分为:表面声波屏电容屏电阻屏红外屏8五基础知识电阻技术触摸屏电阻触摸屏是与显示器表面非常配合的电阻薄膜屏,这是一种多层复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(ITO氧化铟,透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、内表面也涂有一层ITO涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。9五基础知识电阻技术触摸屏当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触并计算出(X,Y)的位置,再根据模拟鼠标的方式运作。主要特点:高解析度,高速传输反应表面硬度处理,减少擦伤、刮伤及防化学处理具有光面及雾面处理一次校正,稳定性高,永不漂移10五基础知识表面声波技术触摸屏表面声波技术是利用声波在物体的表面进行传输,当有物体触摸到表面时,阻碍声波的传输,换能器侦测到这个变化,反映给计算机,进而进行鼠标的模拟。主要特点:清晰度较高,透光率好高度耐久,抗刮伤性良好一次校正不漂移反应灵敏缺点:易污损,需要经常维护11五基础知识电容技术触摸屏利用人体的电流感应进行工作。用户触摸屏幕时,由于人体电场,用户和触摸屏表面形成以一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。主要特点:对大多数的环境污染物有抗力人体成为线路的一部分,因而漂移现象比较严重带手套不起作用需经常校准不适用于金属机柜当外界有电感和磁感的时候,会使触摸屏失灵12五基础知识触摸屏与显示器的配合触摸屏将触摸时的X、Y方向的电压值送到A/D转换接口,经过A/D转换后的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。以四线电阻式触摸屏为例:每次按压后,将产生4个电压信号:X+、Y+、X-、Y-,它经过到A/D得到相应的值,LCD分辨率与触摸屏的分辨率一般是不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。13五基础知识实验说明本实验主要目的是使学生了解触摸屏工作原理以及触摸屏数据采集编程方法。JX44B0教学系统的触摸模块由一个电阻式触摸屏和S3C44B0的触摸屏控制电路组成。使用S3C44B0的GPIO端口E来实现触摸屏的输入。14五基础知识数据采集口初始化将X方向电压置低,具体指将X方向的某个脚对应的I/O端口设置为输出状态,并输出0,其他脚对应的端口设置为输入状态,等待触摸事件发生,port_init函数实现该初始化操作。rPUPE=0xff;/*PORTE不使用上拉*/rPCONE=(rPCONE&0x300ff)|0x0400;/*pe5(touch_yh)输出,pe467输入*/rPDATE=(rPDATE&0x0f)|0x0;/*PORTE第5口输出低电平*/Delay(100);/*延时*/15五基础知识等待触摸事件如果有一个触摸动作,将在Y方向上得到低电平信号,由于这个信号同时被作为触摸屏中断信号的输入,所以会产生一个信号,以便进行采集。本实验通过wait_for_touch函数等待触摸事件。while(rPDATG&0x8);/*读取PORTG状态,直到产生PORTG的第3口(外部中断3)为低电平*/16五基础知识采集数据数据采集过程需要使用A/D来完成,为了保证准确性,通常采集10次以上,并且去头去尾只取其中的部分数据再平均;采集Y方向的数据:将X+输出高电平,X-输出低电平;采集X方向的数据:将Y+输出高电平,Y-输出低电平。17五基础知识采集X方向数据get_row_inputrADCPSR=0xF;/*设置A/D转换时钟MCLK/(2*(15+1)*16)*//*在Y方向加电压*/rPCONE=((rPCONE&0x300FF)|0x5000);/*PE7,6输出,5,4输入*/rPDATE=0x80;/*PE6,置低,PE7置高*/Delay(200);for(index=0;index16;index++)/*循环采集*/{rADCCON=(0x1|(0x12));/*ADC1Enable,1通道*/while(rADCCON&0x1);while(!(rADCCON&0x40));sum+=rADCDAT;/*读入转换值*/Delay(1);}/*取平均值*/sum/=(index-1);18五基础知识采集Y方向数据get_col_inputrADCPSR=0xF;/*设置A/D转换时钟MCLK/(2*(15+1)*16)*//*在X方向加电压*/rPCONE=((rPCONE&0x300FF)|0x0500);/*PE5,4输出,7,6输入*/rPDATE=0x20;/*PE5,置高,PE4置低*/Delay(200);for(index=0;index16;index++)/*循环采集*/{rADCCON=((0x1|(0x02));/*ADC0Enable,0通道*/while(rADCCON&0x1);while(!(rADCCON&0x40));sum+=rADCDAT;/*读入转换值*/Delay(1);}/*取平均值*/sum/=(index-1);19五基础知识一次完整的触摸事件采集程序port_init();wait_for_touch();set_row_input();temp_x_min=get_row_input();set_col_input();temp_y_min=get_col_input();20五基础知识触摸屏坐标到LCD坐标的转换坐标校准:最简单的方式可以分别获取LCD左上角(0,0)和右下角(319,239)的触摸屏坐标(x_min,y_min)和(x_max,y_max)。然后通过如下函数实现触摸屏坐标到LCD坐标的转换,其中(x,y)为带求点的触摸屏坐标。intget_y_lcd(inty_min,inty_max,inty)intget_x_lcd(intx_min,intx_max,intx)具体的计算公式如下:lcdx=(320.0/(x_max-x_min)*(x-x_min))lcdy=(240.0/(y_max-y_min)*(y-y_min));lcdx、lcdy分别为x、y对应的LCD坐标。21六实验过程实验过程22六实验报告要求实验报告要求常见的触摸屏有哪几种,说明各自的优缺点以四线电阻式触摸屏为例,说明电阻式触摸屏的工作原理举例说明触摸屏坐标与屏幕坐标之间的转换
本文标题:触摸屏控制实验
链接地址:https://www.777doc.com/doc-3906805 .html