1、单片机的蓝牙接收发射模块设计报告 单片机的蓝牙接收发射模块设计 09电子信息工程A班 胡传高 0915211020 马延涛 0915211042 严 飞 0915261036目录第一章 引言 31.1 本设计的背景 31.2 本设计的系统方案 31.2.1 系统各模块的选择 4第二章 单片机数据传输系统的组成框图 42.1 单片机数据发送模块框图 42.2 PC数据接收模块框图 4第三章 单片机数据传输系统硬件设计 53.1 发送与接收模块的单片机最小系统 53.2 发送与接收模块的无线通信模块BC04-B蓝牙模块 53.2.1 蓝牙技术协议简介 53.2.2 蓝牙技术的核心协议 63.2.3
2、 HCI协议 63.2.4 BC04-B蓝牙模块部分电路 73.3 18B20数字温湿度传感器 83.3.1 18B20简介 83.4超声波测距传感器及其电路部分 83.4.1超声波传感器原理 83.5单片机数据传输系统的电源部分 93.6 MAX232串口电路 103.7单片机显示电路 10第四章 单片机数据传输系统的软件设计 114.1单片机数据采集系统的程序流程图 114.2蓝牙数据收发系统的程序流程图 12第五章 单片机数据传输系统调试 13第六章 总结 14参考文献 14附录 14第一章 引言1.1 本设计的背景蓝牙技术是近年来发展迅速的短距离无线通信技术,可以用来替代数字设备间短距
3、离的有线电缆连接。使用全球通用的24GHz频段,即ISM(Industrial、Scientific and Medical)频段,使得蓝牙设备可工作于世界上任何地方;采用了跳频技术,提高了抗干扰性;蓝牙模块具有低成本、低功耗和低辐射的优点;具备认证和加密机制,实现了较高的安全性;应用范围广泛,可应用于无线设备、图像处理设备、安全产品、消费娱乐、汽车产品、家用电器、医疗健身、建筑、玩具等多种领域;支持点对点和点对多点传输,多个蓝牙设备可组成微微网,具备明显的网络特性。1.2 本设计的系统方案1.2.1 系统的功能实现通过温湿度及距离传感器采集环境的温湿度、距离信号,将信号处理然后通过无线传输到
4、距离十多米的地方进行显示,实现实时监测环境的温度、距离等信息,具有很大的应用前景。本设计以单片机和蓝牙模块BC04-B为主,设计了基于蓝牙无线传输的数据采集系统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、单片机、串口通信等构成,传送部分主要利用自带微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送到上位PC机进一步处理。PC机可以根据指令来控制数据的获取。1.2.1 系统各模块的选择 1.18B20数字温湿度传感器,内部包含一个电容式感湿元件和NTC测温元件,还有A/D转换模块,实现温湿度数字信号输出。
5、同时18B20又是单总线形式,与单片机相连减少了I/O口的使用。2.超声波测距模块,利用单片机发送触发信号,产生40HZ的声波信号,经过物体遮挡住返回的时间,可以计算距离。 3.采用STC89C52单片机控制单元2,产品较为普遍,价格便宜,易于控制。对STC89C52用C语言编写程序,可读性较好。4.无线通信采用全球广泛使用的蓝牙技术,本设计采用BC04-B蓝牙模块,该模块可实现二十米的无线数据传输。5.LCD1602液晶显示器为工业字符型液晶,能够显示32个字符,可实现对数据进行简单显示。 第二章 单片机数据传输系统的组成框图数据传输系统分为发送和接收两个模块:发送模块主要由温湿度采集模块、
6、距离采集模块、单片机控制模块、蓝牙发送模块、显示模块和电源模块等组成;接收模块主要由蓝牙接收模块、PC控制、串口调试模块组成。具体框图如下:2.1 单片机数据发送模块框图 信号采集发送过程3为18B20、超声波测距模块4将信号传给STC89C52单片机,单片机将信号处理,并进行超温湿度、距离报警。处理后的信号经串口发送给BC04-B蓝牙发射模块发射出去,采用2.4GHZ全球免费波段。2.2 PC数据接收模块框图信号接收过程为蓝牙适配器接收模块接收信号,将信号通过串口传给PC机,通过串口调试助手显示出来。PC可以通过串口调试助手给单片机机发送指令,控制数据的获取。 第三章 单片机数据传输系统硬件
7、设计3.1 发送模块的单片机最小系统本系统采用MCS-51系列STC89C52单片机芯片5作为发送与接收模块的控制单元,芯片具有如下特点:(1) 抗干扰性强;(2) 低价格;(3) 低功耗:掉电模式耗电低于0.1uA,正常工作模式为4mA7mA,掉电模式可由外部中断唤醒,适用于电池供电系统;(4) 通过MAX232电平转换芯片即可进行下载,编程方式灵活,可用C语言进行编写,可读性强,8KB的内部ROM增强编程方便性。发送与接收模块的控制单元电路原理图如图3.1:图3.1 STC89C52单片机最小系统图3.1中间部分为STC89C52芯片,该芯片采用40脚双列直插DIP封装,第40脚接+5V电
8、源,第20脚接地,左上部分为复位电路,接单片机的第9脚,但按下键时即对系统进行复位。左下为晶振电路,采用11.0592MHZ的晶振。第31脚接高电平。3.2 发送与接收模块的无线通信模块BC04-B蓝牙模块3.2.1 蓝牙技术的协议简介蓝牙无线通信的协议标准是由SIG制定的,它规定了蓝牙应用产品应遵循的标准和需要达到的要求。目前颁布的蓝牙规范有1.0、1.1、2.0、2.1等几个版本。协议栈由上至下可分为3个部分:传输协议、中介协议和应用协议。传输协议负责蓝牙设备间的相互位置确认,以及建立和管理蓝牙设备间的物理和逻辑链路,包括LMP、L2CAP、HCI;中介协议为高层应用协议或程序在蓝牙逻辑链
9、路上工作提供了支持,为应用层提供了各种标准接口,包括:RFCOMM、SDP、IrDA、PPP、TCP/IP、UDP、TSC和AT指令集等;应用协议是指那些位于蓝牙协议栈之上的应用软甲和其中涉及的协议,包括开发驱动和其他蓝牙应用程序等。3.2.2 蓝牙技术的核心协议蓝牙技术的核心协议分为四个部分,如下: (1)基带协议(Baseband)基带和链路控制层确保网络内部蓝牙设备单元之间由射频构成的物理连接。 (2)连接管理协议(LMP)负责蓝牙网络内各设备之间连接的建立。 (3)逻辑链路控制和适配协议(L2CAP)是一个为高层传输层和应用层协议屏蔽基带协议的适配协议,为高层应用传输提供了更加有效和更
10、有利于实现的数据分组格式。 (4)服务发现协议(SDP)发现服务在蓝牙技术框架中起到了至关重要的作用,它是所有用户模式的基础,是为实现网络中蓝牙设备之间相互查询及访问提供的服务。在蓝牙系统中,客户只有通过服务发现协议,才能获得设备信息、服务信息以及服务特征,从而在设备单元之间建立不同的SDP层连接3。3.2.3 HCI协议HCI(Host Controller Interface)协议,即主机控制接口协议,属于蓝牙协议栈的一部分,是蓝牙规范定义的一个符合标准的接口,它适用于蓝牙通讯模块的硬件部分。此定义描述了位于HCI驱动程序(主机的一部分,也即蓝牙通讯模块的使用者)和主机控制器固件(蓝牙通讯
11、模块本身的一部分)之间的接口。HCI固件通过访问基带命令、硬件状态寄存器、控制寄存器以及时间寄存器实现对蓝牙硬件的HCI指令。HCI传输层是蓝牙主机与蓝牙主控制器之间的物理接口。目前,蓝牙HCI传输层的物理接口由通用串行总线(USB)、串行端口(RS232)、通用异步收发器(UART)和个人计算机存储卡。本系统采用UART方式在蓝牙设备和主控制器之间传输数据。UART传输层发目标在于可以在同一PCB电路板上两UART之间的串行接口上使用蓝牙HCI协议。UART传输层假定UART通信不存在线路故障,图1为UART传输层。图1 UART传输层UART传输层采用了RS232的接口参数配置,如表1:波
12、特率厂商指定信息数据位数8奇偶校验位无奇偶校验位终止位1 终止位流控制RTS/CTS流完成响应时间3ms表1 RS232接口参数配置其中,RTS/CTS流控制用于防止临时UART缓冲区溢出,当CTS为1时,允许蓝牙主机/主机控制器发送,当CTS为0时,禁止蓝牙主机/主机控制器发送。流完成响应时间则定义了从设置RTS为0到字节流真正结束时的最大时间。UART信号线采取置空调制解调器模式,RS232信号处于连接状态,即本地TXD连接到远端RXD,本地RTS连接到远端CTS,反之亦然。UART传输层同时具备纠错功能。如果当蓝牙主机与主机控制器在RS232通信上失去同步,则必须复位。RS232通信失去
13、同步意味着已检测到HCI分组指示器或者HCI分组长度超出了范围。如果蓝牙主机与主机控制器在UART通信失去同步,那么主控制器将发送硬件故障时间,以将同步错误告诉蓝牙主机。主控制器需要从蓝牙主机接受一个RESET指令以执行抚慰,从而实现重新同步。3.2.4 BC04-B蓝牙模块部分电路BC04-B蓝牙模块8,9,10主要性能参数:(1) 频率:2.4GHz ISM band(2) 调制方式:GFSK(3) 发射功率等级:class2(4) 灵敏度:-80dBm(5) 通信速率:2Mbps(6) 供电电源:3.3V(7) 工作温度:-20 +55HC-06蓝牙模块部分电路图如图3.2.1:图3.2
14、.1 HC-06蓝牙模块部分电路图3.2左边部分为蓝牙芯片,其TX与RX引脚分别接STC89C52的RXD(P3.0)和TXD(P3.1),PIO1接LED灯,当LED常亮时表示蓝牙数据开始传输。右上部分为电源+5V转为+3.3V电路。BC04-B蓝牙模块实物如图3.2.2: 图3.2.2 BC04-B蓝牙模块3.3 18B20数字温湿度传感器3.3.1 18B20简介DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。该传感器响应快、抗干扰能力强、性价比高等优点。单总线串行接口,使系统变得简单快捷。超小的体积、极低的功耗。主要性能如下: (1)供电电压范围:+3.0V+
15、5.5V; (2)测温范围:-55+125。固有测温分辨率为0.5。当在-10+85范围内,可确保测量误差不超过0.5,在-55+125范围内,测量误差也不超过2; (3)通过编程可实现912位的数字读数方式. 18B20引脚图如图3.3.1。本设计将1脚接电源+5V,2接STC89C52的I/O口P2.3脚接地。 图3.3.13.4超声波测距传感器及其电路部分3.4.1超声波传感器原理(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离=
16、(高电平时间*声速(340M/S)/2; 图3.4.5 超声波发送接收原理图3.5单片机数据传输系统的电源部分 发射与接收模块的电源均用+7.2V的干电池经7805稳压输出+5V的电源,+5V电源在经过ASM1117稳压输出+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电源在经过
17、ASM1117稳压输出+3.3V供电。其电路原理图如图3.5.2 图3.5.2 +3.3V电源部分 3.6 MAX232串口电路MAX232串口电路主要用于STC89C52单片机程序的烧写以及用于扩展与上位机的通信。计算机串口采用的是RS232C负逻辑电平,“1”表示-12V,“0”表示+12V,与单片机的的TTL电平不同,因此通过MAX232串口电路实现与计算机进行通信。其电路图如图3.7,图中的5个电容均为0.1F的瓷片电容,起到降低芯片的噪声干扰。MAX232的11脚接STC89C52单片机的TXD(P3.1),12脚接单片机的RXD(P3.0);右下为串口母头,用于与计算机的通信,第3
18、脚(计算机数据输出端)为从计算机输出至单片机端口,第2脚(计算机数据输入端)为从单片机输入至计算机,5脚为地线,其余引脚在此不用。图3.6 MAX232串口电路3.7单片机显示电路接收模块显示电路采用LCD1602液晶显示。LCD1602能显示16个字符2行,即32个字符。LCD液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的字符,这些字符有阿拉伯数字、英文字母的大小写、常用符号和日文假名等,每一个字符都有一个固定的ASCII代码。其引脚说明如表3.8。编号符号引脚说明编号符号引脚说明1GND电源地9DB2数据2VCC电源正极10DB3数据3VEE液晶显示偏压11DB4数据4
19、RS数据/命令选择12DB5数据5R/W读/写选择13DB6数据6E使能信号14DB7数据7DB0数据15BLA背光源正极8DB1数据16BLK背光源负极表3.8 LCD1602引脚说明LCD1602在本设计中的电路连接图如图3.8,1脚和3脚接地,2脚接电源+5V,4脚接STC89C52图3.7 LCD1602电路连接图单片机的P2.5,5脚接P2.6,6脚接P2.7,714脚接P0口,15脚串接一个10K的电阻然后接到电源+5V。 第四章 单片机数据传输系统的软件设计单片机数据传输系统软件部分分为数据采集和接收发送数据两个模块,在此仅分析主程序与各子程序的流程。涉及的子程序为18B20温湿
20、度子程序,超声波测距子程序,蓝牙收发数据子程序,LCD1602液晶显示子程序。4.1单片机数据采集系统的程序流程 图4.1 系统软件主程序流程图4.2蓝牙数据收发系统的程序流程图4.2 蓝牙收发程序流程图 第五章 单片机数据传输系统调试系统主要由发送模块和接收模块组成。用万用表分别检测无短路或断路情况,测得电源部分7805输出端+5V,电源指示灯亮,单片机等各芯片电压正常。蓝牙模块接上电源LED指示灯正常点亮。先对温度采集电路进行调试,通过下载软件将HEX文件烧写进入单片机,发现蓝牙能够正常传输数据,测得环境的温度能在PC机上正常显示,温度精确到0.1,湿度精确到0.1,温度的测量范围为-20
21、.0+120.0。其次距离采集电路进行调试,下载软件将HEX文件烧写进入单片机,发现蓝牙能够正常传输数据,PC机显示实时距离值。然后整体系统调试,测得结果在空旷地带,单片机数据传输距离可达30多米;在有障碍物的时候,数据传输距离也可达10几米。 第六章 总结 基于蓝牙技术的数据传输系统的设计,以其低成本、低功耗、便携式、高精度的设计理念,实现对环境的温度、距离等数据的实时采集,让人们的生产生活安排的更加合理有序。蓝牙技术是全球广泛使用的无线通信技术,能够实现短距离快速传输大容量的数据,是短距离数据通信的首选技术,其不断成熟的技术,更是给无线通信领域带来光明的前景,BC04-B蓝牙模块,可传输十
22、几米的距离,较好的完成了设计任务。参考文献1郭坚. 基于STC89C52单片机的多路数据采集控制系统设计J.装备制造,2010,(4):234.2张发海. 基于单片机STC89C52的LED数码管温度显示及报警器的实现J.科技信息,2009,(35):87-88.3何国泉. 基于蓝牙的无线接入点设计J.微型机与应用,2010,29(18):58-60.4伍春. 基于蓝牙的无线传感器网络节点设计与实现J.计算机应用与软件,2010,27(4):74-76,101.5付蔚. 基于蓝牙芯片的无线通信模块设计与开发J.微计算机信息,2009,25(102):178-179,175.6喻宗泉.蓝牙技术基
23、础M.北京:机械工业出版,2006.40-95.附录 系统PCB:系统程序:#include#include#include#include#define uchar unsigned char#define uint unsigned intsbit DQ=P22;sbit RS=P35;sbit RW=P36;sbit EN=P34;sbit R=P27;sbit T=P26;unsigned int time=0;unsigned long S=0;bit flag =0;unsigned char disbuff4 = 0,0,0,0,;unsigned char code str1=
24、range temp ;float RxBuf,disdata5;uint tvalue;/温度值uchar tflag;/温度正负标志unsigned char code ASCII15 = 0,1,2,3,4,5,6,7,8,9,.,-,M,;uchar Tx,Ax;/*lcd1602程序*/void delay1ms(unsigned int ms)/延时1毫秒(不够精确的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; del
25、ay_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(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0x44);/*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds182
26、0wr(0xbe);/*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.625);/温度值扩大10倍,精确到1位小? tvalue=tvalue-15; return(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=t
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1