- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051系列单片机通用鼠标接口程序设计_杨国田
8051系列单片机通用鼠标接口程序设计·43·文章编号:1000-8829(2002)11-0043-048051系列单片机通用鼠标接口程序设计DevelopmentofProgramforMCS-8051FamilyInterfacingWithMouse(华北电力大学自动化系,北京102206)杨国田,董玲(抚顺石油学院,辽宁抚顺113001)刘勇 摘要:在分析鼠标通信协议的基础上,探讨了单片机与鼠标接口软件设计的原理及方法,给出了8051单片机与Microsoft兼容鼠标的具体接口程序。并分析了其他应用时设计接口软件的有关问题。关键词:鼠标;接口技术;软件设计;接口程序中图分类号:TP273文献标识码:B是将其自身的平面二维位移转换成数字编码,通过标准RS-232C串行接口发出。鼠标工作时,所需要的功率从RS-232串行接口的控制线上窃取(PS2接口除外,它需要独立的电源供应),当鼠标被拖动超过一个最小距离或某一按钮被按下时,它按照规定的协议将移动的距离和按钮状态通过一次或几次发送传达到主机,主机上的鼠标驱动程序将信息变换后供用户其他程序模块调用。Abstract:ThesoftwareandhardwareinterfacesbetweenMCUandmousearediscussedbasedontheanalysisoftheworkingprincipleofmouse.The8051programforinterfac-ingwithMicrosoftcompatiblemouseisshown.Thedevelop-mentofinterfacingsoftwareinotherapplicationofmouseisanalysed.Keywords:mouse;interfacingtechnology;softwaredevelop-ment;interfaceprogram 目前,单片机的应用范围日益拓宽,适合单片机使用的各种规格的液晶或CRT显示器越来越多,因此在单片机系统中引入鼠标,将会提高工作效率,方便用户。此外鼠标本质上可以看成是一个二维的角度或位移信号检测装置,而且耗电极少、可靠性高、价格低廉,因此可以在许多场合得到应用。由于常用单片机的UART不直接支持鼠标的接口协议,加上鼠标工作信息是无条件连续向上发送,而且不需要主机应答,因此为了保证信息连续且不丢失,在程序设计中必须充分考虑鼠标的工作特点。本文主要探讨国内外广泛使用的8051系列单片机与鼠标接口程序的设计实现。1鼠标信号发送协议与过程鼠标是一个小型的机电一体化系统,其基本功能收稿日期:2002-04-08作者简介:杨国田(1962—),男,辽宁义县人,副教授,工学博士,主要从事过程控制、智能仪表及监测技术、机电一体化、几何量精密测量等领域的研究工作。鼠标向上发送的信息只有两种:①初始化状态报告;②移动方向、距离、按钮状态。不同的鼠标发送的信息基本一致。首先,在物理层普遍采用标准的串行通信协议,波特率为1200,帧格式为7个数据位,2个停止位,无奇偶校验位;其次,上层协议则在此基础上以16进制数形式直接发送鼠标信息,包括按钮状态、X 、Y方向的相对位移量。其一般形式如表1所示。表 1鼠标信息发送格式序号名称字串形式长度意义说明1初始化报告4DH(M)1字节声明初始化结束加电时发送一次2移动、按钮P1,P2,P33字节反映按钮状态、移动或按钮移动方向和距离操作时发送注:表1中P1、P2、P3三个参数说明:P1_D7D6:固定值01,D1D0=11,本次鼠标移动包含左右移动分量;D3D2=11,本次鼠标移动包含上下移动分量;D4=1,目前鼠标右键呈按下状态;D5=1,目前鼠标左键呈按下状态(D4D5=00则键呈释放状态)。P2_D7D6:固定值00,其余6位表示一个有符号二进制数,反映左右移动量,大于0为向右移动,小于0为向左移动。P3_D7D6:固定值00,其余6位表示一个有符号二进制数,反映上下移动量,大于0为向下移动,小于0为向上移动。 例如:[6CH02H3AH](P1=6CH,P2=02H,P3=3AH)反映出鼠标向右移动了2个单位,向上移动了6个单位,目前左键按下。如果鼠标以一般速度移动,每移动一步或按钮状态发生变化,控制器将向上发送一次信息,如果鼠标移动较快,则鼠标移动几步信息才发送一次。但按钮的每一次状态变化都将产生一次信息发送,按照前述的通信协议和波特率,每一秒可以发送信息多达30~40次,因此可以保证按钮事件的正常发送。通常一般鼠北京本原同济科技发展有限公司研华工控机与数据采集全系列Tel:010ttp:∥·44· 《测控技术》2002年第21卷第11期标的分辨率为400dpi,理
文档评论(0)