第七章 无线鼠标制作.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于315M收发模块的简易无线串口鼠标单片机小制作 2009-04-16 21:29:36 阅读3492 评论19 ??字号:大中小?订阅??? 通常,鼠标通过PS2插口或者USB接口以有线的方式将移动的距离和方向转换成脉冲信号传送给PC。近些年来,随着无线技术的发展,出现了一种新型的无线鼠标,它脱了鼠标线的束缚,使鼠标随心所动,尤其是冬天在床上看电影时,都能享受随意操纵鼠标的乐趣。但是无线鼠标作为一种新兴产品,价格居高不下,作为一个DIY者,本着“自己动手,丰衣足食”的原则,根据鼠标的工作原理和协议,利用老旧的PS2鼠标和315M无线发射接收模块,配合PC串口,制作了一款简易的无线串口鼠标,成本只有20元左右。硬件设计本无线鼠标分信号发射与信号接收两大部分。发射部分电路原理图如图1所示:图1 发射部分电路原理图 图2 PS2接口示意图其中鼠标PS2接口的引脚定义如图2: 发射部分电路主要由AVR单片机ATMEL Mega8(以下简称为Mega8)和315M发射模块组成。Mega8是一款高性能、低功耗单片机:采用先进RISC精简指令,1MHZ时钟能达到近1MIPS的运算速度;内部集成了较大容量的存储器和丰富的硬件接口电路,自带RC振荡电路可代替晶振;价格与低档单片机相当,性价比极高。在这里,Mega8主要完成PS2接口鼠标的控制与数据获取,并通过315M发射模块发送位移数据。市售的315M发射模块电路图如图3所示:图3 发射模块原理图 图4 接收电路原理图接收部分电路主要由接收模块和MAX232组成,其原理图如图4所示:其中LED用于指示无线信号的接收解调情况,有数据接收时LED应闪亮。市售的接收模块电路原理图如图5所示:图5 接收模块原理图*注:为了使模块工作在最佳状态,笔者对收发模块进行了一些小的调整,在制作方法中会进行详细叙述。考虑到笔记本电脑已经逐步淘汰串口,可用PL2303HX这类USB转UART芯片代替MAX232,如图6所示:图6 PL2303HX原理图该电路的主体是PL2303HX芯片,主要完成USB与TTL232之间的协议转换。详细介绍请参看本刊2008年5月刊中的《常用USB转串口芯片介绍》一文。图7 笔者制作的PL2303HX做的USB转UART模块?软件设计鼠标的工作模式有四种,分别为Reset模式,Wrap模式,Remote模式和Stream模式。前两种作为测试用,Remote模式为主机有需要时,发送命令使鼠标回送位移数据,Stream模式是上电的初始模式,每当鼠标产生位置或者按键状态的改变就自动发送数据。显而易见,第四种模式是最合适的。在正常读取鼠标数据前只需发送命令(0xF4),此命令告知鼠标,主机已经准备完毕,可以接受位移数据。PS/2 鼠标与主机间履行一种双向同步串行数据帧协议,每帧为11-12Bit,如图7所示:图8 串行数据帧 图9 标准鼠标数据包按照标准的三键鼠标的数据包有效数据为3个字节,如图8所示:Mega8将读取的鼠标位移数据通过315M发射接收模块传送至PC后,需鼠标位移数据进行处理,笔者利用VS2005的C#编写了一个简单的串口小程序。该程序将收到的数据进行解释并转换为鼠标运动的轨迹。经笔者使用,效果良好。无线鼠标软件流程如下:(1)Mega8自身初始化,并通过0xF4命令告知PS2鼠标准备完毕;(2)等待PS2鼠标回送位移数据:Mega8利用中断按Bit进行数据读取,每读取一个数据包,进行正确性验证,然后根据无线发射模块的发射特性,在数据包头尾分别添加0xAA与0x55封装成新的数据包,并通过UART端口将位移数据进行发送;(3)接收模块接收的数据通过三极管反相,将数据传送至串口,PC软件进行解释并转换为鼠标的运动轨迹。至此,相信读者对该无线鼠标设计理念已经有了大致的印象,具体代码在此就不进行详细展开,详见本文的附录代码。制作方法本无线鼠标的制作方法与要点: 1、 由于单片机串口不发送数据时为高电平,按图3发射模块的电路连接后在串口不发送时也将持续发送无线信号,因此,笔者将模块中的Q2(一般是两个中比较小的一个贴片三级管)改为PNP型三极管,例如8550、9012等。经这样改造后,发射模块仅在发送低电平数据时才产生315M的调制信号,尤其是符合了串口低电平起始位的特点,并且节省了相当一部分的功耗;发射模块全貌图 发射模块背部修改处?2、笔者发现部分接收模块的输出信号总在1/2VDD附近,这样的信号必然不能被单片机的串口所正确接收,通过分析,笔者将LM358后一级放大器的IN+与IN-之间的电阻(R11)去掉,效果就比较满意了:没有接收

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档