单片机的蓝牙接收发射模块设计报告

您所在的位置:网站首页 bc04蓝牙模块 单片机的蓝牙接收发射模块设计报告

单片机的蓝牙接收发射模块设计报告

2023-05-26 02:22| 来源: 网络整理| 查看: 265

《单片机的蓝牙接收发射模块设计报告_毕业论文》由会员分享,可在线阅读,更多相关《单片机的蓝牙接收发射模块设计报告_毕业论文(25页珍藏版)》请在人人文库网上搜索。

1、基于单片机的蓝牙接收发射模块设计毕业论文目录第一章 引言 31.1 本设计的背景 31.2 本设计的系统方案 31.2.1 系统各模块的选择 . 3第二章 单片机数据传输系统的组成框图 32.1 单片机数据发送模块框图 42.2 PC 数据接收模块框图 . 4第三章 单片机数据传输系统硬件设计 43.1 发送与接收模块的单片机最小系统 43.2发送与接收模块的无线通信模块一一BC04-B蓝牙模块 53.2.1 蓝牙技术协议简介 53.2.2 蓝牙技术的核心协议 73.2.3 HCI 协议 73.2.4 BC04-B 蓝牙模块部分电路 73.3 18B20 数字温湿度传感器 83.3.1 18B

2、20 简介 83.4 超声波测距传感器及其电路部分 83.4.1 超声波传感器原理 83.5 单片机数据传输系统的电源部分 93.6 MAX232 串 口电路 103.7 单片机显示电路 10第四章单片机数据传输系统的软件设计 114.1 单片机数据采集系统的程序流程图 124.2 蓝牙数据收发系统的程序流程图 错误!未定义书签。第五章 单片机数据传输系统调试 133第六章 总结 14参考文献 14附录 14第一章 引言1.1 本设计的背景蓝牙技术是近年来发展迅速的短距离无线通信技术, 可以用来替代数字设备间短距 离的有线电缆连接。使用全球通用的2. 4GH频段,即ISM( In dustri

3、al 、Scie ntific and Medical) 频段,使得蓝牙设备可工作于世界上任何地方;采用了跳频技术,提高了抗干 扰性;蓝牙模块具有低成本、低功耗和低辐射的优点;具备认证和加密机制,实现了较 高的安全性; 应用范围广泛, 可应用于无线设备、 图像处理设备、 安全产品、 消费娱乐、 汽车产品、 家用电器、 医疗健身、 建筑、 玩具等多种领域; 支持点对点和点对多点传输, 多个蓝牙设备可组成微微网,具备明显的网络特性。1.2 本设计的系统方案1.2.1 系统的功能实现通过温湿度及距离传感器采集环境的温湿度、距离信号,将信号处理然后通过无线 传输到距离十多米的地方进行显示,实现实时监测

4、环境的温度、距离等信息,具有很大 的应用前景。本设计以单片机和蓝牙模块 BC04-B 为主,设计了基于蓝牙无线传输的数据采集系 统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、 单片机、串口通信等构成 ,传送部分主要利用自带 微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送 到上位 PC 机进一步处理。 PC 机可以根据指令来控制数据的获取。1.2.1 系统各模块的选择1.18B20 数字温湿度传感器,内部包含一个电容式感湿元件和NTC测温元件,还有A/D转换模块,实现温湿度数字信号输出。同时 18B2

5、0又是单总线形式,与单片机相连 减少了 I/O 口的使用。2.超声波测距模块,利用单片机发送触发信号,产生40HZ的声波信号,经过物体遮 挡住返回的时间,可以计算距离。3.采用STC89C5单片机控制单元2,产品较为普遍,价格便宜,易于控制。对STC89C52 用 C 语言编写程序,可读性较好。4.无线通信采用全球广泛使用的蓝牙技术, 本设计采用BC04-B蓝牙模块,该模块可 实现二十米的无线数据传输。5丄CD1602液晶显示器为工业字符型液晶,能够显示 32个字符,可实现对数据进行 简单显示。第二章 单片机数据传输系统的组成框图数据传输系统分为发送和接收两个模块:发送模块主要由温湿度采集模块

6、、距离采集模块、单片机控制模块、蓝牙发送模块、显示模块和电源模块等组成;接收模块主要 由蓝牙接收模块、PC控制、串口调试模块组成。具体框图如下:2.1单片机数据发送模块框图18B20显示超声波测风c8ST单片机9C52Y天线A BC04 B 蓝牙1块图2.1发送模块信号采集发送过程为18B20超声波测距模块将信号传给STC89C52I片机,单片机将信号处理,并进行超温湿度、距离报警。处理后的信号经串口发送给BC04-B蓝牙发射模块发射出去,采用2.4GHZ全球免费波段。2.2 PC数据接收模块框图天线 丫 I 接收蓝牙模块PC机控制和显示显示键盘图2.2接收模块信号接收过程为蓝牙适配器接收模块

7、接收信号,将信号通过串口传给PC机,通过串口调试助手显示出来。PC可以通过串口调试助手给单片机机发送指令,控制数据的获取。第三章单片机数据传输系统硬件设计3.1发送模块的单片机最小系统本系统采用MCS-51系列STC89C52单片机芯片呵作为发送与接收模块的控制单元, 芯片具有如下特点:(1)抗干扰性强;(2)低价格;(3) 低功耗:掉电模式耗电低于 0.1uA,正常工作模式为4mA- 7mA掉电模式可 由外部中断唤醒,适用于电池供电系统;(4) 通过MAX232电平转换芯片即可进行下载,编程方式灵活,可用C语言进行 编写,可读性强,8KB的内部ROM增强编程方便性。发送与接收模块的控制单元电

8、路原理图如图 3.1 :ca43DFFPL阳 FL.ir PLJ FL3FL.4 PI 3 PL a pi iAIWXpsjamxD FS.irTXDPS.JWTD P3JiTL F3jgiWK FS.lfRL? WTALJIlC2I l| LJd5P2MHZi丁 MTALL UM3PFSTc?WC52EA/VPPALEFR.CORb5TP2.7 P2A F3. FP2.3F2.2 F2.J 曲00口0.叮60.0.|.3ED2D3HDSDei-32匚门图3.1 STC89C52单片机最小系统图3.1中间部分为STC89C5芯片,该芯片采用40脚双列直插DIP封装,第40脚 接+5V电源,第2

9、0脚接地,左上部分为复位电路,接单片机的第 9脚,但按下键时即对 系统进行复位。左下为晶振电路,采用 11.0592MHZ的晶振。第31脚接高电平。3.2发送与接收模块的无线通信模块一一BC04-B蓝牙模块3.2.1蓝牙技术的协议简介蓝牙无线通信的协议标准是由SIG制定的,它规定了蓝牙应用产品应遵循的标准和需要达到的要求。目前颁布的蓝牙规范有1.0、1.1、2.0、2.1等几个版本。协议栈由上至下可分为 3个部分:传输协议、中介协议和应用协议。传输协议负责蓝牙设备间的相互位置确认,以及建立和管理蓝牙设备间的物理和逻辑链路,包括LMP、L2CAP、HCI ;中介协议为高层应用协议或程序在蓝牙逻辑

10、链路上工作提供了支持,为应用层提供了各种标准接口,包括: RFCOMM、SDP、IrDA、PPP、TCP/IP、UDP、TSC和AT指令集等;应用协议是指那些位于 蓝牙协议栈之上的应用软甲和其中涉及的协议,包括开发驱动和其他蓝牙应用程序等。3.2.2蓝牙技术的核心协议蓝牙技术的核心协议分为四个部分,如下:(1)基带协议(Baseband)基带和链路控制层确保网络内部蓝牙设备单元之间由射频构成的物理连接。(2)连接管理协议(LMP)负责蓝牙网络内各设备之间连接的建立。(3)逻辑链路控制和适配协议(L2CAP)是一个为高层传输层和应用层协议屏蔽基带协议的适配协议,为高层应用传输提供了更加有效和更有

11、利于实现的数据分组格式。(4)服务发现协议(SDP)发现服务在蓝牙技术框架中起到了至关重要的作用,它是所有用户模式的基础,是为实现网络中蓝牙设备之间相互查询及访问提供的服务。在蓝牙系统中,客户只有通过服务发现协议,才能获 得设备信息、服务信息以及服务特征,从而在设备单元之间建立不同的SDP层连接3。3.2.3 HCI 协议HCI ( Host Con troller In terface )协议,即主机控制接口协议,属于蓝牙协议栈的一部分, 是蓝牙规范定义的一个符合标准的接口,它适用于蓝牙通讯模块的硬件部分。此定义描述了 位于HCI驱动程序(主机的一部分,也即蓝牙通讯模块的使用者)和主机控制器

12、固件(蓝牙 通讯模块本身的一部分)之间的接口。HCI固件通过访问基带命令、硬件状态寄存器、控制寄存器以及时间寄存器实现对蓝牙硬件的HCI指令。HCI传输层是蓝牙主机与蓝牙主控制器之间的物理接口。目前,蓝牙HCI传输层的物理接口由通用串行总线( USB )、串行端口( RS232 )、通用异步收发器( UART )和个人计算机 存储卡。本系统采用 UART方式在蓝牙设备和主控制器之间传输数据。UART传输层发目标在于可以在同一 PCB电路板上两 UART之间的串行接口上使用蓝牙HCI协议。UART传输层假定UART通信不存在线路故障,图1为UART传输层。图1 UART传输层UART传输层采用了

13、 RS232的接口参数配置,如表 1 :波特率厂商指定信息数据位数8奇偶校验位无奇偶校验位终止位1终止位流控制RTS/CTS流完成响应时间3ms表1 RS232接口参数配置其中,RTS/CTS流控制用于防止临时 UART缓冲区溢出,当 CTS为1时,允许蓝牙主机/主机 控制器发送,当CTS为0时,禁止蓝牙主机/主机控制器发送。 流完成响应时间则定义了从设置 RTS 为0到字节流真正结束时的最大时间。UART信号线采取置空调制解调器模式,RS232信号处于连接状态,即本地 TXD连接到远端RXD,本地RTS连接到远端 CTS,反之亦然。UART传输层同时具备纠错功能。如果当蓝牙主机与主机控制器在

14、RS232通信上失去同步,则必须复位。RS232通信失去同步意味着已检测到HCI分组指示器或者HCI分组长度超出了范围。如果蓝牙主机与主机控制器在UART通信失去同步,那么主控制器将发送硬件故障时间,以将同步错RESET指令以执行抚慰,从而实现重新同步。误告诉蓝牙主机。主控制器需要从蓝牙主机接受一个324 BC04-B蓝牙模块部分电路BC04-B蓝牙模块8,9,10主要性能参数:(1) 频率:2.4GHz ISM ba nd(2) 调制方式:GFSK(3) 发射功率等级:class2(4) 灵敏度:三-80dBm(5) 通信速率:2Mbps(6) 供电电源:3.3V(7) 工作温度:-20 +

15、55 CHC-06蓝牙模块部分电路图如图3.2.1 :IXDRXDIXP1O1.RXPJOIOCISPIC9PIOSiJ,CM CLKpio?PCM OUTPIO6 PCM INPIO5PCM SYNCPIO4 AltXlPIO3A3O1no2RfiTPIC3.3 VPICK)GNU+ GNDIgllF丁门BCMfO 33 VC4 加I QuJI图3.2.1 HC-06蓝牙模块部分电路图3.2左边部分为蓝牙芯片,其 TX与RX引脚分别接STC89C5的RXD(P3.0)和TXD (P3.1), PIO1接LED灯,当LED常亮时表示蓝牙数据开始传输。右上部分为电源+5V转为+3.3V电路。BC

16、04-B蓝牙模块实物如图3.2.2 :图3.2.2 BC04-B蓝牙模块3.3 18B20数字温湿度传感器 3.3.1 18B20 简介DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。该 传感器响应快、抗干扰能力强、性价比高等优点。单总线串行接口,使系统变得简单快 捷。超小的体积、极低的功耗。主要性能如下: 供电电压范围:+3.0 V+5.5V;(2) 测温范围:-55+125C。固有测温分辨率为0.5 C。当在-10 C+85C范围 内,可确保测量误差不超过 0.5 C,在-55+125C范围内,测量误差也不超过 2C;(3) 通过编程可实现912位的数字读数方式.

17、18B20 引脚图如图3.3.1。本设计将1脚接电源+5V, 2接STC89C52的 I/O 口 P2.3 脚接地。温度 DS18B20图 3.3.13.4超声波测距传感器及其电路部分 3.4.1超声波传感器原理(1)采用IO触发测距,给至少10us的高电平信号; 模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是 超声波从发射到返回的 时间测试距离=(高电平时间*声速(340M/S)/2;图345超声波发送接收原理图3.5单片机数据传输系统的电源部分发射与接收模块的电源均用+7.2V的干电池经7805稳压输出+5V的电源,+

18、5V电源在经过ASM111稳压输出+3.3V。其电路原理图如图3.5.1。图中J3的2脚位+7.2V,1 脚为地;S4为拨动开关,电容C11、C12 C13 C14均为7805输入输出端的滤波电容;D17为发光二极管,即电源指示灯;D19为1N4007保护二极管,当输入端短路时,给输 出电容C14一个放电回路,防止7805被击穿损坏。图3.5.1 +5V 电源部分BC04-B 蓝牙模块供电电源由+5V电源在经过ASM1117!压输出+3.3V供电。其电路原理图如图3.5.25VC57 22u-lfiVC5616VINOUTU30AS1117-3.3VTP17LED 1275o.aiu3.3VR

19、78 470QTP1SGND图3.5.2 +3.3V电源部分3.6 MAX232 串 口电路MAX232串 口电路主要用于 STC89C52单片机程序的烧写以及用于扩展与上位机的通信。计算机串口采用的是 RS232C负逻辑电平,“ 1”表示-12V, “0”表示+12V,与单片机的的TTL电平不同,因此通过 MAX232串口电路实现与计算机进行通信。其电路图如图3.7,图中的5个电容均为0.1卩F的瓷片电容,起到降低芯片的噪声干扰。MAX232的11脚接STC89C5单片机的TXD( P3.1 ),12脚接单片机的RXD( P3.0);右下为串口 母头,用于与计算机的通信,第3脚(计算机数据输

20、出端)为从计算机输出至单片机端 口,第2脚(计算机数据输入端)为从单片机输入至计算机,5脚为地线,其余引脚在此不用。05C-Ii-C-IE ESV-HI1J-I U-iLA图3.6 MAX232串口电路3.7单片机显示电路接收模块显示电路采用LCD1602液晶显示。LCD1602能显示16个字符X 2行,即32个字符。LCD液晶模块内部的字符发生存储器(CGRQM/I已经存储了 160个不同的字符, 这些字符有阿拉伯数字、英文字母的大小写、常用符号和日文假名等,每一个字符都有 一个固定的ASCII代码。其引脚说明如表3.8 。编号符号引脚说明编号符号引脚说明1GND电源地9 1DB2数据2VC

21、C电源正极10DB3数据3VEE液晶显示偏 压11DB4数据4RS数据/命令 选择12DB5数据5R/W读/写选择13DB6数据6E使能信号14DB7数据7DB0数据15 1BLA背光源正极8DB1数据16BLK背光源负极表3.8 LCD1602引脚说明ITITITII4 ULCD1602在本设计中的电路连接图如图 3.8,1脚和3脚接地,2脚接电源+5V, 4脚 接 STC89C52V!C VKR KSH123BC.IL3H1F?B-iLiJd-5 OFidSBLA1 II图3.7 LCD1602电路连接图单片机的P2.5,5脚接P2.6,6脚接P2.7,7 14脚接P0 口,15脚串接一个

22、10K的电阻然 后接到电源+5V。第四章 单片机数据传输系统的软件设计单片机数据传输系统软件部分分为数据采集和接收发送数据两个模块,在此仅分析 主程序与各子程序的流程。涉及的子程序为 18B20温湿度子程序,超声波测距子程序, 蓝牙收发数据子程序,LCD1602液晶显示子程序。4.1单片机数据采集系统的程序流程发送模块接收模块图4.1系统软件主程序流程图4.2蓝牙数据收发系统的程序流程图4.2蓝牙收发程序流程图第五章单片机数据传输系统调试系统主要由发送模块和接收模块组成。用万用表分别检测无短路或断路情况,测得 电源部分7805输出端+5V,电源指示灯亮,单片机等各芯片电压正常。蓝牙模块接上电

23、源LED指示灯正常点亮。先对温度采集电路进行调试,通过下载软件将HEX文件烧写进入单片机,发现蓝牙能够正常传输数据,测得环境的温度能在PC机上正常显示,温度精确到0.1 C,湿度精 确到0.1 %,温度的测量范围为-20.0 C +120.0 C。其次距离采集电路进行调试,下载软件将 HEX文件烧写进入单片机,发现蓝牙能够 正常传输数据,PC机显示实时距离值。然后整体系统调试,测得结果在空旷地带,单片机数据传输距离可达30多米;在有 障碍物的时候,数据传输距离也可达 10几米。第六章总结基于蓝牙技术的数据传输系统的设计,以其低成本、低功耗、便携式、高精度 的设计理念,实现对环境的温度、距离等数

24、据的实时采集,让人们的生产生活安排的更 加合理有序。蓝牙技术是全球广泛使用的无线通信技术,能够实现短距离快速传输大容 量的数据,是短距离数据通信的首选技术,其不断成熟的技术,更是给无线通信领域带 来光明的前景,BC04-B蓝牙模块,可传输十几米的距离,较好的完成了设计任务。参考文献1 郭坚基于STC89C52单片机的多路数据采集控制系统设计J.装备制 造,2010,:234.2 张发海.基于单片机STC89C52的 LED数码管温度显示及报警器的实现J.科技信 息,2009,(35):87-88.3 何国泉.基于蓝牙的无线接入点设计J.微型机与应用,2010,29(18):58-60.4 伍春

25、.基于蓝牙的无线传感器网络节点设计与实现J.计算机应用与软 件,2010,27(4) :74-76,101.付蔚.基于蓝牙芯片的无线通信模块设计与开发J.微计算机信 息,2009,25(102):178-179,175.6喻宗泉.蓝牙技术基础M.北京:机械工业出版,2006.40-95.附录系统PCB系统程序:#include#include #include#include #define uchar unsigned char#define uint unsigned intsbit DQ=P2A2;sbit RS=P3A5;sbit RW=P3A6;sbit EN=P3A4;sbit R

26、=P2A7;sbit T=P2A6;unsigned int time=0; unsigned long S=0;bit flag =0;= 0,0,0,0,;unsigned char disbuff4 unsigned char code str1=range temp ;float RxBuf,disdata5;uint tvalue;/温度值uchar tflag;/温度正负标志codeASCII15unsignedchar0,1,2,3,4,5,6,7,8,9,.,-,M,; uchar Tx,Ax;lcd1602程序*/void delay1ms(unsigned int ms)/

27、unsigned int i,j;for(i=0;ims;i+)for(j=0;j0;i-)DQ = 0; / 给脉冲信号 dat=1;DQ = 1; /给脉冲信号if(DQ) dat|=0x80;delay_18B20(10);return(dat);void ds1820wr(uchar wdata)/* 写数据 */unsigned char i=0;for (i=8; i0; i-)DQ = 0;DQ = wdata&0x01; delay_18B20(10);DQ = 1; wdata=1;read_temp()/* 读取温度值并转换 */uchar a,b; ds1820rst()

28、;ds1820wr(0xcc);/* 跳过读序列号 */ ds1820wr(0x44);/* 启动温度转换 */ds1820rst();ds1820wr(0xcc);/* 跳过读序列号 */ ds1820wr(0xbe);/* 读取温度 */ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8; tvalue=tvalue|a;if(tvalue0x0fff)tflag=0;elsetvalue=tvalue+1;tflag=1;tvalue=tvalue*(0.625);/ 温度值扩大 10 倍,精确到 1 位小 ? tvalue=tvalue-15;re

29、turn(tvalue); void show()/ 温度值显示 uchar flagdat;time=TH0*256+TL0;TH0=0;TL0=0;S=(time*1.7)/100; / 算出来是 CM disdata0=tvalue/1000+0x30;/ 百位数 disdata1=tvalue%1000/100+0x30;/ 十位数 disdata2=tvalue%100/10+0x30;/ 个位数 disdata3=tvalue%10+0x30;/ 小数位 disdata4=0x00;if(tflag=0)flagdat=0x2d;/ if(disdata0=0x30) disdat

30、a0=0x20;/ if(disdata1=0x30) disdata1=0x20;/ flagdat=0x20;/ 正温度不显示符号 else负温度显示负号 :-如果百位为 0,不显示如果百位为 0,十位为 0 也不显示disbuff0=S%1000/100;disbuff1=S%1000%100/10;disbuff2=S%1000%100%10;disbuff3=S%10000%1000 %100; wr_com(0xc0);wr_dat(ASCIIdisbuff0);/ 显示百位 wr_com(0xc1);wr_dat(ASCII10);wr_com(0xc2);wr_dat(ASCI

31、Idisbuff1);wr_com(0xc3);wr_dat(ASCIIdisbuff2);wr_com(0xc4);wr_dat(ASCII12); wr_com(0xc8); wr_dat(flagdat);/ wr_com(0xc9);wr_dat(disdata0);/ wr_com(0xca);wr_dat(disdata1);/ wr_com(0xcb);wr_dat(disdata2);/ wr_com(0xcc); wr_dat(0x2e);/ wr_com(0xcd);wr_dat(disdata3);/ void StartModule()T=1;显示符号?显示百位显示十位显示个位显示小数点显示小数位/ 启动模块/ 启动一次模块_nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3