基于nRF2401模块的无线发送与接收系统的设计_第1页
基于nRF2401模块的无线发送与接收系统的设计_第2页
基于nRF2401模块的无线发送与接收系统的设计_第3页
基于nRF2401模块的无线发送与接收系统的设计_第4页
基于nRF2401模块的无线发送与接收系统的设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

基于nRF2401模块的无线发送与接收系统摘要温度是一个最基本也是非常重要的参数。人类的生产生活都与温度息息相关,在农业、工业、军事和生活等许多地方,都需要用到测温装置来检测温度。然而直接布线测量满足不了现在社会发展的需求,特别是在一些恶劣的环境里,通过直接布线测量不方便也不现实。所以现在更多的是采用无线温度测量。在实际温度控制过程中不仅要做到低耗,还要求在实际温度控制过程中既要求系统具有稳定性、实时性。因此设计一种低功耗的无线温度检测系统很有意义。所以我选择采用单片机STC89C52作为主控制器件,温度传感器DS18B20采集温度,无线传输采用nRF24L01模块传输。该系统结构简单,成本低,功耗小,是一种较好的无线传感器的解决方案。关键字:单片机;STC89C52;无线传输;nRF24l01;DS18B20AbstractTemperatureisaveryimportantparameters.Intheindustrial,medicalandmilitaryandlifeandmanyotherplace,itneedstousethetemperaturemeasurementdevicetodetecttemperature.Thetraditionaldirectmeasurementwiringdoesnotmeettherequirements,especiallyinsomeenvironmentalbadindustrialenvironmentandoutdoorenvironment,throughthedirectwiringmeasurementisnotpractical.Sousingwirelesstransmissiontemperaturetestingisnecessary.Atpresentsomedesigncanrealizethewirelesstemperaturegathering,butthepriceistoohigh,itsbiggestweakness.Intheactualtemperaturecontrolprocessrequiresbothsystemhasstability,real-timeandtheneedtoreducepowerconsumption.Sothedesignofakindoflowpowerconsumptionwirelesstemperaturedetectionsystemisverymeaningful.ThispaperpresentsaUSESthemonolithicintegratedcircuitSTC89C52controlDS18B20oftherealizationofthewirelesstemperaturemeasuringsystem.Throughthesimplewirelesscommunicationprotocol,realizethereliabilityandpowerbalance,thesystemcanrealizetothetemperaturedetection,cansimultaneouslydeterminethetemperature,canberealizedthewirelessremotecontroltemperaturedetectionsystem.Lowpowerconsumption,real-timewirelesstemperaturedetectionisthebiggestcharacteristicofthedesign.WirelesstransmissionusingnRF24L01moduletransmission.Thesystemstructureissimple,reliable,lowpowerconsumption,lowcost,itisakindofwirelesssensorsolutions.Keyword:MCU;STC89C52;wirelesstransmission;nRF24l01;DS18B200目录摘要.3Abstract.4第1章绪论.5第1.1节课题背景.5第1.2节无线测量的发展现状及发展趋势.5第2章系统总体方案设计.8第2.1节系统基本要求.8第2.2节硬件系统设计方案.8第2.3节软件系统设计方案.11第3章系统硬件设计.12第3.1节单片机系统的设计.12第3.2节nRF24L01无线模块.16第3.3节温度传感器DS18B20.19第3.4节显示模块LCD1602.22第3.5节电源电路设计.24第4章系统软件设计.25第4.1节发送端软件设计.25第4.2节接收端软件设计.27第4.3节温度采集模块软件设计.28第4.4节显示模块软件设计.31第5章系统仿真与调试.33第5.1节发送端温度采集与显示仿真.33第5.2节硬件调试与调试结果.33结论.36参考文献.37致谢.38附录.39附录1:实物照片.39附录2:系统原理图.40附录3:部分源程序.411第1章绪论第1.1节课题背景在工业控制现场,常常需要采集大量的现场数据,如电压、电流、温度、湿度、气压等,温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题,因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用,在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。温度作为一项工业常用测量对象,在工业现场和过程控制中具有至关重要的作用。随着科学技术的发展,要求温度测量的范围向深度和广度扩展,不但要求有足够的精度满足工业生产和科学技术的要求,而且还要求有广泛的测温范围。在许多测控现场,传统数据传输都是通过有线电缆实现的。随着射频、集成电路技术的发展,无线通信功能的实现更容易,数据传输速率更快,抗干扰能力更强,因此,许多应用采用了无线传输技术。无线数据传输与有线数据传输相比,有诸多优点:一是成本低,省去大量布线;二是建网快捷,只需在每个终端连接无线数据传输模块和架设适当高度天线;三是适应性好,可应用于某些特殊环境;四是扩展性好,只需将设备与无线数据传输模块相连接。因此,无线传输是一种有效数据传输方式。所以使用无线传输的高精度测温系统可以对生产环境的温度进行无线传输并且能够进行使操作员可以远距离实时了解被测现场的温度变化情况,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。第1.2节无线测量的发展现状及发展趋势数据采集技术是信息科学的重要组成部分,已广泛应用于各个领域。在数据传输方式上,目前数据采集系统基本上是通过有线方式进行连接,有线方式的数据传输速度快,可靠性高且运行稳定,能满足大多数情况的需要,但是其应用受现场环境和应用对象的限制。近年来,随着射频技术、微电子技术及集成电路技术的进步,无线通信技2术取得了飞速的发展,无线通信的实现成本越来越低,传输速度越来越快,可靠性越来越高,并且逐渐达到可以和有线网络相媲美的水平。短距离无线通信技术是近年来的研究热点,将无线技术引入数据采集领域,可以解决某些无法或不便布线的环境下的数据采集问题,以及解决有线网络带来的布线麻烦、不易维护等缺点。有些数据采集系统应用于智能家居领域的,但也进一步拓展至其它诸如工业控制、仪器仪表等领域对象的状态监测。随着计算机技术的发展和计算机技术在信号处理中的广泛应用,现代的测量系统在数字信号处理方面的能力也大大加强了,形成了数字化测量技术。数字化测量就是借助于各种类型的传感器检测外部世界的各种信号,并转换成电信号,然后进行信号调理和A/D转换,使之转换成为能够在数字系统中进一步处理的数字信号。具体来说,就是将温度、湿度、气体密度等物理信号转化为数字量并传递到计算机中。作为信息源头的传感器对计量测试技术的发展有着重要作用。目前,传感器正不断朝着多功能性和智能性方向发展。目前,已经将传感器技术和新兴的无线通信技术相结合,力图通过数据传输的无线化来达到智能家居中布线不便时对室内生活环境指标数据的采集。随着计算机技术、通信技术、网络技术、控制技术和信息技术的迅猛发展与提高,人们对所居住的环境提出了更高的要求,在这种形势下发展出了“智能家居”这一概念。目前,智能家居通常被定义为利用通信、网络和综合布线技术,通过家庭信息管理平台将与家居生活有关的各种子系统有机地结合的一个系统。智能家居首先要实现对所有家电设备和家居环境的监视,满足家居网络与外界进行通信的要求,实现家庭的远程监控和信息的交换。智能家居的最终目的就是满足人们对安全、舒适和方便的现代生活理念的追求。智能家居中,对当前环境状况的监测分析是首要的,无线数据采集系统即是针对智能家居中对室内生活环境指标如温度和湿度等进行采集分析的解决方案。近年来,智能控制技术已取得了突飞猛进的发展,并日益显示出其重要价值。智能控制已成为多种学科的综合与集成,吸引了全球不同领域、不同学科的众多专家学者,进行着广泛的研究工作,并不断探索新的方法、新的理论和新的有效的实际应用。人们正在努力使用智能控制技术进入工程化和实用化的阶段,智能控制已渐渐渗透到人们生产、生活的各个领域,成为人们生活的重3要组成部分。随着科学技术的发展和社会的进步,电子技术、计算机技术等的革新,智能控制必将迎来发展的新时期,智能控制的未来一定会更加美好。关于温度智能控制,现在已经有了许多新的器件和方法,并且有些已经运用到实际生活和生产当中,比如美国达拉斯公司生产的DS18B20温度巡检器,采用单线总线结构,通过一根I/O线与主控CPU进行数据和命令的传送。再如基于反射强度调制的光纤温度巡检系统,光纤传输距离可达1km以上,检测精度也可显著提高。而更为先进的是,某些粮仓已经在尝试将有线控制变位无线控制,利用无线传感器来实现粮情检测和智能控制。这些新器件新方法的应用,给温度智能控制带来了新的气息。4第2章系统总体方案设计第2.1节系统基本要求本设计的任务是利用NRF2401无线收发模块与接收模块实现系统间的无线通信。主要是设计以单片机为核心,使用温度传感器DS18B20采集温度并通过无线收发器NRF2401发射端传送给无线收发器的接收端,并通过LCD显示温度值。第2.2节硬件系统设计方案2.2.1硬件电路组成及工作原理发送端:发送端由温度传感器DS18B20,STC89C52单片机,nRF24L01无线射频模块,LCD1602显示模块组成。其温度采集模块将采集的数字温度值传给单片机主控单元,单片机将温度数据传给nRF24L01无线射频模块,nRF24L01将数据发送,同时在发送端的LCD1602显示模块进行显示。STC8952DS18B20LCD1602nRF24L01图2-1发送端系统框图接收端:接收端由STC89C52单片机,nRF24L01无线射频模块,LCD1602显示模块组成。其nRF24L01无线射频模块接收发射端的信号传给单片机主控单元,单片机将数据传输给LCD1602显示模块并进行显示。5STC89C52LCD1602nRF24L01图2-2接受端系统框图2.2.2硬件选型1、主控芯片方案方案一:采用宏晶科技有限公司的STC12C5A60S2增强型51单片机作为主控芯片。此芯片内置ADC和SPI总线接口,且内部时钟不分频,可达到1MPS。而且价格适中。方案二:采用TI公司生产的MSP430F149系列单片机作为主控芯片。此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位ADC。但其价格比较昂贵,而且是TPFQ贴片封装,不利于焊接,需要PCB制板,大大增加了成本和开发周期。方案三:采用传统的STC89C52单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。考虑到此系统和市场上现在的情况,从性能和价格上综合考虑我们选择方案一,即用STC89C52作为本系统的主控芯片。2、无线通信模块方案方案一:采用GSM模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大、且需要内置SIM卡,通信过程中需要收费,后期成本较高。方案二:采用TI公司CC2430无线通信模块,此模块采用Zigbee总线模式,传输速率可达250kbps,且内部集成高性能8051内核。但是此模块价格较贵,且Zigbee协议相对较为复杂。方案三:采用NRF24L01无线射频模块进行通信,NRF24L01是一款高速低功耗的无线通信模块。他能传输上千米的距离(加PA),而且价格较便宜、,采用SPI总线通信模式电路简单,操作方便。6考虑到系统的复杂性和程序的复杂度,我们采用方案三作为本系统的通信模块。3、温度传感方案方案一:采用AD590是美国ANALOGDEVICES公司的单片集成两端感温电流源。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。但其需要用到差分放大器放大和A/D转换,需要原件多。方案二:采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。经济,方便。使用DS18B20线路简单,编程容易,但是比AD590精度低。AD590还需要其它辅助电路,线路复杂,编程难度大,但是温度精确。考虑到电路的设计,成本,还有多点通信,我们选择方案二,即用DS18B20作为本系统的温度传感器。4、显示模块方案方案一:选择主控为ST7920的带字库的LCD12864来显示信息。12864是一款通用的液晶显示屏,能够显示多数常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果。方案二:采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。方案三:采用LED7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。综合以上方案,我们选择了经济实惠的字符液晶LCD1602来作为接收端的显示。7第2.3节软件系统设计方案本系统发送端采用DS18B20温度传感器采集温度,经STC89C52RC收集处理数据再由nRF24L01模块发送到接收端。其中包括DS18B20和nRF24L01模块的初始化配置。接收端采用nRF24L01无线模块接收发送端传来的温度数据,经单片机STC85C52RC在LCD1602液晶显示器上显示。其中包括nRF24L01模块和LCD1602液晶显示器的初始化。软件系统设计方案流程,如图2-3所示。结束配置nRF24L01发送模块复位DS18B20发送跳过ROM命令开始温度转换读取温度值温度显示数据经nRF24L01发送配置nRF24L01发送模块初始化LCD1602显示屏接收温度数据显示温度数据结束图2-3软件系统设计方案流程图开始开始8第3章系统硬件设计第3.1节单片机系统的设计3.1.1STC89C52RC单片机介绍1、STC89C52RC基本信息STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: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可选。2、STC89C52RC芯片主要特点(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz(4)用户应用程序空间为8K字节(5)片上集成512字节RAM(6)通用I/O口(32个),复位后为:P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即9可完成一片(8)具有EEPROM功能(9)共3个16位定时器/计数器。即定时器T0、T1、T2(10)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒(11)通用异步串行口(UART),还可用定时器软件实现多个UART(12)工作温度范围:-40+85(工业级)/075(商业级)(13)PDIP封装3、引脚及其功能介绍STC89C52RC引脚图如图3-1所示。图3-1STC89C52RC引脚图以下是各引脚的说明:VCC:STC89C52电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反向放大器输入端。10XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统皆可以工作了,此外可以在两个引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:STC89C52的重置引脚,高电平工作,当要对晶片重置时,只要对此引脚点评提升至高电平并保持两个机器周期以上的时间,STC89C52便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:“EA”为英文“ExternalAccess”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果使用8751内部程序空间时,引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。PORT0(P0.0P0.7):端口0是一个8位宽的开路电极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一个完整的16位地址总线,而定位地址到64K的外部存储器空间。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,若将端口1的输出设为高电平,使是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部缓冲输入脚,而P。1可以有T2EX功能,可以做外部中断输入的触发引脚。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,同样地,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输11出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,行通信输入。P3.1:TXD,行通信输出。P3.2:INT0,部中断0输入。P3.3:INT1,部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR,部数据存储器的写入信号。P3.7:RD,部数据存储器的读取信号。3.1.2本单片机系统设计单片机主控电路由STC89C52最小系统组成。单片机最小系统:X1,X2接外部振荡电路,RESET端接复位电路,EA端接高。设计电路图如图3-2所示。图3-2单片机系统电路设计图12第3.2节nRF24L01无线模块3.2.1nRF24L01芯片基本信息1、nRF24L01芯片概述nRF24L01是一款新型单片射频收发器件,工作于2.4GHz2.5GHzISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。2、nRF24L01主要特性如下:GFSK调制;硬件集成OSI链路层;具有自动应答和自动再发射功能;片内自动生成报头和CRC校验码;数据传输率为lMb/s或2Mb/s;SPI速率为0Mb/s10Mb/s;125个频道;与其他nRF24系列射频器件相兼容;QFN20引脚4mm4mm封装;供电电压为1.9V3.6V。3、引脚功能nRF24L01的封装及引脚排列如图3-3、3-4所示。各引脚功能如下:图3-3引脚排列图图3-4封装图13CE:使能发射或接收;CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01:IRQ:中断标志位;VDD:电源输入端;VSS:电源地:XC2,XC1:晶体振荡器引脚;VDD_PA:为功率放大器供电,输出为1.8V;ANT1,ANT2:天线接口;IREF:参考电流输入。引脚名称引脚功能描述1CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数字输入从SPI数据输入脚5MISO数字输出从SPI数据输出脚6IRQ数字输出可屏蔽中断脚7VDD电源电源(+3V)8VSS电源接地(0V)9XC2模拟输出晶体振荡器2脚10XC1模拟输入晶体振荡器1脚/外部时钟输入脚11VDD-PA电源输出给RF的功率放大器提供的+1.8V电源12ANT1天线天线接口113ANT2天线天线接口214VSS电源接地(0V)15VDD电源电源(+3V)16IREP模拟输入参考电流17VSS电源接地(0V)18VDD电源电源(+3V)19DVDD电源输出去耦电路电源正极端20VSS电源接地(0V)4、工作原理发射数据时,首先将nRF24L01配置为发射模式,接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保14持至少10s,延迟130s后发射数据;自动应答开启,那么nRF24L01在发射址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;AX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。3.2.2本无线模块电路设计无线模块电路设计原理图,如图3-5所示。图3-5nRF24L01无线模块电路设计图15第3.3节温度传感器DS18B203.3.1DS18B20传感器基本信息1、DS18B20传感器概述DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。2、DS18B20管脚配置和内部结构技术性能描述:(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)测温范围55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。(4)工作电源:3.05.5V/DC(可以数据线寄生电源)(5)在使用中不需要任何外围元件(6)测量结果以912位数字量方式串行传送(7)不锈钢保护管直径6(8)适用于DN1525,DN40DN250各种介质工业管道和狭小空间设备测温(9)标准安装螺纹M10X1,M12X1.5,G1/2”任选(10)PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。DS18B20的管脚和封装如下图3-6所示。16图3-6管脚和封装3、引脚定义:(1)DQ为单数据总线,是数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。内部结构,如图3-7所示。图3-7DS18B20内部结构图(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。17bit7bit6bit5bit4bit3bit2bit1bit0LSByte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MSByteSSSSS262524图3-8DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。4、DS18B20的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解DS18B20的内部存储器资源。DS18B20共有三种形态的存储器资源,它们分别是:ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,18DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。3.3.2本温度采集模块的设计DS18B20在本系统中与发送端单片机的P3.3连接。如图3-9。图3-9温度采集模块第3.4节显示模块LCD16023.4.1显示器LCD1602基本信息1、LCD1602简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。2、LCD1602引脚介绍,如图3-9所示图3-9LCD1602引脚图VSS:电源地19VCC:5V电源正极V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。RS:寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。RW:读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。EN:使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。D0D7:为8位双向数据端。BLA:脚背光正极。BLK:脚背光负极。3.4.2本显示模块的设计本设计在发射端与接收端部分都采用LCD1602液晶显示模块来显示温度,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD的驱动,P2口的P2.7-P2.6分别作为液晶显示模块的使能信号E,数据/命令选择RS,R/W端则配置成写。具体电路,如图3-10所示。图3-10显示模块20第3.5节电源电路设计3.5.1+5V电源电路的设计在本次的设计中,要供电给小系统和LCD显示模块两部分,所以选择了一个变压器(220V转9V)经过桥堆整流后输入到LM7805转为5V供电及对充电器进行充电,下面就一个电源电路给出设计方案,如图3-11所示。图3-11+5V电源电路3.5.2+3V电源电路的设计本系统无线模块需要3.3V电源,将先前转换得到的5V电源经过低压差电压调节器AS1117转换为3.3V电源,如图3-12所示。图3-12无线模块+3.3V电源供电电路21第4章系统软件设计第4.1节发送端软件设计发送端采用DS18B20温度传感器采集温度,经STC89C52收集处理数据,温度数据由LCD1602显示,然后通过nRF24L01模块发送到接收端。其中包括DS18B20和nRF24L01模块的初始化配置。发送端软件流程图如4-1所示。配置nRF24L01发送模块复位DS18B20发送跳过ROM命令开始温度转换读取温度值温度显示数据经nRF24L01发送开始是否发射成功?YN结束图4-1发送端程序流程图22voidmain(void)ucharTxBuf20=0;wendu=0;init_1602();init_NRF24L01();delay1ms(1000);while(1)if(init_DS18B20()=0)DS18B20_WENDU();write_com(0x80);write_str(temperature);write_data(:);write_com(0x80+0x44);write_data(wendu/100)%10+48);write_data(wendu/10)%10+48);write_data(.);write_data(wendu%10+48);write_data(0xdf);write_data(c);TxBuf1=wendu/256;TxBuf2=wendu%256;BELL=0;delay1ms(1);BELL=1;nRF24L01_TxPacket(TxBuf);/TransmitTxbufferdataTxBuf1=0x00;TxBuf2=0x00;23delay1ms(1000);sta=SPI_Read(STATUS);SPI_RW_Reg(WRITE_REG+STATUS,sta);第4.2节接收端软件设计接收端采用nRF24L01无线模块接收发送端传来的温度数据,经单片机STC89C52在LCD1602液晶显示器上显示。其中包括nRF24L01模块和LCD1602液晶显示器的初始化。接收端软件流程图如4-2所示。配置nRF24L01发送模块初始化LCD1602显示屏接收温度数据温度显示开始结束图4-2接收端程序流程图vo

温馨提示

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

评论

0/150

提交评论