- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【Word版本下载可任意编辑】
PAGE
1 - / NUMPAGES 1
嵌入式微处理器S3C44BOX的触摸屏接口设计
图1 触摸屏的触摸示意图 图2 测量关系 3 S3C44BOX与触摸屏的接口电路 在该系统中没有使用专用的控制器,简而代之的是用了四个三极管(两个NPN 和两个PNP) ,外加一些偏流电阻、上拉电阻和滤波电容组成,如图3 所示,其中:TS_A ,TS_B ,TS_C和TS_D 分别由S3C44B0X 的GPC0 , GPC1 , GPC2 和GPC3 控制。X+ 和Y+ 分别连接到S3C44B0X的A/ D 转换输入接口AIN0 和AIN1 上。TS_A 和TS_C在X方向施加正向电压时,在Y方向检测到X坐标的对应值,同理,TS_B 和TS_D 在Y方向施加正向电压时,在X方向检测到Y坐标的对应值,分别由AIN0 和AIN1 采集。 图3 触摸屏的接口电路 为了减少系统功耗和触摸屏所占CPU 资源,只在有落笔时触摸屏控制器才启动扫描,通过A/D 转换得到坐标的对应值,因此需在外部设计落笔检测电路,如图4 所示。中断连在EXTINT2上,设置中断为上升沿触发,平时为低, 按下屏时变高产生中断。 图4 落笔检测电路 4 触摸屏的状态 在编写软件前, 要先对触摸屏的状态有所了解,在触摸屏的整个工作过程中,总共有3 个状态:空闲态、X 通道态和Y通道态。 在没有触摸的时候,触摸屏处于空闲态,此时,为了便于接收中断,应设置TS_A = 1 ,TS_B =1 ,TS_C = 0 和TS_D = 1.为了获得触点的X轴坐标,需要把触摸屏设置成X通道态,即TS_A= 0 ,TS_B = 1 ,TS_C = 1 和TS_D = 0.此时,通过测量Y + (AIN1) 获取X 通道上的坐标。 同理,为了获得触点的Y轴坐标,需要把触摸屏设置成Y通道态,即TS_A = 1 ,TS_B = 0 ,TS_C= 0 和TS_D = 1.此时,通过测量X+ (AIN0) 获取Y通道上的坐标。 5 系统的软件设计 整个系统软件包括触摸屏初始化、落笔中断服务程序,AD 测量子程序、滤波程序和坐标转换程序。当有触摸时, EXTINT2 变为高电平,产生中断。由S3C44B0X 响应该中断请求,进入落笔中断服务程序,在该程序中,启动AD 测量子程序,读取AD 转换结果,从而得到触点的坐标。整个过程,触摸屏在空闲态,X 通道态和Y 通道态之间转换,如图5 所示。 图5 触摸屏的状态转换 系统软件中,初始化程序、滤波程序和坐标转换程序是一般常规通用程序。AD 测量子程序是获得X 轴和Y轴坐标的关键部分,其程序如下: / / 获取当前的坐标 void TouchADC(uint16 3 x , uint16 3 y) { int i ; rADCPSR = 10 ; / / 切换为X 通道态准备A/ D 转换 Set TouchX() ; Delay(1000) ; { / / 启动AIN1 通道A/ D 转换 rADCCON = 0x1 | (1 2) ; while (rADCCON 0x1) ; while ( ! (rADCCON 0x40) ) ; for (i = 0 ; i rADCPSR ; i + + ) ; 3 x = rADCDAT ; } rADCPSR = 10 ; / / 切换为Y通道模式准备A/ D 转换 Set TouchY() ; / / 在X/ Y通道切换时要延时以使触摸屏稳定下来 Delay(1000) ; { / / 启动AIN0 通道A/ D 转换 rADCCON = 0x1| (0 2) ; while (rADCCON 0x1) ; while ( ! (rADCCON 0x40) ) ; for (i = 0 ; i rADCPSR ; i + + ) ; 3 y = rADCDAT ; } / / 切换为空闲态,等待中断发生 Set TouchIdle() ; / / 输出显示X ,Y坐标数值 Out Put (0 ,″(X ,Y) = ( %3d , %3d) \ n
您可能关注的文档
最近下载
- 主要建筑材料碳排放因子查询表.docx VIP
- 成人手术后疼痛评估与护理—团体标准(2023)课件.pptx VIP
- HTO(高位胫骨截骨)详细操作教程.pptx VIP
- 2025中级注册安全工程师《安全生产法律法规》模考押题卷(一).pdf VIP
- 在线网课学习课堂《建筑火灾扑救技术与战术(中国消防救援学院)》单元测试考核答案.docx VIP
- 2025国家药品监督管理局药品审评中心考试真题(附答案).docx VIP
- 《心电诊断中心建设要求》.pdf VIP
- 2024-2025学年上海控江中学高二上学期数学期中试卷及答案(2024.10).docx VIP
- XIOTIS西子奥的斯B763电气原理图纸XAA21310w.pdf
- 2024-2025学年初中音乐七年级上册(2024)人音版(2024)教学设计合集.docx
原创力文档


文档评论(0)