S3C2410触摸屏控制实验毕业论文.doc

上传人:laozhun 文档编号:3932323 上传时间:2023-03-28 格式:DOC 页数:19 大小:269.50KB
返回 下载 相关 举报
S3C2410触摸屏控制实验毕业论文.doc_第1页
第1页 / 共19页
S3C2410触摸屏控制实验毕业论文.doc_第2页
第2页 / 共19页
S3C2410触摸屏控制实验毕业论文.doc_第3页
第3页 / 共19页
S3C2410触摸屏控制实验毕业论文.doc_第4页
第4页 / 共19页
S3C2410触摸屏控制实验毕业论文.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《S3C2410触摸屏控制实验毕业论文.doc》由会员分享,可在线阅读,更多相关《S3C2410触摸屏控制实验毕业论文.doc(19页珍藏版)》请在三一办公上搜索。

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/n

22、SampleNo;/ 平均值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_nPosY=0; inSampleNo; i+)while(!(0x8000 &

23、 rADCCON);/ Check ECFLGszPosi = (0x3ff & rADCDAT1);/读取转换值g_nPosY += szPosi;/迭加g_nPosY = g_nPosY/nSampleNo; / 平均值uart_printf( Y-PosionAIN7 is %04dn, g_nPosY);/GND,AIN,Hi-z,AIN,Pullup En,Normal,Waiting mode rADCTSC=(18)|(17)|(16)|(05)|(14)|(03)|(02)|(3);rSUBSRCPND |= BIT_SUB_TC;/清除 触摸屏子中断rINTSUBMSK =

24、(BIT_SUB_TC);/ Unmask sub interrupt (TC) ClearPending(BIT_ADC); /清除 ADC中断结论当前比较流行的ARM嵌入式处理器,如Samsung的S3C系列、Intel的Xscalc系列、Motorola的龙珠系列等,几乎都内嵌有ADC触摸屏模块。使许多嵌入式产品如手机、PDA等仅通过触笔就能轻松的对输入进行操作,极大的方便了用户的使用。本文给出了基于S3C2410处理器的触摸屏简单功能的实现,是触摸屏嵌入式应用的基础,可以进一步开发手写识别等功能,广泛应用与各种嵌入式系统中。参考文献1 田泽.嵌入式开发与应用教程M.北京:北京航空航天大学出版社.2004:376-3802 王立风.触摸屏技术及其应用J.电子工业专用设备.2006,35(1):63-663 吴金宏.触摸屏技术及其应用J.家庭电子.1998(4):59

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号