嵌入式触摸屏实验_第1页
嵌入式触摸屏实验_第2页
嵌入式触摸屏实验_第3页
嵌入式触摸屏实验_第4页
嵌入式触摸屏实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、触摸屏实验一、实验目的了解触摸屏的基本概念与原理。理解触摸屏工作原理。二、实验设备计算机;博创UP-3000实验箱三、实验步骤新建工程,将“3000的ADS实Exp8触摸屏实验”中的文件添加到工程中。定义头文件中的宏定义。3阅读触摸屏读取触摸点x,y电压值、坐标程序,画出流程图。编写触摸点坐标及动作判断函数U32TchScr_GetOSXY(int*x,int*y),返回值为触摸动作,画出程序流程图。提高部分:与LCD结合,实现手写板功能,在触摸屏上画线,在LCD上显示出来。提高部分:与LCD结合,实现按钮功能,在LCD上画一矩形按钮,点击该按钮,实现某个操作。四、程序流程图,程序源代码及注释

2、和程序运行结果(截屏)。触摸点坐标判断函数:U32TchScr_GetOSXY(int*x,int*y)/获得触摸点坐标并返回触摸动作staticU32mode=0;staticintoldx,oldy;inti,j;for(;)if(mode!=TCHSCR_ACTION_DOWN)&(mode!=TCHSCR_ACTION_MOVE)if(!TCHSCR_IsPenNotDown)/有触摸动作TchScr_GetScrXY(x,y,TRUE);/得到触摸点坐标for(i=0;i40;i+)if(TCHSCR_IsPenNotDown)/抬起break;Delay(100);if(i40)/

3、在规定的双击时间之内抬起,检测是不是及时按下for(i=0;i60;i+)if(!TCHSCR_IsPenNotDown)if(i10)i=60;break;/如果单击后很短时间内按下,不视为双击mode=TCHSCR_ACTION_DBCLICK;for(j=0;j4|ABS(oldy-*y)4)/有移动动作mode=TCHSCR_ACTION_MOVE;break;Delay(50);oldx=*x;oldy=*y;/编写该函数returnmode;anotherclick);mode2=TchScr_GetOSXY(&x2,&y2);/获得触摸点坐标并返回触摸动作Uart_Printf(

4、Action=click:x=%d,ty=%dn,x2,y2);Delay(1000);if(x1=x2)/无斜率情况for(i=y1;i=y2;i+)LCDBufferix1=0 x0000e000;elseif(abs(x1-x2)=abs(y1-y2)k=(y2-y1)/(x2-x1);if(x1x2)for(j=x1;j=x2;j+)i=(int)(y1+k*(j-x1);LCDBufferij=0 x0000e000;elsefor(j=x2;j=x1;j+)i=(int)(y1-k*(x1-j);LCDBufferij=0 x0000e000;elsek=(y2-y1)/(x2-x

5、1);if(y1y2)for(i=y1;i=y2;i+)j=(int)(x1+(i-y1)/k);LCDBufferij=0 x0000e000;elsefor(i=y2;y=y1;y+)j=(int)(x1-(y1-i)/k);LCDBufferij=0 x0000e000;LCD_Refresh();矩形按键控制步进电机函数:voidTchScr_Test()U32mode,mode1,mode2;intx,y,x1,y1,x2,y2,i,j,p,q;floatk;/A,AB,B,BC,CCD,D,DAintstepdata=0 x10,0 x30,0 x20,0 x60,0 x40,0

6、xc0,0 x80,0 x90;/正向转动时的位控制数组intstepdata1=0 x90,0 x80,0 xc0,0 x40,0 x60,0 x20,0 x30,0 x10;/反向转动时的*Uart_Printf(npleasetouchthescreenn);/控制电机for(i=70;i=120;i+)for(j=150;j=150&x=70&y=120)/区域判断if(mode=TCHSCR_ACTION_CLICK)/单击正转for(j=0;j20000;j+)/设置转动次数,尽量大会效果明显for(i=0;i8;i+)/步距角为360/512/8,所以即使四相步机转一次也不会有明

7、显转动现象SETEXIOBITMASK(stepdatai,0 xF0);/通过宏定义空位EXI0的高四位来控制步进机正向转动Delay(3000);elseif(mode=TCHSCR_ACTION_DBCLICK)/双击反转for(j=0;j20000;j+)for(i=0;i8;i+)SETEXIOBITMASK(stepdata1i,0 xF0);/反向转Delay(3000);结果截图:五、实验心得通过本次实验,了解的触摸屏的基本实现原理,我们所用的实验箱的触摸屏为电阻式,基本原理是检测触摸点被压下后的电压值来返回坐标,还有一种触摸屏为电容式。编程时应注意,由于每个触摸屏对检测电压有偏值差,所以,获取点坐标操作之前,要对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论