版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 s3c2410触摸屏控制实验嵌入式微处理器及应用学 院 计算机工程学院 专 业 计算机科学与技术 摘要 触摸屏(tsp)作为一种最新的电脑输入输出设备,因具有简单、方便的特点而逐步被广泛使用。在对tsp技术介绍的基础上,详细叙述了基于s3c2410四线电阻式触摸屏控制电路和驱动程序设计过程。这种触摸屏使用逐次逼近式的ad转换器来获取触摸点的坐标,并通过平均值法修正误差而得到最后结果。 关键词:触摸屏;s3c2410;a/d转换器 目 录第一章 触摸屏简介11.1 触摸屏理论知识基础11.2 电阻触摸屏简介11.3 电阻触摸屏测量步骤3第二章s3c2410 模数转换器(adc)及触摸屏控制器4
2、2.1 s3c2410模数转换器(adc)及触摸屏控制器简介42.1 adc及触摸屏控制器的工作模式62.1.1 adc普通转换模式62.1.2 独立x/y轴坐标转换模式62.1.3 自动x/y轴坐标转换模式62.1.4 中断等待模式62.1.5 闲置模式62.3 触摸屏程序设计92.3.1 主函数设计92.3.2 触摸屏按下中断服务子程序设计102.3.3 int_adc中断服务子程序设计102.3.4 触摸屏松开中断服务子程序设计10结论15参考文献16第一章 触摸屏简介1.1 触摸屏理论知识基础从市场角度来讲,触摸屏是一种定位设备,用户可以直接用手向计算机输入坐标信息,它和鼠标、键盘一样
3、,是一种输入设备。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。利用这种技术,只要用手指轻轻地指碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直接了当,这种技术极大方便了那些不懂电脑操作的用户。从技术原理角度讲,触摸屏是一套透明的绝对寻址系统,首先,触摸屏必须保证是透明的,因此它必须通过材料科技来解决透明问题,像数字化仪、写字板、电梯开关等这些设备都不是触摸屏。其次,触摸屏是绝对坐标,手指碰到显示屏哪里就是哪里,不需要第二个动作便可以实现相应的操作,不像鼠标是相对定位的一套系统。而且触摸屏软件不需要游标,有游标反而会影响用户的注意力,因为游标是给相对定位的设
4、备用的,相对定位的设备要移动到一个位置,首先要知道现在位置,接下来要到那个位置,需要不停的给用户反馈当前的位置相应信息才可以避免出现偏差。对于采取绝对坐标定位的触摸屏来说是不需要。最后,是需要能检测手指触碰动作并且判断手指相应位置,各类触摸屏技术便是围绕“检测手指触摸”而不同发展的。并且从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感触摸屏、电阻式触摸屏、电容式触摸屏、红外线触摸屏、表面声波触摸屏。其中矢量压力传感技术触摸屏已退出历史舞台;红外线技术触摸屏价格低廉,但其外框易碎,容易产生光干扰,曲面情况下失真;电容技术触摸屏设计构思合理,但其图像失真问题很难得到根本解决;电阻技术触摸屏
5、的定位准确,但其价格颇高,且怕刮易损;表面声波触摸屏解决了以往触摸屏的各种缺陷,清晰不容易被损坏,适于各种场合,缺点是屏幕表面如果有水滴和尘土会使触摸屏变的迟钝,甚至不工作。以上便是一些触摸屏技术的简介。对于一种触摸屏评判,技术原理只是其中的一部分,触摸屏要在各个领域应用,还需要在很多方面有所发展,例如选用材料的耐用性如何,反应速度如何,价格能否为大众所接收,这些都是评判一种触摸屏好坏的一些方面。1.2 电阻触摸屏简介目前基于电阻技术的触摸屏由于定位准确,亦可满足绝大多数用户的使用要求,下面将着重介绍电阻式触摸屏的基本原理:电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻
6、璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。图1-1所示: 图1-1 电阻触摸屏剖面结构当手指触摸屏幕时,平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层接通y轴方向的 5v均匀电压场,使得侦测层的电压由零变为非零,控制器侦测到这个接通后,进行a/d转换,并将得到的电压值与5v相比即可得触摸点的y轴坐标,同理得出x轴的坐标,这就是所有电阻技术触摸屏共同的最基本原理。但是四线电阻触摸屏由于价格低廉,在通用领域的运用,下面
7、将结合s3c2410内置的触摸屏控制器来详细讲解整个触摸屏电路的工作及测量过程。如图1-2所示:四线电阻触摸屏测量时的等效电路。如图1-2 四线电阻触摸屏测量时的等效电路。1.3 电阻触摸屏测量步骤(1) 在触摸屏没有被按下的时候,触摸屏的x轴和y轴不会接触在一起,此时这个电路处在“pen down detect”状态。s1、s2、s4断开,s3、s5闭合。x+x-的整个轴上的电压均为0v(gnd),y-端悬空,y+端由于有上拉电阻r1的存在而呈现高电平。当“pen down”后,x轴和y轴受挤压而接触导通后,y轴上的电压由于连通到x轴接地而变为低电平,此低电平可做为中断触发信号来通知cpu发
8、生“pen down”事件。 (2) 当检测到“pendown”事件后,cpu立刻进入x轴坐标测量状态:s1、s3闭合,s2、s4、s5断开(y+、y-两断悬空)。由于x轴和y轴在接触点按下而连通,因此y+端的x_adc可以认为是x轴的分压采样点(通过测量x_adc的电压可以得到x+到接触点,以及x-到接触点的比例),从而计算出x轴的坐标。 (3) 采样完x轴的坐标后,s1、s3、s5断开,s2、s4闭合,同样原理,我们可以进一步得到y轴的坐标。 第二章s3c2410 模数转换器(adc)及触摸屏控制器2.1 s3c2410模数转换器(adc)及触摸屏控制器简介s3c2410内置1个8信道的1
9、0bit模数转换器(adc),该adc能以500ksps的采样资料将外部的模拟信号转换为10bit分辩率的数字量。同时adc部分能与cpu的触摸屏控制器协同工作,完成对触摸屏绝对地址的测量。特性:-分辩率:10bit-相信误差:+/- 2lsb-最大转换速率:500ksps-模拟量输入范围:03.3v-分步 x/y坐标测量模式-自动x/y坐标测量模式-中断等待模式下图是adc及触摸屏控制器部分的逻辑示意图,图2-1 图2-1 adc及触摸屏控制器部分的逻辑示意图 随后的图2-2和图2-3分别是在s3c2410的adc以及触摸屏控制器的基础上外接触摸屏的示意图和外部电路的实际原理图。需要补充说明
10、的是,图中q1、q2为p沟道mos管,开门电压为1.8v;q3、q4为n沟道mos管,开门电压为2.7v。运用学过的电子电路的知识,我们知道当mos管导通后(栅极电压达到开门电压之后),mos管的源-漏极之间可以认为是直通的(导通电阻为毫欧级),即可以把mos管认为是图4-7中真正的“开关”。 avdd 是外部模拟参考源,一般接3.3v电源,xp、xm和yp、ym分别是触摸屏的4条引线,各自对应x轴和y轴电阻。 图2-2 外接触摸屏的示意图 图2-3 外部电路的实际原理图2.1 adc及触摸屏控制器的工作模式2.1.1 adc普通转换模式 普通转换模式(auto_pst=0,xy_pst=0)
11、是用来进行一般的adc转换之用的,例如通过adc测量电池电压等等。2.1.2 独立x/y轴坐标转换模式 独立x/y轴坐标转换模式其实包含了x轴模式和y轴模式2种模式。 首先进行x轴的坐标转换(auto_pst=0,xy_pst=1),x轴的转换资料会写到adcdat0寄存器的xpdat中,等待转换完成后,触摸屏控制器会产生相应的中断。 然后进行y轴的坐标转换(auto_pst=0,xy_pst=2),y轴的转换资料会写到adcdat1寄存器的ypdat中,等待转换完成后,触摸屏控制器会产生相应的中断。2.1.3 自动x/y轴坐标转换模式 自动x/y轴坐标转换模式(auto_pst=1,xy_p
12、st=0)将会自动地进行x轴和y轴的转换操作,随后产生相应的中断。2.1.4 中断等待模式 在系统等待“pen down”,即触摸屏按下的时候,其实是处于中断等待模式。一旦被按下,实时产生“int_tc”中断信号。每次发生此中断都,x轴和y轴坐标转换资料都可以从相应的资料寄存器中读出。2.1.5 闲置模式在该模式下转换资料寄存器中的值都被保留为上次转换时的资料。2.2 adc及触摸屏控制器的寄存器详解adccon :adc控制寄存器(见图2-4)enable_start :置1:启动adc转换置0:无操作resr_start :置1:允许读操作启动adc转换置0:禁止读操作启动adc转换std
13、bm:置1:将adc置为闲置状态(模式)置0:将adc置为正常操作状态sel_mux:选择需要进行转换的adc信道prscvl:adc转换时钟预分频参数prscen:adc转换时钟使能ecflg:adc转换完成标志位(只读)为1:adc转换结束为0:adc转换进行中 图2-4 adc控制寄存器 adctsc :触摸屏控制寄存器(见图2-5)xy_pst :对x/y轴手动测量模式进行选择auto_pst:x/y轴的自动转换模式使能位pull_up :xp端的上拉电阻使能位xp_sen :设置nxpon输出状态xm_sen :设置xmon输出状态yp_sen :设置nypon输出状态ym_sen
14、:设置ymon输出状态 图2-5 触摸屏控制寄存器 adcdly :adc转换周期等待定时器adcdat0 :adc资料寄存器0(见图2-6) xpdata :x轴转换资料寄存器xy_pst :选择x/y轴自动转换模式auto_pst:x/y轴自动转换使能位updown :选择中断等待模式的类型为0:按下产生中断为1:释放产生中断 图2-6 adc资料寄存器0adcdat1 : adc资料寄存器1(见图2-7)定义类同于adcdat0。 图2-7 adc资料寄存器12.3 触摸屏程序设计2.3.1 主函数设计1.设置a/d转换器时钟(adccon寄存器)。2.设置采样延时时间(adcdly寄存
15、器)。3.开启adc总中断(intmsk)、int_tc中断即触摸屏被按下或松开时产生中断(intsubmsk)、int_adc中断即adc转换结束时产生中断。4.设置触摸屏为等待中断模式(设置adctsc),一般为先设置为等待触摸屏按下中断模式。2.3.2 触摸屏按下中断服务子程序设计1.中断发生后,设置adctsc寄存器为0x0c进入自动(连续)x/y轴坐标转换模式。2.设置adccon寄存器开始转换。3. adc转换结束后将转换后x、y坐标值分别写入adcdat0、adcdat1中(硬件自动完成),发出int_adc中断(转换结束中断)。4.清除int_tc中断(设置subsrcpnd、
16、srcpnd、intpnd寄存器)。2.3.3 int_adc中断服务子程序设计1.读adcdat0、adcdat1寄存器对转换结果处理。2.设置触摸屏为等待松开中断方式()。3.清除int_adc中断(设置subsrcpnd、srcpnd、intpnd寄存器)。2.3.4 触摸屏松开中断服务子程序设计1.设置触摸屏为等待按下中断方式(设置adctsc)。2.清除int_tc中断(设置subsrcpnd、srcpnd、intpnd寄存器)。2.4 源码分析void tsp_test(void) uart_printf( touch screen test example.n); radcdly
17、 = 50000;/测量延时/ adc start or interval delay rgpgcon |= 0xff000000;/设置gpio 为 触摸屏模式rgpgup = 0xffff;radctsc = (08) | (17) | (16) | (05) | (14) | (03) | (12) | (0);/auto sequential x/y position conversion,no operation,xp pull-up radccon = (114) | (adcprs6) | (53) | (02) | (01) | (0);/ enable prescaler,p
18、rescaler,ain7/5 fix,normal,disable read start,no /operationradctsc = (08) | (17) | (16) | (05) | (14) | (03) | (02) | (3);/ym:gnd,yp:ain5,xm:hi-z,xp:external voltage,xp pullup en,auto /sequential,waiting for interrupt mode delay(100);pisr_adc = (uint32t)tsp_int;/添加 adc 中断 函数rintmsk &= (bit_adc);/ 屏蔽
19、adc中断rintsubmsk = (bit_sub_tc);/ 屏蔽 触摸屏 子中断g_nkeypress = 1;while(g_nkeypress=1)/ only for board test to exitif(uart_getkey() return;/按键即退出/ or press any key to exitrintsubmsk |= bit_sub_tc; /清除 触摸屏子中断rintmsk |= bit_adc;/清除 adc标志位uart_printf( end.n);void _irq tsp_int(void)/ int i;uint32t szpos40; /存贮
20、 测量结果的数值rintsubmsk |= (bit_sub_adc | bit_sub_tc);/ mask sub interrupt (adc and /tc) / tc(touch screen control) interruptif( radctsc & 0x100) /等待中断模式radctsc&=0xff;/ set stylus down interruptelse/有触点uart_printf( stylus down!n);szpos30 = g_nposx;szpos34 = g_nposy;/ /hi-z,ain5,gnd,ext vlt,pullup dis,nor
21、mal,x-positionradctsc = (08)|(07)|(16)|(15)|(04)|(03)|(02)|(1);/adc input ain5radccon = (114)|(396)|(53)|(02)|(11)|(0);radcdat0;/预读 开始 数据转换delay(10);for(i = 0,g_nposx=0; insampleno; i+)while(!(0x8000 & radccon);/ check ecflgszposi = (0x3ff & radcdat0); /读取转换值g_nposx += szposi; /迭加g_nposx = g_nposx/nsampleno;/ 平均值uart_printf( x-posionain5 is %04dn, g_nposx);/ /gnd,ext vlt,hi-z,ain7,pullup dis,normal,y-positionradctsc = (08)|(17)|(06)|(05)|(14)|(03)|(02)|(2);/adc input ain7radccon = (114)|(396)|(73)|(02)|(11)|(0);radcdat1; /预读 开始 数据转换delay(10);for(i = 0,g_np
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024云存储服务托管合同
- 2024养殖业产品设计与包装合同
- 2024室内外植物装饰租赁合同
- 2024年广告牌钢结构安装合同模板
- 2024年商用建筑装修分包合同
- 2023年浙江省机关单位遴选和选调公务员考试真题
- 2024年塑料制品研发与技术合作合同
- 2024年加工贸易合同范本
- 2023年福建莆田第五中学附属学校招聘体育教师考试真题
- 2024天然气管道铺设与运营维护合同
- 【小升初】江苏省徐州市2023-2024学年六年级下学期英语期末检测试卷(含解析)
- 工程款支付保函协议书
- 内镜进修汇报
- 计算机那些事儿-知到答案、智慧树答案
- 2024年《军事理论》考试题库附答案(含各题型)
- 2024年通信电子计算机技能考试-中国联通笔试参考题库含答案
- 新修订公司法专题讲座课件
- 会计技能大赛实训总结与反思
- 无人机驾驶航空器飞行管理暂行条例(草案)知识考试题库(85题)
- 银行营销策略市场调研分析
- 2024年房地产公司设计类技术笔试历年真题荟萃含答案
评论
0/150
提交评论