ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:1.88MB ,
资源ID:2432141      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2432141.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(触摸屏驱动毕业论文.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

触摸屏驱动毕业论文.doc

1、 盐 城 师 范 学 院 毕业设计 2012-2013学年度 基于S3C44B0X的触摸屏驱动程序的设计 学生姓名 谢云峰 学 院 物理科学与电子技术学院 专 业 电子信息工程 班 级 09(4)班 学 号 09223346 指导教师 施文娟 2013年 5 月 27 日

2、 盐城师范学院毕业设计 基于S3C44B0X的触摸屏驱动程序的设计 摘 要 随着电子设备的不断智能化,传统的键盘、鼠标等人机交互方式已经无法满足人们的需求,人们想要更加方便准确的人机交互工具。而触摸屏通过手指触摸就能实现操作定位,大大简化了电子设备的输入方式,真正实现零距离操作,因此触摸屏得到了越来越广泛的应用。 本文介绍了基于ARM7TDMI内核的高性能微处理器S3C44B0X的基本功能,阐述了触摸屏的组成与基本工作原理,并在分析触摸屏嵌入式系统的基

3、础上,针对触摸屏驱动控制程序的难点,提出了具体的解决方案,最终完成了基于微处理器S3C44B0X的触摸屏驱动控制程序的设计。 【关键词】人机交互,S3C44B0X,触摸屏,嵌入式系统 Driven design of touch screen based on S3C44B0X Abstract With the intelligent electronic devices, Traditional keyboard, mouse and other human-computer interaction has been un

4、able to meet people's needs,People want to have more convenient and accurate human-computer interaction tool. And touch screen can be realized positioning operation by fingers touch,This greatly simplifying the input mode of the electronic equipment and realizing zero distance operation, so the touc

5、h screen has been more and more widely used. This article describes the basic functions of high-performance microprocessor S3C44B0X based on the ARM7TDMI core, Describes the composition and the basic working principle of the touch screen.For the the drive control program’s difficulties of touch scr

6、een,I proposed the specific solutions based on the analysis of the touch-screen embedded system .Finally,I completed the touch screen’s driver control program design based on S3C44B0X. [Key words] Human-Computer Interaction,S3C44B0X,Touch screen,Embedded system 目 录 引 言

7、 4 1 S3C44B0X芯片介绍 4 1.1 S3C44B0X简介 4 1.2 S3C44B0X的特性 5 1.3 S3C44B0X引脚图与嵌入式结构图 8 2 触摸屏原理 10 2.1触摸屏简介 10 2.1.1 电阻式触摸屏结构 11 2.1.2 电阻式触摸屏相关技术 11 2.2 触摸屏工作原理 13 2.2.1触摸屏系统组成 13 2.2.2 触摸屏控制器工作原理 14 3 软件设计 16 3.1驱动程序实现流程 16 3.2中断处理程序 17 3.3 触摸屏按键的坐标算法 18 4 触摸屏驱动程序的测试 19 4.1 测试准备 19 4.2 运行

8、结果 19 结束语 21 参考文献 22 致 谢 23 附 录 24 引 言 随着电子信息技术发展以及数字化设备的普及,基于嵌入式系统的各种产品得到越来越广泛地应用,功能也越来越强大。在巨大市场需求的驱使下,人们对各类电子产品的人机交互界面也有了越来越高的要求。触摸屏正在逐渐取代键盘和鼠标,成为人们所使用的主要的输入设备。 触摸屏作为一种最新的输入设备,它是目前最简单、方便、自然的一种人机交互方式,它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备[1]。触摸屏在我国的

9、应用范围非常广阔,主要是公共信息的查询,如电信局、税务局、银行、电力等部门的业务查询,城市街头的信息查询,此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等[2]。 最近几年随着智能手机和平板的飞速发展,触摸屏最为其最重要的人机交互介质,正在以更快的速度走进我们的生活。 S3C44B0X微处理器是三星公司研发的基于ARM7TDMI核的高性能嵌入式处理器,由于其在拥有高性价比的同时内嵌了多种接口,因此在消费类电子和手持电子设备中了的应用越来越广泛。 本文介绍了基于ARM7TDMI内核的高性能微处理器S3C44B0X的基本功能,阐述了触摸屏基本工作原理,并在

10、分析触摸屏嵌入式系统的基础上,针对触摸屏驱动控制程序的难点,提出了具体的解决方案,最终完成了基于微处理器S3C44B0X的触摸屏驱动控制程序的设计。 1 S3C44B0X芯片介绍 1.1 S3C44B0X简介 Samsung公司的S3C44B0X是国内应用广泛的基于ARM7TMDI内核的SoC。该芯片功能强大,片上资源丰富,是Samsung公司为手持设备等应用提供的高性价比解决方案[3]。 S3C44B0X采用0.25μm CMOS的制作工艺,最大工作主频可达66MHz。三级流水线结构高达0.9MIPS MHz。CPU的核心电压为2.5V,I O口的电压为3.3~3.6V,内核带有8K

11、B的缓存。由于采用了低电压技术,芯片运算速度很快,但功耗却很低。S3C44B0X还采用了一种新的总线结构,那就是SAMBA Ⅱ( 三星ARM CPU 嵌入式总线结构)。同时,此芯片还内置了LCD 控制器,其带有LCD专用的DMA控制器,支持最大到256 色的双层超扭曲向列(DSTN)液晶屏。这是现在应用较多的一种点阵式液晶显示器件,“超扭曲”顾名思义,即液晶屏中液晶分子的排列扭曲角很大,超过了90°。 S3C44B0X提供通用与全面的片上外设,大大减少了系统电路中除处理器以外的其他元器件配置,从而最小化了系统的成本[4]。 片上集成的主要功能如下: *2.5V ARM7TDMI

12、内核,带有8K缓存(SAMBA II总线体系结构,主频高达66MHZ); *外部存储器控制器(FP/EDO/SDRAM控制器,片选逻辑); *LCD控制器(最大支持256色DSTN),并带有1通道LCD专用DMA; *双通道通用DMA,2通道外设DMA 并具有外部请求引脚; *双通道UART带有握手协议(支持IRDA1.0,具有16-byte FIFO)/1通道SIO; *单通道多主IIC-BUS控制器; *单通道IIS-BUS控制器; *5个PWM定时器和1个内部定时器; *看门狗定时器; *71个通用I/O口/8通道外部中断源; *功耗控制:具有正常,低速,空闲和停止模

13、式; *8通道10位ADC; *具有日历功能的RTC; *带PLL的片上时钟发生器。 1.2 S3C44B0X的特性 1) 体系结构 ①  集成了通用嵌入式系统应用和手持电子设备的相关解决方案。 ②  拥有16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系。 ③  集成了Thumb代码压缩机:在最大化代码密度的同时保持了32位指令的性能。 ④  基于JTAG的片上集成ICE调试支持解决方案。 ⑤  集成了32×8位硬件乘法器。 ⑥  SAMBAII是一种新型低功耗的总线结构。 2) 系统(存储)管理器 ①  支持大端或小端模式。 ② 

14、寻址空间:每个地址空间为32M字节(共有256M字节)。 ③  所有地址空间可以使用编程将其设置为8位、16位或32位宽的数据对齐访问。 ④  拥有7个固定的起始地址及大小可编程的地址空间。 ⑤  拥有8个地址空间。 ⑥  所有的存储器空间的操作周期都可以编程。 ⑦  支持外部等待信号延长总线周期。 ⑧  掉电时DRAM/SDRAM能启动自刷新模式。 ⑨  支持地址对称或抵制非对称的DRAM。 3) Cache存储器和片内SRAM ①  一体化的8K字节缓存。 ②  未用的缓存空间用来作为0/4/8K字节的SRAM存储空间。 ③  支持LRU替换算法。

15、 ④  采用“写穿式”策略来保持主存储器与缓存的内容一致性。 ⑤  写存储器具有4级深度。 ⑥  当缓存未命中时,采用“请求数据优先填充”的技术。 4) 时钟和电源管理 ①  片上PLL使MCU工作时最大达到75MHz。 ②  可以通过软件来设置各个功能模块的输入时钟。 ③  电源模式:正常、慢速、空闲和停止模式。 ④  正常模式:正常工作模式。 ⑤  慢速模式:不加PLL的低时钟频率模式。 ⑥  空闲模式:只停止CPU的时钟。 ⑦  停止模式:停止所有的时钟。 ⑧  通过EINT[7:0]或RTC报警中断从停止模式唤醒。 5) 中断控制器

16、①  30个中断源(看门狗定时器、6个定时器、6个UART、8个外部中断、4个DMA、2个RTC、1个ADC、1个IIC、1个SIO)。 ②  采用向量化的IRQ中断模式来减少中断的延迟。 ③  外部中断通过可选的电平/边沿模式来触发。 ④  电平/边沿模式优先可编程。 ⑤  紧急的中断请求通过FIQ为进行服务。 6) 定时器和PWM(脉宽调制) ①  PWM功能的定时器为5通道16位,内部定时器为1通道16位(可进行基于DMA或中断的操作)。 ②  可编程的占空比周期、频率和优先级。 ③  支持外部中断源。 ④  能产生死区。 7) RTC(实时时钟)

17、 ①  充分的时钟特性:毫秒、秒、分钟、小时、日、星期、月、年。 ②  32.768kHz时钟。 ③  定时警报,可用于唤醒CPU。 ④  可产生时钟节拍中断。 8) 通用I/O口 ①  8个外部中断口。 ②  71个多功能输入/输出口。 9) UART(异步串行通信) ①  双通道通用UART,可进行基于DMA或中断的操作。 ②  支持5位、6位、7位或8位串行数据的传输或接收。 ③  可编程的波特率。 ④  支持IrDA1.0(115.2Kbps)。 ⑤  测试时采用回馈模式。 ⑥  每个通道都通过两个内部为32字节的FIFO来用于输入

18、和输出。 10) DMA(直接存储器操作)控制器 ①  双通道通用的DMA控制器。 ②  双通道的桥式DMA(外设DMA)控制器。 ③  支持I/O到存储器,存储器到I/O,I/O到I/O的DMA请求。 ④  同时发生的多个DMA的优先级顺序可编程。 ⑤  采用猝发式的传输模式以提高FPDRAM、EDODRAM和SDRAM的数据传输速率。 11) A/D转换器 ①  8通道的ADC。 ②  10-bit的带宽。 12) LCD控制器 ①  支持彩色/黑白/灰度LCD屏。 ②  支持单路和双路扫描显示。 ③  支持虚拟显示屏功能。 ④  系统存

19、储器被用来作为显示的缓存。 ⑤  用专门的DMA从系统存储器中获得图像数据。 ⑥  灰度等级:16级。 ⑦  彩色模式:256色。 13) 看门狗定时器 ①  16位的看门狗定时器。 ②  在定时器溢出时会发出中断请求或系统复位。 14) I2C总线接口 ①  1个多主的基于中断操作的I2C总线。 ②  8位双向串行数据传送器,标准模式速度达到100Kb/S,快速模式达到400Kb/S。 15) I2S总线接口 ①  1路基于DMA操作的音频I2S总线接口。 ②  每通道8/16位串行数据传输。 16) SIO(同步串行I/O) ①  1路基于DMA或基于

20、中断的SIO。 ②  可编程的波特率。 ③  支持8位串行数据的传输和接收操作。 17) 操作电压的范围 ①  内核为2.5V,I/O口为3.0V~3.6V。 18) 运行频率与封装 ①  最高达66MHz。 ②  160LQFP/160FBGA。 1.3 S3C44B0X引脚图与嵌入式结构图 如图1-1所示,S3C44BOX拥有71个多功能IO口,其分为7组;每组端口都可以满足不同的系统和设计需要,但在运行程序前必须先对每一个用到的引脚功能进行设置,如果有些引脚的复用功能没有被使用到,就可以将该引脚设置成IO口[5]。 S3C44B0X 图1-1 S3C44B

21、0X微处理器引脚图 LCD显示 基于ARM架构的32位微处理器Samsung S3C44B0X 1MB线性 Flash(BIOS) SMBSDRM (系统内存) 16MB非线性 Flash(硬盘) USB接口 USBN9603 两个RS-232 串行通信接口 JTAG调试端口 键盘输入 TCP/IP协议 CAN BUS S3C44B0X微处理器的嵌入式结构图如图1-2所示。 图1-2 基于S3C44B0X嵌入式结构 2 触摸屏原理 2.1触摸屏简介 触摸屏是一种附加在显示器表面的透明介质,通过使用者的手指

22、触摸该介质来实现对计算机的操作定位,最终实现对计算机的查询和输入,从而大大简化了计算机的输入方式,真正实现零距离操作[6]。 触摸屏由触摸检测部件和触摸屏控制器组成,触摸检测部件主要完成检测用户触摸位置并传送给触摸屏控制器的功能,而触摸屏控制器则完成触摸信息的转换以及接收处理器的控制命令并执行的功能[7]。当用户触摸显示器上的内容时,实际上却是触摸到了触摸屏控制器。它能将触摸点转换成触摸点坐标,再将触摸点坐标传送给微处理器。微处理器在接收到触摸信息后就能作出相应的画面更新动作。显示器则用于显示用户数据和画面等。 触摸屏检测部件简称为触摸屏,按其工作原理我们可以把它们分为:电容感应式、表面声

23、波式、电阻式和红外线式等几种。它们的特性比较表见表2-1所示。 表2-1 触摸屏特性比较表 类别特性 红外线式 触摸屏 电阻式 触摸屏 表面声波 触摸屏 电容式 触摸屏 清晰度 一般 较好 很好 较差 透光率 100% 75% 92% 85% 分辨率 40*32 4096*4096 4096*4096 1024*1024 响应速度 50—300ms 10ms 10ms 15—24ms 防刮擦 好 一般 非常好 一般 漂移 无 无 无 有 防尘 不能挡住 透光部 不怕 不怕 不怕 寿命 红外管

24、寿命 大于3500万次 大于5000万次 大于2000万次 价格 低 中 高 中 由此可以看出电阻式触摸屏比较便宜的价格,良好的的定位精度和稳定性已经能够满足普通的使用要求,所以本设计使用的触摸屏为电阻式。 2.1.1 电阻式触摸屏结构 如图2-1所示,电阻式触摸屏的屏体是一块与显示器表面非常贴合的多层复合薄膜,它的基层是一层玻璃或有机玻璃,表面与内表面都涂了一层透明的导电层,上面再盖一层经过了硬化处理和光滑防刮的塑料层,为了绝缘,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开[8]。 图2-1 电阻式触摸屏结构图 如图2-1所示,当你的手指或笔

25、触摸屏幕时,平常相互绝缘的两层导电层就会在触摸点的位置有一个接触,因为其中有一面导电层(顶层)接通了X轴方向的5V均匀电压场,使得检测层(底层)的电压从零变为非零,当控制器侦测到这个接通后,就会进行A/D转换,并将得到的电压值与5V作对比即可得触摸点的X轴从坐标(原点在在靠近接地点的那端)[9]: Xi=Lx*Vi/V(即分压原理) 同理得出Y 轴的从坐标,这就是所有电阻技术触摸屏共同的最基本原理。 2.1.2 电阻式触摸屏相关技术 电阻式触摸屏的主要部分是一块与显示器表面非常贴合的多层的复合薄膜,它的基层是一层玻璃或有机玻璃,表面上涂有一层透明导电层,上面再盖一层塑料层,并将其进行硬

26、化与光滑防刮处理,同时它的内表面也涂有一层导电层(ITO或镍金)。 电阻式触摸屏两层的导电层必须要保持它的完整性,在每个工作面的两条边线上都要涂一条银胶,一端加上5V电压,一端加上0V电压,这样就能形成均匀连续的平行电压分布在工作面的一个方向上。在侦测到有触摸时,立刻对接触点的模拟量电压值进行A/D转换测量,根据5V电压下的等比公式就可以计算出触摸点在这个方向上的位置。 透明的导电涂层材料有两种: 1) ITO,氧化铟,是一种弱导电体,特性是当厚度降到1800个埃(埃=10米)以下时就会突然变得透明,透光率达到80%,但再薄下去后它的透光率反而会变低,当到300埃厚度时又会上升到80%。

27、但遗憾的是ITO在这个厚度下韧性非常差,很容易产生断裂。ITO是一种所有电阻式触摸屏及电容式触摸屏都会用到的主要透明导电材料,实际上电阻式触摸屏及电容式触摸屏的工作面就是ITO涂层。 2) 镍金涂层,拥有极好的延展性,因此镍金涂层材料被作为五线电阻式触摸屏的外导电层,外导电层由于会被频繁触摸,镍金材料良好的延展性的能够有效地延长其使用寿命,但是它的成本比较贵,因此只适合作为触摸屏的透明导体,不适合作为触摸屏的工作面。因为镍金涂层的导电性太好了,所以不能对电阻进行精密的测量,而且金属的厚度很难做到非常均匀。 四线电阻式触摸屏的基层大多使用的是有机玻璃,它不仅透光率低、易风化和老化,因为有机玻

28、璃的刚性差,所以在安装时存在一定的风险,而且安装时还不能捏边上的银胶,以免薄薄的ITO和相对厚实的银胶之间会产生脱落破裂,拉或压触摸屏时不可以用力,以免会拉断ITO层。这就是有些四线电阻触摸屏安装后显得不太平整的原因。 ITO是一种无机物,有机玻璃是有机物,有机物和无机物无法良好地结合,只要时间一长就容易剥落。如果能够生产出曲面的玻璃板,玻璃是一种无机物,就能和ITO结合的非常好成为导电玻璃,这样电阻触摸屏的寿命就能够得到大大的延长。 不管是四线还是五线电阻触摸屏,它们的工作环境都与外界完全隔离,不管是灰尘、水汽还是油污都不怕,你能够使用任何物体触摸它,它能够用来写字画画,比较适合办公室与

29、工业控制领域的人的使用。但电阻触摸屏有一个共同的缺点,那就是不知道的人如果太用力或使用锐器触摸可能会划伤整个触摸屏从而导致报废。不过,在限度之内,划伤只会伤到外导电层,外导电层的划伤对于五线电阻式触摸屏来说并不会产生影响,但对四线电阻触摸屏来说却是致命的。 2.2 触摸屏工作原理 2.2.1触摸屏系统组成 触摸屏系统的组成如图2-2所示,他由S3C44B0X微处理器作为整个系统的控制、数据处理中心。利用ADS7843进行触摸屏信号转换和液晶屏背光对比度控制电路连接处理器,A/D部分负责将模拟量转换为数字量供给处理器单元,由其进行判断、处理和显示,DI/DO部分负责将各种信号报警量采集进来

30、提供给处理器单元进行判断处理,并且输出控制信号去控制相应的设备动作,扩展串口部分提供了两个扩展的RS-232/RS-485串行接口,可以使用此接口与现场的其他设备交换数据,也可利用现场总线接口进行通信,例如采用Modbus、Devicenet协议通信,显示部分为一个触摸液晶显示屏,除了提供显示功能以外,他还作为输入设备,可替代常规键盘[10]。 液晶屏LCD 触摸屏 ADS7843 背光对比度控制 微处理器 S3C44B0X 现场现场总线接口 A/D转换接口 DI/DO接口 RS-232/RS接口 图2-2 触摸屏系统的组成 2.2.2 触摸屏控制器工作原理

31、 现今被使用的触摸屏控制器有多种,其主要功能均是在微处理器的控制下对触摸屏的两个方向分时施加电压,并将相应的电压信号传送给自身的A/D转换器,在微处理SPI口提供的同步时钟作用下将数字信号读入微处理器。 本系统中选用 BB(Burr-Brown)公司生产的触摸屏接口专用芯片ADS7843。ADS7843是一种串行接口芯片,其中内置了l2位A/D转换和低导通电阻模拟开关的。供电电压为2.7—5.0 V,参考电压为1 V—+Vcc,转换电压的输入范围为0—Vref,最高转换速率为125 kHz。在125kHz 吞吐速率和2.7V电压下的功耗为750μW,而在关闭模式下的功耗仅为0.5μW。由于具

32、有低功耗和高速等特性,所以被广泛应用,ADS7843之所以能实现对触摸屏的控制,是因为其内部结构实现了电极电压的切换,并能进行快速A/D转换[11]。 S A2 A1 A0 Mode ser/der PD1 PD0 图2-3 ADS7843 控制字 ADS7843的控制字如图2-3所示,其中s为数据传输起始标志位,该位必须为1。A2—A0为通道选择位。MODE用来选择A/D转换的精度:“1”选择 8 位,“0”选择 l2 位。SER/DFR用于选择参考电压的输入模式。PD1和PD0选择省电模式:“00”为省电模式允许,在两次A/D转换之间掉电,且中断允许;“01”与“00”

33、相同,只是不允许中断;“10”为保留;“11”禁止省电模式。 为了完成一次电极电压切换和A/D 转换,需要先经过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次换需要24个时钟周期,由于串口支持双向同时进行传送,并且在一次读数与下一次发送控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期[12]。ADS7843的控制流程如图2-4所示。 按触摸屏 PENIRQ置为低电平 向S3C44B0X发送中断请求 S3C44B0X响应中断,将CS置低 向ADS7843串行送人测量控制字 调ADS7843测量程序测量坐标 串行读出坐标值,将CS置高

34、 返回 图2-4 ADS7843 控制流程图 3 软件设计 3.1驱动程序实现流程 开始 触摸屏的初始化 内核线程判断是否有触摸动作? 读取X/Y的电压值放入相应的数据结构 内核线程判断是否还有触摸动作? 读取触摸结束时X/Y的电压值放入相应的数据结构 其他处理 N Y Y N 本设计是通过THUS-1型嵌入式(ARM)实验/开发系统来完成的。驱动控制电路软件设计中最为关键的就是根据ADS7843芯片内部原理及时序关系控制其实现对XY坐标的采集,同时将信息通过RS232串行通信发送到计算机上[13]。触摸屏驱动程序实现流程如图3-1所示。 图3-1 触摸屏

35、驱动程序实现流程 3.2中断处理程序 触摸屏的驱动核心是中断处理程序,响应中断并提供相应服务的程序称为中断处理程序。在触摸屏驱动中,中断服务程序的主要功能就是加载定时器处理程序和指定执行程序的时间点[14]。定时器处理程序的主要任务为通过ADS7843的X+,X-,Y+,Y-端子分别读取触摸屏X轴和Y轴的A/D转换坐标值,并对其进行判断,获得真实结构,达到对触点定位的目的。定时器处理程序流程如图3-2所示。 开始 设置GPIO[x](x=1,2,...,6)寄存器 有中断 配置GPIO[x](x=1,2,...,6)寄存器 送接收X坐标A/D转换值的命令字 接收X坐标A/D

36、转换值 送接收Y坐标A/D转换值的命令字 接收Y坐标A/D转换值 结果一样 对A/D转换值做处理 返回 N Y Y N 图3-2 定时器处理程序流程 3.3 触摸屏按键的坐标算法 ADS7843的转换精度有8位和12位两种,可以精确到X或Y方向上的1/256和1/4096。触摸屏的坐标如图3-3所示。其中,(X,Y)是按键的中心坐标,(X’,Y’)是按键右下角坐标,(X”,Y”)是其左上角的坐标。在触及屏幕时,触点只要在(X’,Y’)和(X”,Y”)矩形区域内均认为是触摸该按键有效[15]。 X Y (X”,Y”) (X,Y) (X’,Y’) 图3-3 触摸

37、屏的坐标 实际采用固定参考电压模式,SER/DFR= 1。程序首先检测PENIRQ是否为低电平,只有当触摸屏有接触时此位才会为低电平。利用软件模拟DIN,DOUT和DCLK上的三线串行传输时序,将读取X或Y坐标值的控制字串行送入 ADS7843,然后再串行读出坐标值。 其中,Test-Touch()函数发送控制字并读取结果,程序流程图如图3-4 所示。 开始 DCLK置低 判断并传送8位控制字 等待一个时钟后开始接收数据 顺序取得DIN上的前11位坐标数据(高位在前) DCLK置高,接收最后1位数据 等待半个时钟周期,DCLK清零 返回接收结果 图3-4 读取坐标流程

38、图 4 触摸屏驱动程序的测试 4.1 测试准备 1) 用并口线正确连接电脑并口和配套仿真器,用14针(或20针)的排线连接仿真器和实验箱的JTAG口;用串口线连接实验箱上的串口1单元与计算机的COM1(或COM2)。 2) 在PC机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8位数据位、无奇偶校验位、1位停止位、无数据流控制)。 3) 打开系统电源,运行仿真器驱动程序,使用ARM STD2.51集成开发环境打开程序,下载并运行。 4) 在PC上观察“超级终端”主窗口显示。 4.2 运行结果 1) 程序运行时,如图4-1所示。 图4-1

39、 触摸屏运行图 2) 当触摸某一个数字时,超级终端接收到坐标,得到反馈结果,如图4-2所示。 图4-3反馈结果 结束语 在嵌入式智能设备中,触摸屏正在逐渐取代传统的鼠标、键盘等设备,成为最主要的人机交互输入设备,本文完成了基于S3C44B0X的触摸屏的驱动控制。并实验证明的程序的稳定可靠,达到了预期的效果。本文为人机交互中的触摸屏驱动控制提供了一种实用解决方案,可应用于其他的嵌入式系统中。 参考文献 [1] 赖诚.触摸屏原理及在单片机系统的应用[J]. 商场现代化,2006,471. [2] 李力,黎敏等

40、一种基于MIS 的触摸屏汉字输入方法的设计[J].微机算机与 信息,2006.23:91-98. [3] 田泽.嵌入式系统开发与应用教程[M].北京:北京航空航天大学出版社, 2010. [4] Samsung Electronics User’s Manual S3C44B0X 32BitRISC Microprocessor [Z]. 2003. [5] 李岩,荣盘祥. 基于S3C44B0X嵌入式µCLinux系统原理及应用[M].北京: 清华大学出版社,2005. [6] 韩兵.触摸屏技术及应用[M].北京:化学工业出版社,2008. [7

41、]赵昌永,王勇,陈抗生.一种基于嵌入式Linux 的视频采集系统[J].仪 器仪表学报,2005,26(8):53-55. [8] 陈赜.ARM嵌入式实践教程[M].北京:北京航空航天大学出版社,2005. [9] 皮大能.单片机课程设计指导书[M].北京:北京理工大学出版社,2010. [10] 王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003. [11] ADS7843 touch screen controller[S].Burr-Brown Corporation,1998. [12] 张茹,孙松林,于晓刚.嵌入式系统技术基础[M].北京:北京

42、邮电大学出版 社,2005. [13] 于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子 工业出版社,2006. [14] 于明,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业大学 出版社,2006.4. [15] 张绮文,谢建雄,谢劲心.ARM嵌入式常用模块与综合系统设计实例精讲[M]. 北京:电子工业出版社,2007.1. 致 谢 在论文完成之际,我首先向关心帮助和指导我的指导老师施文娟表示衷心的感谢并致以崇高的敬意! 在学校的学习生活即将结束,回顾四年来的学习经历,面对现在的收

43、获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!在论文工作中,遇到了许许多多这样那样的问题,有的是专业上的问题,有的是论文格式上的问题,一直得到施文娟老师的亲切关怀和悉心指导,使我的论文可以又快又好的完成,施文娟老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘我的施文娟老师对我的亲切关怀和悉心指导,再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向施文娟老师致以最崇高的谢意! 最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!

44、 附 录 触摸屏驱动部分源程序: 主程序: #include "44b.h" #include "44blib.h" #include "def.h" #include"Lcdlib.h" #include"LCDTest.h" #include "glib.h" #include "touch.h" void AutoTest(void); void Isr_Init(void); void HaltUndef(void); void HaltSwi(void); void HaltPabort(void);

45、void HaltDabort(void); #define M5D(n) ((n) & 0x1fffff) #define ARRAY_SIZE_COLOR (SCR_XSIZE/1*SCR_YSIZE) #define HOZVAL (LCD_XSIZE/4-1) #define HOZVAL_COLOR (LCD_XSIZE*3/8-1) #define LINEVAL (LCD_YSIZE-1) #define MVAL (13) #define CLKVAL_MONO (13) //60Mhz, CLKVAL=19 ->78.6Hz #def

46、ine CLKVAL_G4 (9) //40Mhz, CLKVAL=9 ->110Hz #define CLKVAL_G16 (10) //40Mhz, CLKVAL=10 ->101Hz // 9 ->112Hz #define CLKVAL_COLOR (10) //60Mhz void LcdInit(int color); unsigned int (*frameBuffer256)[SCR_XSIZE/4]; #define MVAL_USED 0 void Lcd_Init(int de

47、pth) { if((U32)frameBuffer256==0) { //The total frame memory should be inside 4MB. //For example, if total memory is 8MB, the frame memory //should be in 0xc000000~0xc3fffff or c400000~c7fffff. //But, the following code doesn't meet this condition(4MB) //if th

48、e code size & location is changed.. frameBuffer256=(unsigned int (*)[SCR_XSIZE/4])malloc(ARRAY_SIZE_COLOR); } rLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12); // disable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk, rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);

49、 //LINEBLANK=10 (without any calculation) rLCDSADDR1= (0x3<<27) | ( ((U32)frameBuffer256>>22)<<21 ) | M5D((U32)frameBuffer256>>1); // 256-color, LCDBANK, LCDBASEU rLCDSADDR2= M5D((((U32)frameBuffer256+(SCR_XSIZE*LCD_YSIZE))>>1)) | (MVAL<<21); rLCDSADDR3= (LCD_XSIZE/2) | ( ((SCR_XSIZE-

50、LCD_XSIZE)/2)<<9 ); //The following value has to be changed for better display. rREDLUT =0xfdb96420; rGREENLUT=0xfdb96420; rBLUELUT =0xfb40; rDITHMODE=0x0; rDP1_2 =0xa5a5; rDP4_7 =0xba5da65; rDP3_5 =0xa5a5f; rDP2_3 =0xd6b; rDP5_7 =0xeb7b5ed; rDP3_4 =0x7dbe; rDP4_5 =0x7

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服