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