蓝牙无线鼠标的设计_第1页
蓝牙无线鼠标的设计_第2页
蓝牙无线鼠标的设计_第3页
蓝牙无线鼠标的设计_第4页
蓝牙无线鼠标的设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于蓝牙的无线鼠标设计摘要蓝牙是一种低功耗、低成本、短距离的无线连接技术标准,是由爱立信、国际商用机器、英特尔、诺基亚和东芝5家公司共同倡导的一种全球无线技术标准。随着蓝牙技术的成熟与发展,它已经涉及了众多领域,蓝牙产品也是层出不穷。蓝牙无线鼠标是其中一种。随着人们对办公环境和操作便捷性要求日益增高,无线鼠标越来越受人们的喜爱。本设计中主要是在对蓝牙简介及其协议的了解下,在通过STC89C52单片机中嵌入蓝牙主机控制接口协议,实现对蓝牙模块的控制,完成对数据的收发处理,从而构建一个点对点的蓝牙系统。另外对鼠标的原理及构造进行分析,将鼠标功能通过按键方式实现并与蓝牙系统相结合实现蓝牙鼠标的功能的模拟。关键词:蓝牙;HCI;蓝牙系统;鼠标1ABSTRACTBluetoothisakindoflowpower,lowcost,shortdistancewirelessconnectiontechnologystandardbyEricssonIBM,IntelNokiaandToshibaaglobalwirelessstandardjointlyinitiatedthe5companies.WiththedevelopmentofBluetoothtechnology,ithasbeeninvolvedinmanyfields,Bluetoothproductsisalsoemergeinanendlessstream.Bluetoothproductsisalsoemergeinanendlessstream.Bluetoothwirelessmouseisoneofakind.Withtheincreasingoftheofficeenvironmentandconvenientoperationrequirements,wirelessmouseismoreandmorepopular.ThisdesignismainlyontheBluetoothprofileandagreementofunderstanding,afterusingtheembeddedBluetoothhostcontrollerinterfaceprotocolofSTC89C52RCSCM,torealizethecontroloftheBluetoothmodule,completethereceivingandprocessingofthedata,andtoconstructapointoftheBluetoothsystem.Theprincipleandstructureofopticalmousewereanalyzed,theopticalmouseandBluetoothsystemcombinedwiththerealizationoftheBluetoothmousefunction.Keywords:HCI;Bluetooth;Bluetooth;mouse2目录摘要.1ABSTRACT.2第一章绪论.31.1蓝牙无线鼠标的背景及意义.31.2本设计研究的主要内容.3第二章蓝牙技术及无线鼠标简介.42.1蓝牙标准.42.2蓝牙技术特点.42.3蓝牙无线鼠标的系统组成及工作原理.42.4蓝牙技术的现状及前景的展望.5第三章硬件系统的设计.63.1系统整体设计方案.63.2单片机最小系统.63.3蓝牙模块.83.4鼠标的按键电路.93.5电源电路.103.6接收电路.11第四章软件系统的构成.134.1主机控制接口协议.134.2编译语言的选择.164.3鼠标协议软件设计.164.4鼠标主程序.194.5电脑接收端程序.20第五章电路的调试与分析.225.1电路调试分析.22结论.24参考文献.25致谢.26附录1原理图.27附录2成品图.28附录3源程序.290第一章绪论1.1蓝牙无线鼠标的背景及意义现如今通信网络已经十分普及,近几年,微电子技术的不断进步推动了计算机和通信设备的普及和发展,一些电子消费产品,如电脑、手机、无绳电话等进入了人们的生活、学习和工作中,成为人们生活中不可缺少的一部分。然而这些设备之间的数据传输往往通过电缆实现,限制了使用的灵活性。人们需要一种能够替代电缆的短距离无线交换技术。在这种需求下,“蓝牙(Bluetooth)”应运而生。蓝牙技术的出现和发展推动和扩大了无线通信的应用范围,是网络中的各种数据和语言设备可以通过极其便捷的方式进行相互通信。蓝牙是一种低成本、短距离的无线连接技术标准。实际上就是一种短距离无线连接技术实现这些设备的无线互联,而不用电缆,进行语音、数据无线传输及接入两络。它采用全世界统一的开放性规范,由爱立信、IBM、英特尔、诺基亚和东芝5家公司共同倡导的一种全球无线技术标准。蓝牙理论传输速率1Mbps(实际传输速率为721Kbps)、一版传输距离为10米,功耗低一般用于消费类电子产品上,如PDA、笔记本电脑、手机、无线键盘、无线鼠标等。鼠标无疑是我们操作电脑是使用最频繁的部件,是我们与电脑之间的链接口。而无线鼠标能使我们的工作快捷,不受电缆限制。目前常见的鼠标还是USB设备,还是需要连接线因而受到了一些限制无法更方便的使用。与之相比,蓝牙鼠标可以很好的解决这些问题,更具有竞争力。现在蓝牙鼠标可以在能保持连接的范围内使用而不必和电脑连接在一起。更方便简洁的使用。我们就是用这个为出发点,设计出蓝牙鼠标。让我们能更舒适方便的使用电脑。1.2本设计研究的主要内容本次设计将详细讨论短距离无线通信技术中的蓝牙技术及其在鼠标中的应用,对蓝牙技术的发展应用前景做简要说明,对蓝牙鼠标的硬件软件及其测试进行分析与介绍。本次设计解决的问题如下:通过简单介绍本次设计的背景意义。详细的了解了蓝牙技术的特点标准及鼠标的特点和工作原理,掌握蓝牙协议栈的构成。按照从底层到高层的顺序讨论了蓝牙规范的核心协议。更深层次了解了主机接口设备协议,从而设计出蓝牙鼠标的硬件和其软件实现蓝牙鼠标的基本功能的模拟。1第二章蓝牙技术及无线鼠标简介2.1蓝牙标准下表2-1中列出了常见的蓝牙系统参数和相关技术指标。表2-1蓝牙系统参数和相关技术指标工作频段ISM频段,2.402MHz2.408GHz双工方式全双工,TDD时分双工业务类型支持电路交换和分组交换业务发射频率1mW10mW跳频频率数79个频点/MHz跳频速率1600次/秒工作模式PARK/HOLD/SNIFF数据连接方式面向连接业务SCO,无法连接业务ACL纠错方式1/3FEC,2/3FEC,ARQ鉴权采用反应逻辑算术信道加密采用0位、40位、60位加密字符语音编码方式连续可变斜率调制CVSD发射距离一般可达10m,增加功率的情况下可达100m2.2蓝牙技术特点总体来说蓝牙技术的特点可归纳如下几点:全球范围适用。(1)蓝牙工作在2.4GHz的ISM频段,全球大多数国家ISM频段的范围是2.4-2.4835GHz。(2)同时可传输语音和数据。(3)可以建立临时性的对等连接根据蓝牙设备在网络中的角色可分为主设备与从设备。(4)具有很好的抗干扰能力。(5)蓝牙模块体积小。可以方便地集成到各种设备中。(6)低功耗。蓝牙设备在通信连接状态下,有四种工作状态一激活模式、呼吸模式、保持模式和休眠模式。(7)开放的接口标准。(8)成本较低。2.3蓝牙无线鼠标的系统组成及工作原理蓝牙鼠标为蓝牙系统方案的一种。鼠标系统方案一般包含射频、基带、微控制器和存储器等模块,为降低成本一般都集成在一个芯片内。无线鼠标外观设计都是以美观、舒适、符合人体工学为标准,不受空间及角度限制。软件系统中蓝牙芯片一般将协议软件全部固化进内置的Flash,提供高至HCI层功能,2支持蓝牙协议的大多数HCI指令,因此可以很方便地利用它来构成蓝牙系统。硬件部分包括蓝牙芯片、光学传感器及发光二极管、电源与开关按键、系统线路元件(EPROM、晶振、天线、滤波元件、去耦元件等)。按照工作原理的不同,鼠标可以分为机械鼠标、光电鼠标和更高级的激光鼠标,现在被人们广泛使用的是光电鼠标。无线鼠标的鼠标部分的工作与传统光电鼠标相同,再通过蓝牙无线发射器把鼠标的移动,按键按下或抬起的信息转换成无线信号发送出去,蓝牙无线接收器收到信号后经过解码传递给主机,驱动程序告诉操作系统鼠标的动作,并把鼠标的指针移向哪个方向或是执行何种指令。2.4蓝牙技术的现状及前景的展望现如今蓝牙技术以应用到多方面,在我们的生活中已经随处可见蓝牙技术。笔记本电脑、耳机、蜂窝式电话等都可见蓝牙的身影。BluetoothSiG现已拥有2400家会员公司,预计明年蓝牙芯片将达14亿片,应用机器近7亿台。畅游在蓝牙技术的梦想中,你会发现蓝牙技术无所不能。稍稍关注一下网络高科技市场,就会发现蓝牙技术从诞生的那一天起,就一直被人们寄予了极高的期望。相信随着科技的进一步发展,蓝牙技术必将获得更加广泛的应用。尽管未来的发展有各种问题,不会一帆风顺,但是蓝牙技术的前进的步伐绝不会停下。我们应该抓住机遇,推广普及蓝牙技术的应用,加速实现信息化,加速实现现代化。34第三章硬件系统的设计3.1系统整体设计方案本次设计采用6个独立按键,4个独立按键实现鼠标的上下左右移动,另两个实现左键和右键功能,通过按键转化为脉冲信号传递给单片机,并由单片机经过分析通过蓝牙模块实现数据的传输与接收,电脑接收到数据后实现无线鼠标的功能。如图3-1所示。RXDTXDSTC89C52RXDTXDHC-05鼠标按键RXDTXDHC-05TXDRXDARDUINO模块电脑图3-1系统方框图3.2单片机最小系统3.2.1STC89C52RC主要功能本设计采用了STC89C51RC单片机,STC89C51RC单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,增强型8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。该单片机有如下的特点:(1)增强型6时钟/机器周期,12时钟/机器周期8051CPU(2)工作电压:5.5V-3.4V(5V单片机)/3.8V2.0V(3V单片机)(3)工作频率范围:040MHZ,实际工作频率可达48MHZ(4)用户应用程序空间8K字节(5)片上集成512字节RAM(6)通用I/O口(32个),复位后为:P0/P1/P2/P3是准双向口/弱上拉,P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻5(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(RXD/P3.0.TXD/P3.1)直接下载用户程序(8)EEPROM功能(9)看门狗(10)内部集成MAX810专用复位电路(D版本才有)(11)共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用(12)外部中断4路,下降沿终端或低电平触发中断,PowerDown模式可由外部中断低电平出发中断方式唤醒(13)通用异步串行口(UART),还可用定时器软件实现多个UART(14)工作温度范围:0-75(商业级)/-40-+85(工业级)3.2.2单片机最小系统STC89C52RC具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。如图3-2所示。图3-2单片机最小系统原理图63.3蓝牙模块3.3.1蓝牙模块简介蓝牙模块采用HC-05多芯片模块。他支持PCM、UART、I2C等协议,提供扩展的I/O支持功能。具有声音和数据传输的功能,能实现点对点的连接。改模块有3个部分:基带控制器、闪存和工作在2.42.5GHZ的ISM频段的射频模块。如图3-3所示。图3-3蓝牙模块原理图(1)基带控制器:基带控制器负责蓝牙基带部分的功能。他采用查询和寻呼方式在不同的蓝牙设备间是跳频时钟和跳频频率同步,完成基带以及链路的管理,包括对SCO和ACL连接方式的支持,差错控制,物理层的认证和加密、链路管理等。(2)闪存:闪存中存放的是基带、链路管理层和主机控制接口的软件,还包括一些API,用于对芯片进行配置。使用时,基带控制器首先把存放在闪存中的软件调到RAM中,RAN作为基带控制器的运行空间。7(3)射频模块:蓝牙射频用来实现蓝牙设备间的无线连接,具体要完成频率的合成、基带模块的数据bit信号到无线电信号的转换,并负责将无线电信号以一定的功率和跳频频率发送出去。模块中的射频部分是由蓝牙射频芯片来实现。该芯片是工作在2.42.5GHZ的ISM频段的蓝牙通信链的短距离微波频率射频收发器。最大数据传输为1Mbps,最大限度的利用了无需认证的ISM频段。在可供使用的79个信道之间快速跳频。使用GFSK调制。通道带宽1MHz。蓝牙射频芯片包括环路滤波器、压控振荡器、射频精简指令集处理器、晶体振荡器、接收/发送电路、RX/TX开关及天线过滤器。3.3.2蓝牙模块引脚说明VCC:电源(3.3V-5V)GND:接地TXD:模块串口发送引脚(TTL电平,不能接RS232电平)RXD:模块串口接收引脚(TTL电平,不能接RS232电平)KEY:高电平进入AT状态,低电平或者悬空则进入正常状态LED:配对成功输出高电平,未成功输出低电平3.4鼠标的按键电路3.4.1按键电路设计鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界面交互的必用外部设备。传统鼠标通过微机中的串口或PS/2鼠标插口与主机连接。当在平面上移动鼠标时,通过机械或光学的方法把鼠标滚轮移动的距离和方向转换成脉冲信号传送给计算机,计算机鼠标驱动程序将脉冲个数转换成鼠标的水平方向和垂直方向的位移量,从而控制显示屏上光标箭头随鼠标的移动而移动。本次设计采用的是用独立按键来实现鼠标的功能,设计上下左右4个按键,通过按键实现鼠标的上下左右的移动,并设有左键和右键的功能。单片机将按键距离和方向转化为脉冲信号发送给计算机,计算机驱动程序将脉冲的个数转化为鼠标的水平和垂直方向的位移量,从而控制显示屏上鼠标箭头的移动。如图3-4所示。8图3-4按键电路原理图3.4.2串行鼠标数据发送协议微软公司标准串口鼠标(两键)采用7个数据位,一个停止位。无校验位的方式以1200bps的速率传输数据,数据格式采用规定的3字节格式。如表3-5所示。表3-53字节格式数据位76543210Byte1X1LBRBY7Y6X7X6Byte2X0X5X4X3X2X1X0Byte3X0Y5Y4Y3Y2Y1Y0X:无用1/0:bit6一直为1/0(时钟信号)LB:左键按下=0,未按=1RB:右键按下=0。未按=1X7-X0:当前位置与上次数据发送时位置的X方向相对位移Y7-Y0:当前位置与上次数据发送时位置的Y方向相对位移X,Y方向的8个数据为有符号的整数,范围是-128+127,单位是Micky(米基)为鼠标的基本单位,1Micky=0.0005in3.5电源电路本次设计电源电路采用9V的直流电压供电,采用按键开关控制,接红色LED灯,开关按下电源电路工作LED灯亮。如图3-6所示。9图3-6电源电路3.6接收电路接收电路选择的是Arduino-leonardo开发板,它是基于Atmega32u4一个微控制器板。它有20个数字输入输出引脚(其中7个可用于PWN输出、12个可用于模拟输入),一个16MHz的晶体振荡器,一个MicroUSB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了支持微控制器所需的一切,可以简单的把它连接到计算机USB接口,或者使用AC-DC适配器,再可以用电池来驱动它。本次是作为无线鼠标的接收端连接到计算机上使用。其特点如下:(1)微控制器:Atmega32u4(2)工作电压:5V(3)输入电压(推荐):7-12V(4)输入电压(限制):6-20V(5)数字I/O引脚:20(6)PWN通道:7(7)模拟输入通道:12(8)每个I/O直流输出能力:40毫安(9)3.3V端口输出能力:50毫安(10)Flash:32KB,其中4KB由引导程序使用(11)SRAM:205KB(12)EEPROM:1KB(12)时钟速度:16MHz连接电路如图3-7所示。10图3-7接收端连接图11第四章软件系统的构成4.1主机控制接口协议4.1.1蓝牙协议栈体系结构蓝牙协议栈体系结构为分层结构,具体如图4-1所示。图4-1蓝牙协议栈体系结构按照各层协议在整个蓝牙协议体系中所处的位置,蓝牙协议可分为底层协议、中间层协议和高层协议三大类。蓝牙底层协议实现蓝牙信息数据流的传输链路,是蓝牙协议体系的基础,它包括射频协议、基带协议和链路管理协议。基带协议和链路管理协议更是其核心协议。蓝牙中间层协议完成数据帧的分解与重组、服务质量控制、组提取等功能,为上层应用提供服务,并提供与底层协议的接口,此部分包括主机控制器接口12协议、逻辑链路控制与适配协议、串口仿真协议、电话控制协议和服务发现协议。HCI为上层协议提供了进入链路管理器的统一接口和进入基带的统一方式,后面会详细说明。逻辑链路控制与适配协议和服务发现协议也是核心协议之一。蓝牙高层协议包括对象交换协议、无线应用协议和音频协议。4.1.2HCI概述在蓝牙的实现方案中,蓝牙射频、基带、与链路控制器、链路管理器层是以硬件、固件出现的,L2CAP层及以上的协议,因自身任务的复杂性、多样性,则以主机软件方式实现。二者之间的消息和数据的接口是HCI。蓝牙标准对HCI定义如下:HCI是一个调用和访问基带控制器和链路控制器以及硬件状态和控制寄存器的命令接口,这一接口提供了一个访问蓝牙基带功能的统一方法。HCI接口是庞大复杂的蓝牙协议体系中唯一必须掌握的部分。4.1.3蓝牙主机控制器接口数据分组主机和主机控制器之间是通过HCI收发分组的方式进行信息交换的。HCl分组有三种类型:指令分组(CommandPacket)、事件分组(EventPacket)和数据分组(DataPacket)。指令分组只从主机发向主控制器,事件分组只不过从主机控制器发向主机,用以说明指令分组的执行情况,数据分组在主机和主机控制器间双向传输。指令分组分为链路控制指令、链路策略指令、主机控制与基带指令、信息参数指令、状态参数指令和测试指令。事件分组分为通用事件、测试事件、出错事件三种。数据分组分为异步无连接(synchronizationConnectionless,ACL)数据分组和同步面向连接(SynchronizationConnectionOriented,SCO)数据分组。HCI指令分组HCI指令分组由操作码、参数总长和参数列表三部分组成。操作码由指令操作码段落和操作码组段组成,操作码占16位,高6位为操作码组段,低10位为操作码段落。如表4-2所示。1314表4-2HCI指令分组格式010162431操作码操作码指令段操作码组段参数总长(2字节)参数。参数N-1参数NHCI事件分组HCI事件分组是主机控制器当有事件时用来通知主机的。主机必须能接收不包括头在内的最长255字节的HCI事件分组。如表4-3所示。表4-3事件分组格式010162431事件类型码参数总长事件参数0事件参数1事件参数2事件参数N-1时间参数N(8位)事件类型码,区分不同事件。(I字节)参数总长,所有参数的字节数,并不是参数的数目。事件参数,每一个参数都是整数字节长。HCI数据分组HCI数据分组用于主机和主机控制器之间交换数据,分为无连接异步(ACL)和面向连接(SCO)的同步数据分组。如表4-4、4-5所示。表4-4HCI的ACL数据分组形式01214162431连接句柄PB标志BC标志数据总长数据表4-5HCI的SCO数据分组形式01214162431连接句柄Reserved保留数据总长数据4.1.4蓝牙主机控制接口传输层目前,蓝牙HCI传输层的物理接口有通用串行总线(USB)、串行端口(RS232)、通用异步收发器(UART)和个人计算机存储卡国际协会卡(PC卡)15(1)HCI的USB传输层。USB传输层将蓝牙HCI指令分组、事件分组和数据分组经过不同的USB端点传输,蓝牙USB主机可以区分不同的HCI分组类型,从而做出相应的处理。(2)HCI的RS232传输层。对于RS232,所有的数据收发都分别经过RX和TX两条线。蓝牙RS232无法区分接收的HCI为哪一种分组,所以必须要附加特殊的标志来区分分组类型。这一标志就是蓝牙分组指示器,他附加在对应的HCI分组前。(3)HCI的PC卡传输层。蓝牙PC卡适合用小驱动程序在PC卡和主机之间进行独立的数据收发,这就要求小驱动程序应该提供独立的收发接口。这些接口上端为HCI驱动程序,下端为物理PC卡总线。(4)HCI的UART传输层。UART采用串行通信方式传输,使用HCI的UARI,传输层的前提是假设没有线路误码,因而与HCI的RS232传输层相比,其分组格式只有指令分组、事件分组、ACL数据分组、SCO数据分组四种,而没有错误分组和协商分组。与HCI的RS232传输层一样,HCI的UART传输层也使用分组指示器来区分这四种分组。4.2编译语言的选择对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法。4.3鼠标协议软件设计设计的软件要完成按键扫描、X方向/Y方向运动扫描、数据发送等任务。在记数光电管产生脉冲的同时,将数据按照规定格式发送到主机。脉冲的个数反映了移动的距离,单位时间内脉冲数越多,鼠标移动越快。协议实现流程如图4-6所示。16开始发送初始化报告X/Y方向及按键初始标志位检测X/Y方向及按键状态左键变化右键变化X轴计数器=0Y轴计数器=0置循环检测次数循环结束鼠标状态与上次发送一致发送标志=1数据发送处理,清X、Y计数器及发送标志,保存鼠标状态上次发送数据结束NNYNYNNNNYNYNYNYN图4-6协议实现流程图按键扫描程序:voidScan_Key()if(KEY_W=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_W=0)UartPrintf(W);if(KEY_S=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_S=0)UartPrintf(S);17if(KEY_A=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_A=0)UartPrintf(A);if(KEY_D=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_D=0)UartPrintf(D);if(KEY_L=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_L=0)UartPrintf(L);while(KEY_L=0);if(KEY_R=0)/按键1扫描Delay_ms(10);/延时去抖if(KEY_R=0)UartPrintf(R);while(KEY_R=0);184.4鼠标主程序无线鼠标的实现实际上是将鼠标数据作为蓝牙系统的应用数据,将其封装成ACL数据格式,由蓝牙主设备发送给从蓝牙设备,蓝牙从设备再将ACL数据格式,还原成鼠标数据经串口传输给PC机,经上位机程序解码,实现无线鼠标功能。软件主要由以下几个文件构成:UART,COMM,BLUETOOTH,MAIN,MOUSE。他们的各自功能如下:COMMON中包括:LOCAL.C、TOOLS.C、TIMER.C。LOCAL.C:主要完成C8052的一些参数设置,如看门狗寄存器的设置,XTAL的初始化、CROSSBAR交叉开关初始化等。TOOLS.C:主要完成一些常用功能,如拷贝、比较、设置、两数比较大小、延时等。TIMER.C:主要对单片机的4个定时器初使化。UART中包括:UART_8052.CUART_8052.C:主要完成UARTO和UARTI对应波特率的设置及数据发送接收。BLUETOOTH中包括:HCL.C和ACL_DATA_BUFFER.C。HCI.C:蓝牙系统软件中的核心部分,即蓝牙动驱动程序。ACL_DATA_BUFFER.C:主要完成缓冲区的初始化,ACL数据的格式封装、数据的存储、获取数据的长度等。MOUSE:主要完成串行鼠标的协议编码。MAIN:软件的主程序,分为主机程序和从机程序。主程序流程图如图4-7所示。19开始8052RC初始化设置波特率蓝牙模块初始化建立点对点连接RI1=0接收鼠标编码数据封装成ACL数据TL0=0由UARTO发送数据开始8052RC初始化设置波特率蓝牙模块初始化等待接收请求事件RI1=0提取编码数据TL1=0由UART1发送数据给微机NNNN图4-7主程序流程4.5电脑接收端程序连接电脑的接收端采用的是Arduino-leonardo开发板,其主程序如下:voidsetup()/initializeserial:/初始化串行口Serial1.begin(9600);/设置串口波特率Mouse.begin();voidloop()while(Serial1.available()20charinChar=(char)Serial1.read();if(inChar=A)digitalWrite(13,!digitalRead(13);Mouse.move(-3,0);/左移3elseif(inChar=D)digitalWrite(13,!digitalRead(13);Mouse.move(3,0);/右移3elseif(inChar=W)digitalWrite(13,!digitalRead(13);Mouse.move(0,-3);/上移3elseif(inChar=S)digitalWrite(13,!digitalRead(13);Mouse.move(0,3);/下移3elseif(inChar=L)digitalWrite(13,!digitalRead(13);Mouse.click(MOUSE_LEFT);elseif(inChar=R)digitalWrite(13,!digitalRead(13);Mouse.click(MOUSE_RIGHT);2122第五章电路的调试与分析5.1电路调试分析电路板焊接完成后,需要对每个元器件的引脚逐个进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。检查电路焊接没有问题后,则可以进行上电测试。上电测试是调试的关键部分,按照系统方案设计的模块化思想,应该分模块测试系统。首先还是应该测试电源部分,系统上电以后,测试各个电源端口和器件的电源部分是否工作正常,同时应注意系统中有无器件过热情况,如果有的话,可能是相应的器件损坏或电路中有短路,需要认真检查之后再加电。如果没有问题,则可以进行功能的检测。由于系统硬件较复杂,硬件电路装配、焊接完成后,可能不能正常工作。为了方便调试,采用分块调试的方法。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成芯片的损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在3.3V5V之间属正常范围。调试好电路后将连线连接完成,接收端用USB接线接于电脑上,万能板用9V直流电通电,按下开关。电路工作。按上下左右4个按键,发现鼠标指针随之正确移动,选择电脑图标,双击左键打开,单击右键跳出工具栏,所以是基本实现了鼠标的功能。调试图片如下:23测试一:连接电路,主板接通电源,接收端用USB线连接在电脑上,电路开始工作,LED显示灯亮两个蓝牙模块开始连接。测试二:蓝牙对接完成,实验鼠标功能,按主板上下左右键电脑上鼠标随之移动,鼠标移到图标上,双击左键能打开文档,单击右键能显示工具栏。完成鼠标功能的模拟。24结论本次毕业设计是通过对蓝牙的整体研究,特别是对蓝牙核心协议的分析,从而设计出蓝牙系统,以较低的成本设计出无线鼠标,将蓝牙系统与无线鼠标相结合实现蓝牙鼠标的功能。设计中分两部分,一是蓝牙系统,一是鼠标模块。在蓝牙系统硬件上,设计中选用蓝牙模块HC-05,蓝牙主芯片采用51内核的单片机,简化了电路,增加了整体电路的可靠性。鼠标模块采用6个独立按键实现其功能,单片机通过扫描按键脉冲,进行分析处理。再通过软件的连接实现数据的传输,实现蓝牙鼠标功能的模拟。在设计过程中遇到很多问题和挫折,硬件上在制作过程中并不顺利,会出现布局上的错误,焊接不完美。在软件设计中,蓝牙模块数据传输,蓝牙模块与鼠标之间的连接做的也不是很好。这也是自己知识不足的体现,在将来会不断提高自己,巩固自己已学的知识,学习更多的理论知识,争取能在将来能更完美的完成自己的设计。25参考文献1.马建仓,罗亚军,赵玉亭.蓝牙核心技术及应用.科学出版社.20032.庄奕琪.蓝牙梦想与实现.机械工业出版社.2002:7-123.张正文,陈卓,马成前,跳频扩频技术在蓝牙中的应用电脑与信息技术.20014.曹冲.蓝牙技术的发展现状和应用前景.无线电工程.20015.李静,耿卫东,赵东,孙仲林.HCI协议在嵌入式蓝牙系统中的应用.半导体技术.20026.N.Sriskanthan,D.Tandon.ProtocolforplugandplayinBluetoothbasedHomeomeNetworks.IEEETCOMSUMELETR.2004:457-4627.NathanJ.Muller.BluetoothDemystified.人民邮电出版社,20018.ROK101008datasheet,EricssonMicroelectronicsAB,20009.PerHaglund.BluetoothSoftwareandHardwareDevelopment.Mastersthesis.UniversityofLondon.200210.蒋建文,韩江洪.基于蓝牙协议的家庭信息网解决方案.计算机工程与应用.200211.马建仓蓝牙无线键盘鼠标的研制:硕士学位论文西安:西北工业学,200412.钱志鸿等蓝牙技术原理、开发及应用北京航空航天大学出版社,200213.徐爱钧、彭秀华.单片及高级语言C51Windows环境编程与应用.电子工业出版社.200114.董自健.用单片机实现HCI层的蓝牙数据传输.淮海工学院报.200315.杨国田.董玲.8051系列单片机通用鼠标接口程序设计.测控技术,200216.李越.鼠标器的工作原理及上机常见故障的排除.计算机应用研究.200017.新知.无线鼠标技术特点及分类.网络与信息.2009年O9期18.马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计.北京航空航天大学出版社.199926致谢本次毕业设计是在导师魏明老师的帮助指导下完成的。魏老师渊博的知识、灵活的思维、拥有创新的精神、严谨的教学态度、谦和的为人帮助了我更好的完成本次毕业设计,我相信在将来的工作中也能对我产生深远的影响。在此,谨向魏老师表示深深的感谢。感谢几年来所有任课老师和同学们对我的教育和帮助,是他们教会我很多专业知识,教会我如何学习,教会我如何更好的做人,正是因为他们我在个方面才能取得显著的进步。他们陪伴了我几个春夏秋冬,让我在这陌生的城市中更是感受到一种温馨。在此我向他们表示我由衷的谢意,并祝我的老师们培养出越来越多的人才,桃李满天下。祝我的同学们在离开学校后能找到满意的工作。最后,在此对帮助过我的老师同学们表示深深的谢意。27附录:中英文文献翻译名称利用AT89CX051微控制器进行模拟数字转换28附录1原理图29附录2成品图30附录3源程序Main.c代码如下:#includemain.h#includeuart.h#includeunsignedc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论