为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

如何通过单片机直接连接触摸屏

2011-04-13 2页 pdf 45KB 38阅读

用户头像

is_815551

暂无简介

举报
如何通过单片机直接连接触摸屏 人工智能及识别技术本栏目责任编辑:李桂瑾 触摸屏是一种广泛使用的输入设备,一般连接到电脑上使 用。常见的触摸屏包括表面声波触摸屏、电阻压力触摸屏、红外感 应触摸屏、电容感应触摸屏等几种。无论哪种触摸屏,只要在电脑 中安装好触摸屏驱动程序,然后进行简单的校准,就可以方便的 使用触摸屏了。在实际的多媒体应用中,有时不需要有具体的内 容显示在屏幕上,但又需要用触摸屏来作为输入设备(一般是在 触摸屏背面贴上一些简单的刻画出来的线条图案或文字等作为 触摸区域指示),此时就不需要用电脑了,可直接用单片机连接触 摸屏,然...
如何通过单片机直接连接触摸屏
人工智能及识别技术本栏目责任编辑:李桂瑾 触摸屏是一种广泛使用的输入设备,一般连接到电脑上使 用。常见的触摸屏包括表面声波触摸屏、电阻压力触摸屏、红外感 应触摸屏、电容感应触摸屏等几种。无论哪种触摸屏,只要在电脑 中安装好触摸屏驱动程序,然后进行简单的校准,就可以方便的 使用触摸屏了。在实际的多媒体应用中,有时不需要有具体的内 容显示在屏幕上,但又需要用触摸屏来作为输入设备(一般是在 触摸屏背面贴上一些简单的刻画出来的线条图案或文字等作为 触摸区域指示),此时就不需要用电脑了,可直接用单片机连接触 摸屏,然后通过单片机编程来判断用户点击了哪个区域,从而实 现相应的输出。 本文以某品牌的一款 17吋表面声波串口输出触摸屏和 51 单片机为例来谈一谈如何用单片机直接连接触摸屏。 要通过单片机直接连接触摸屏,首先必须要了解摸屏使用的 通信及数据格式。通过查阅资料得知,该品牌的触摸屏串口 输出数据一共由10个字节构成: <前导字符(1byte)><数据字符(8byte)><校验字符(1byte)> 其前导字符为“X(58H)”。8个字节的数据由以下内容构成: 第一个字节为字符“Y”,代表数据开始;第二个字符为状态字 节,如果该字节为 “81H”,代表手指在触摸屏上某点处按下; “83H”代表手指在触摸屏上拖动;“84H”代表手指离开触摸屏。 XLow和 XHigh代表触摸点处的 X坐标的低字节和高字节;YLow 和 YHigh代表触摸点处的 Y坐标的低字节和高字节;ZLow和 ZHigh代表触摸点处的 Z坐标的低字节和高字节 (Z值可反应手 指的压力大小)。 在单片机中编程时,可以按如下思路进行。先读取字符“X”, 如果读到,则再读取下一个字节,看是否是字符“Y”,如果是,再读 取下一个状态字节,看目前的数据是什么状态下的数据。如果状 态字节是“81H”,则说明接下来的 6个字节就是对应按下触摸点 的 X、Y、Z坐标;如果状态字节是“83H”,则说明接下来的 6个字 节就是对应手指在触摸屏上拖动时的 X、Y、Z坐标;如果状态字 节是“84H”,则说明接下来的 6个字节就是对应手指离开触摸屏 时的那个点的X、Y、Z坐标。如果状态字节为“81H”和“84H”时对 应的 X、Y坐标相同,则说明用户在某一点点击了(也就是手指按 下和离开时在同一点)。事先把需要用户点击的点的坐标值存放 在列表里,一旦发现用户点击后,通过查表即可知道用户点击了 哪一个点,从而执行相应的操作。下面给出核心程序代码,供大家 参考。 ⋯⋯ codeunsignedintctrltable[KEYNUMER][2]={{0x0148,0x01C0}, ⋯⋯};//{{x0,y0},{x1,y1}}//对应每一个按钮中心点绝对坐标(可通 过串口测试软件连接触摸屏来获得) bitkeydown,keyup,receiveXY;//手指按下、离开及允许接收后 续四字节为坐标值标志。 dataunsignedcharXlow,Xhigh,Ylow,Yhigh;//存放 X方向和 Y 方向的低字节和高字节坐标值。 dataunsignedcharByteNum;//指明数据包字节数。 dataunsignedintFrontX,FrontY,BackX,BackY;//存放手指按 下时的坐标值和手指离开时的坐标值。 ⋯⋯ voidserial(void)interrupt4using2 {dataunsignedcharrec,i; ES=0; TR0=0; if(RI) {RI=0; rec=SBUF;//读取串口数据 if(ByteNum==0)//第一个字节(前导字符) {if(rec=='X')//判断是否收到“X” ByteNum++; else {initialv();//初始化各变量 }} elseif(ByteNum==1)//第二个字节 {if(rec=='Y')//判断是否收到“Y” ByteNum++; else {initialv();}} elseif(ByteNum==2)//第三个字节(状态字节) {if(rec==0x81)//手指在触摸屏上按下时 {receiveXY=1; keydown=1;} elseif(rec==0x84)//手指在触摸屏上离开时 {receiveXY=1; keyup=1;} ByteNum++;} elseif(ByteNum==3)//第四个字节(X坐标低位) {if(receiveXY==1) {Xlow=rec;} ByteNum++;} 收稿日期:2007-03-05 作者简介:牟奇春(1974-),男,四川成都人,成都职业技术学院讲师,研究方向:多媒体技术及软件开发;汪剑(1973-),四川成都人,成都职 业技术学院讲师,研究方向:WEB软件开发及应用。 如何通过单片机直接连接触摸屏 牟奇春,汪剑 (成都职业技术学院,四川 成都 610041) 摘要:触摸屏是一种广泛使用的输入设备,一般连接到电脑上使用。本文将提供一种通过单片机串口直接连接触摸屏,从而实现响应 用户的输入的方法。 关键词:单片机;触摸屏;串口协议 中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2007)08-20535-02 HowtoUseSingle-ChipComputerConnectwithTouchingScreen MOUQi-chun1,WANGJian2 (1.ChengduVocationalTechnologyCollege,Chengdu610041,China;2.ChengduVocationalTechnologyCollege,Chengdu610041,China) Abstract:Touchingscreenisaninputequipmentwhichisusedwithacomputerandisusedwidely.Thisarticlewillprovideyouakindof touchingscreenconnectedwiththesingle-chipcomputerviaserialport,anditcanresponduser'sorders. Keywords:single-chipcomputer;touchingscreen;serialportprotocol 535 人工智能及识别技术 本栏目责任编辑:李桂瑾 电脑知识与技术 (上接第532页) 变以嵌入水印,然后再进行逆变换得到嵌入水印后的音频序列。 使用伪随机序列对信号进行排列后,有两个好处:提高算法的安 全性和平滑功率谱密度。使用MDCT的原因是它在语音编码中的 广泛应用。由于将水印加在频域当中,所以比时域水印算法更费 时。基于离散余弦变换的水印算法在水印技术发展中具有划时代 的意义,而且达到了较好的效果。 4.2.5离散小波变换域(DWT)方法 钮心忻等提出了一种基于小波变换的数字水印隐藏与检测 算法。利用Daubechies一4小波基对原始语音信号进行L级小波 分解,对前 L级的近似分量保留不予处理,对第 L级的细节分量 进行处理以嵌入水印。该算法的特点是简单,抗干扰能力强,把水 印信号放在语音信号能量最大的部分,即低频部分。一方面语音 信号遮盖了水印,即使音质受到一定的破坏,只要语音信号有一 定的可懂度,水印就可以检测出来。 5音频数字水印的评价标准 评价水印嵌入后音频信号的被影响程度.除了利用感知系统 定性评价以外,还可以采用定量的评价办法,例如用信噪比、峰值 信噪比来评价。 (1)信噪比(SNR) 设 N为音频数据段长度,xi为原始音频采样数据,^ xi为嵌入 水印后的音频采样数据,则信噪比被定义为: 其中 (2)峰值信噪比(PSNR) 峰值信噪比定义为: 6结束语 随着网络和多媒体技术的飞速发展和广泛应用,对音频、图 像、视频等多媒体内容的保护成为迫切需要解决的问题。由于音 频水印技术涉及的内容广泛,涉及到语音信号数字处理技术、通 信理论、模式识别技术、图像处理技术、编码理论、噪声理论、视听 觉感知理论、扩频技术、多媒体技术、混沌理论、算法设计等理论。 到目前为止,还没有形成一个完整而系统的理论体系,该技术虽 然发展十分迅速,但是还很不成熟,还有许多问题有待解决。 参考文献: [1]C.P. Wu and P.C. Su and C.C..J. Kuo. Robust and Efficient Digital AudioWatermarkingUsingAudioContent Analysis. Proceed- ings ofSPIE. 2000,3971(1):382-392P. [2]Katzenbeisser S,Petitcolas F A P.Information Hiding Tech- niques for Steganography and Digital Watermarking.Artech House Inc.2001. [3]殷凯,周辉.音频数字水印中回声隐藏技术的时域提取方法 [J].计算机与数字工程,2006,34(5):81-82. [4]KuoS,Johnston J D,Turin W,Quackenbush SR. Covert Audio Watermarking Using Perceptually Tuned Signal Independent Multi- band Phase Modulation. IEEE 2002. II :pp l753-1756. [5]A.Z.Tirkel,G.A.Rankin, R. M. van Schyndel, W. J. Ho, N. R. A. Mee, and C. F. Osborne, "Electronic watermark," in Digital Image Computing, Technologyand Applications (DICTA’93), Macquarie U- niversity, Sydney, Australia, 1993, pp. 666-673. else if(ByteNum==4)//第五个字节(X坐标高位) {if(receiveXY==1) {Xhigh=rec;} ByteNum++;} else if(ByteNum==5)//第六个字节(Y坐标低位) {if(receiveXY==1) {Ylow=rec;} ByteNum++;} else if(ByteNum==6)//第七个字节(Y坐标高位) {if(receiveXY==1) {Yhigh=rec;} ByteNum++;} else if(ByteNum==7)//第八个字节(Z坐标低位) {ByteNum++;} else if(ByteNum==8)//第九个字节(Z坐标高位) {ByteNum++;} else if(ByteNum==9)//第十个字节(校验字节) {ByteNum=0; if(keyup==1){ BackX=Xhigh; //存放手指离开触摸屏时的X坐标高位 BackX=BackX<<8;//左移8位 BackX=BackX+Xlow;//把二个字节合成为一个双字节 BackY=Yhigh; BackY=BackY<<8; BackY=BackY+Ylow;} else if(keydown==1){ FrontX=Xhigh; FrontX=FrontX<<8; FrontX=FrontX+Xlow; FrontY=Yhigh; FrontY=FrontY<<8; FrontY=FrontY+Ylow;} if((keydown==1)&&(keyup==1)) {if ((BackX==FrontX)&&(BackY==FrontY)) //有一次触摸发生 (用户点击了某个点) {keyorder=0; for (i=0;i(ctrltable [i][0]-CTRLWIDTH/2))&& (BackX< (ctrltable[i][0]+CTRLWIDTH/2))) //判断点击范围(X区间) {if ((BackY>(ctrltable [i][1]-CTRLHIGHTH/2))&& (BackY< (ctrltable[i][1]+CTRLHIGHTH/2))) //判断点击范围(Y区间) {keyorder=i+1; i=KEYNUMER+1;//Quit! }}} switch (keyorder) //根据用户点击的按钮,执行相应的操作 {case 1: ⋯⋯ //此处加上具体的操作 break;}}} receiveXY=0; //清零,为下一次接收做好准备 ByteNum=0; if((keydown==1)&&(keyup==1)){ keydown=0; keyup=0; Xlow=0; Xhigh=0; Ylow=0; Yhigh=0; FrontX=0; FrontY=0; BackX=0; BackY=0;}}} ES=1; TR0=1;} ⋯⋯ 以上介绍了识别用户点击某个点的方法。同理,也可编写程 序判断用户拖动、手指按压触摸屏的压力大小等。 536
/
本文档为【如何通过单片机直接连接触摸屏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索