基于单片机的温湿度数据传输设计_第1页
基于单片机的温湿度数据传输设计_第2页
基于单片机的温湿度数据传输设计_第3页
基于单片机的温湿度数据传输设计_第4页
基于单片机的温湿度数据传输设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE24摘要随着我国科技的不断发展,无线技术也不断发展并用于不同的行业。本设计是基于单片机的无线温度检测系统,利用单片机结合温度对环境温度进行检测,结合nRF24L01无线传输模块,将检测到的环境信息通过无线传输模块自发送至接收机,接收机接收到信息后通过LCD进行显示,并在温度超过设置阈值时启动警报。总体设计以51单片机为核心,采用模块化设计思想。系统硬件由单片机最小系统、无线收发电路、报警电路和液晶显示电路组成。然后,对系统的主程序和各个子程序进行了分析和设计。最后,完成了无线温湿度数据传输系统设计。发射机与接收机之间的通信通过nRF24L01无线传输模块实现,温湿度传感器采集的数据显示在LCD1602上。实验证明,本文设计的系统可行性高、简便、适合推广。关键词:nRF24L01无线传输模块;温湿度检测;数据传输TemperatureandHumidityDataTransmissionDesignBasedonSingleChipMicrocomputerAbstract:WiththecontinuousdevelopmentofChina'sscienceandtechnology,wirelesstechnologyhasalsobeendevelopedandusedindifferentindustries.Thisdesignisbasedonthewirelesstemperaturedetectionsystemofthesingle-chipmicrocomputer.Itusesthesingle-chipmicrocomputertocombinethetemperaturetodetecttheambienttemperature.CombinedwiththenRF24L01wirelesstransmissionmodule,thedesignalsotransmitsthedetectedenvironmentalinformationtothereceiverthroughthewirelesstransmissionmodule.Thereceiverreceivestheinformation.ItisthendisplayedthroughtheLCDandanalarmisactivatedwhenthetemperatureexceedsthesetthreshold.Thedesignoftheoverallplanisbasedon51single-chipmicrocomputer,usingmodulardesignideas,thesystemhardwareconsistsoftheminimumsystemofthemicrocontroller,wirelesstransceivercircuit,alarmcircuit,liquidcrystaldisplaycircuit.ThecommunicationbetweenthetransmitterandthereceiverisrealizedbythenRF24L01wirelesstransmissionmodule,andthecollecteddataofthetemperatureandhumiditysensorisdisplayedontheliquidcrystaldisplayLCD1602.Thetestprovesthatthesystemdesignofthispaperisfeasible,simpleandconvenient,andsuitableforpromotion.Keywords:nRF24L01;temperatureandhumiditydetection;datatransmission

1绪论1.1选题概述随着现代科学技术的迅速发展,现代社会对与生产与生活中息息相关的各个必要参数数值的准确性与实时测量的便捷性要求越来越严格。温湿度作为影响人类生产生活的主要环境数据之一,无论是在工业生产、农业种植、科研开发等方面,对温度和湿度环境的要求越来越严格。因此如何更加精确、快捷、便利的获取温湿度参数变得至关重要。温湿度采集在工业,农业和日常生活被广泛使用。在工业生产中,大多数专业仪器以及生产环境需要严格的检查和监控,但是,由于生产环境恶劣,工作人员无法长时间留在现场观察设备是否正常运作,生产环境是否满足要求。在这个时候,我们需要收集数据和传输数据,以解决温度和湿度的采集问题。在农业生产中,无论是温室温度监测还是粮仓管理,大多采用人工测量记录的方法,不仅增大工作人员的工作量,而且是测量数据的可靠性也不高。在当前的科学技术水平上,无线通信技术的飞速发展,使得温度的采集和测量变得准确和容易。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会选择安装室内温湿度采集控制系统,用于更换的生活舒适感和实时掌握自己的生活环境、但是,目前我国对于温湿度数据的采集大部分仍然以定时巡查、人工读取数值为主。传统的测量方法难以满足科学合理的检测要求,效率低下,费时费力,不利于实现即时的数值读取,很大程度上限制了工农业与科技发展的效益。因此有必要研制开发操作简便,成本低廉,实用简单的温湿度检测设备。1.2课题国内外研究现状随着科学技术的飞速发展,人们已经进入了智能社会,这极大提升了人们对优质生活的追求。20世纪70年代初,国外已经开始开发探测温度和湿度的技术。首先,使用模拟仪器收集测试现场的信息,并对其进行记录和监测。分布式控制系统的发展始于20世纪80年代末。目前,计算机数据采集集成控制系统正在开发中。目前,世界各国的温湿度测量和控制技术发展迅速。一些国家正在朝着完全自动化、无人化和智能化的方向发展。我国温湿度测量与控制技术的研究起步较晚,始于20世纪80年代。基于发达国家的温湿度测量和控制技术,我国工程师和技术人员掌握了室内计算机温湿度控制技术。总的来说,我国温湿度监测设备的应用正经历着从消化吸收、简单应用到实践综合应用的转变和发展中。技术上主要采用单片机控制的单参数单回路系统,目前并没有发展到没有真正的多参数综合控制系统。与发达国家相比,这一差距仍然很大。我国温度和湿度的测量和控制还远远没有实现工业化。在生产实践中,还存在设备配套能力差、产业化程度低、环境控制落后、软硬件资源共享不足、可靠性差等问题。由于各种新技术的出现,国内大多数企业正处于技术发展创新的阶段。环境监测信息技术是环境监测发展的大趋势之一。市场对环境监测的需求日益增长,对环境监测技术的需求日益增长。目前,环境监测正朝着便捷化、网络化和信息化的方向发展。20世纪90年代中期结合微电子技术、计算机技术和自动测试技术研发出了智能温湿度传感器(数字温湿度传感器)。目前,各种智能温度和湿度传感器产品已在世界各地开发。智能温度和湿度传感器由温度和湿度传感器、A/D转换器、信号处理器、存储器和接口电路组成。有些产品甚至有高级功能,如多路选择器、中央控制器、随机访问存储器和只读存储器。智能温度传感器能够输出温度数据和相关的温度控制量,并能适应各种微控制器,通过软件控制和监控数据,温度湿度计越来越智能化。常用的温度湿度传感器有DHT系列、AD590、DS18B20等。随着温湿度传感器的发展,温室监测系统越来越成熟,为人们提供了更好的服务。国内外对温度和湿度检测的研究,从复杂的模拟检测到智能的数字检测,该技术已经越来越成熟。目前,温度和湿度检测系统正朝着小型化、低功耗和智能化的方向发展。1.3设计的主要内容本设计是一种基于单片机的无线温湿数据传输系统。利用单片机、显示模块、无线模块、温度湿度传感器等实现温度湿度数据的采集、无线传输、接收和显示设计由发射机和接收机组成。发射机通过无线模块将传感器收集到的温度和湿度数据传输给接收机。接收端接收到的数据显示在显示模块上,可根据设定的报警值阈值进行报警。本文主要针对无线温湿度数据传输系统的进行了研究和设计,主要目标包括:(1)根据系统功能分析,制定无线温湿度数据传输系统的总体设计方案,并且对方案中的关键器件进行比较论证,选择最适合本设计的器件方案。(2)采用模块化的硬件设计思路,分别对硬件电路中的单片机最小系统、电源模块、无线模块、液晶显示电路等进行了原理图设计,并最后在电路原理设计完成后进行了总体的PCB设计。(3)根据系统总体方案的功能需求和基本的硬件电路接口,对系统的软件进行了详细设计,包括各模块子程序以及系统主程序。(4)通过实物研制,对现场的温度采集和发送,结果表明本文设计的正确性。熟悉单片机在实际开发中的应用,学会累计并查找资料,确定系统的方案,并且从这些方案中选择最佳的设计方案。学习并掌握如何开发系统,在实际中发现问题解决问题。本次设计运用的软件,主要使用原理图PCB绘制软件AltiumDesigner、程序编程软件Keil等。购买所需元器件,制作电路板,根据电路板原理图,对焊接好的电路板进行反复调试,进行硬件调试和系统调试,直至系统所需的预定功能实现。2系统整体设计及方案选择设计由发射机和接收机组成。发射机通过无线模块将传感器收集到的温度和湿度数据传输给接收机。接收端接收到的数据显示在显示模块上,可根据设定的报警值阈值进行报警。图2-1单片机控制系统整体框图根据上述系统整体设计方案,进行如下方案选择分析。2.1单片机方案选择方案一:采用STC89C52单片机STC89C52是一款低功率、高性能的CMOS8位单片机,经典的MCS-51内核和8k可编程闪存。在单个芯片上,STC89C52具有灵活的8位CPU和可编程闪存。它也适用于传统的编程器,这也使STC89C52能够为许多设计应用提供更灵活有效的解决方案。就性能而言,STC89C52具有8K字节的闪存、256字节的随机存取存储器、32个输入/输出端口、看门狗定时器、4个外部中断和4KB的EEPROM。工作电压范围为3到5V,工作频率在0到40兆赫兹之间,实际工作频率高达48兆赫兹。此外,STC89C52也可以简化为零赫兹的静态逻辑操作,在这种情况下它可以支持两种节能模式的选择。在空闲模式下,只允许随机访问内存、计时器/计数器和串行端口中断继续工作,中央处理器停止工作。在停电保护模式下,所有工作停止,随机访问内存内容被保存,振荡器被冻结,直到下一个中断或硬件重置后才开始重新工作。STC89C52可以直接使用串口进行程序烧录和下载。方案二:采用MSP430系列单片机德州仪器开发生产的msp430系列单片机是一种16位单片机。它采用了RISC(精简型型指令集)结构,丰富的寻址方法,简单的核心指令,以及大量的模拟指令。这些都保证了MSP430系列单片机具有能够编译高效源程序的特点。MSP430系列单片机的工作电压范围只有1.8V~3.6V。MSP430系列单片机的最大亮点是功耗极低,在频率为1MHz的条件下运行时,单片机的最低功耗仅为165uA,随机存取存储器保持模式下最低功耗仅为0.1uA。MSP430系列MCU整合了丰富的内部资源。例如,WDT(看门狗)、模拟比较器A、计时器_A0、计时器_A1、计时器_B0、通用异步收发器、串口外部接口,硬件乘数,输入和输出端口,基本定时器,实时时钟和许多其他周边模块。这些部件的设计为系统和其他设计提供了丰富而简单的解决方案。本文设计的系统只需要两个无线模块就可以实现两个单片机之间的通信、温湿度数据的收集和传输以及温湿度的显示。根据需求来选择,只需要选择一般的8位单片机便可实现,结合自己在以前的实习中使用的单片机,在本文中,选择可以实现设计功能、性价比高,对自己来说相对熟悉的STC89C52单片机。2.2无线模块方案选择方案一:使用nRF24L01无线模块实现数据传输nRF24L01无线模块是一个无线收发器芯片,在ISM波段运行。工作频率为2.4Ghz~2.5Ghz,工作电压为1.9V~3.6V。传输功率有四种选择:0dBm、-6dBm、-12dBm和-18dBm。输入可承受5V以下的电压输入。内部包括一个频率发生器,一个增强型SchockBurst控制器,一个功率放大器,一个晶体振荡器和一个调制解调器。目前nRF24L01的功耗很低。在0dBm的传输模式下,功率的消耗量只有11.3mA,而在接收模式下则只有12.3mA。在待机和关机模式下,它甚至更低。nRF24L01提供三种通讯频率选项:250Kbps、1Mbps和2Mkbs。nRF24L01可以通过SPI接口与微处理器连接。从而设置输出功率频道和协议,完成传输工作。方案二:利用蓝牙模块HC-05实现数据传输HC-05蓝牙模块是一款可用于各种具有蓝牙功能的电脑、蓝牙主机、手机等设备终端的高性能的主从一体蓝牙串口模块。工作波特率范围为4800~1382400,TTL电平,兼容3.3V、5V的单片机。有效传输距离理论上为10m,基带传输速率可达1Mbps,能到支持语音以及较大数据的单独和同时传输。通过AT指令集对蓝牙模块进行操作和设置。通过比较、分析所提出的两种方案,传输数据仅为温湿度,数据量较小,基于比较两者的功能性、便捷性、实用性、推广性,本文最终选择方案一。2.3温湿度采集模块方案选择方案一:采用单总线DS18B20温度传感器DS18B20主要性能描述:(1)独特的单线接口方式,DS18B20只需一条线即可与单片机连接,实现单片机与DS18B20的双向通信;(2)可测量范围温度为-55~125摄氏度,但在温度测量时,测量数据会有1摄氏度的固定误差;(3)使用时不需要外围组件;(4)电源可由数据线供电,电压范围为3.0~5.5V;(5)通过编程可实现9~12位的数字读数方式;(6)负压特性,当电源正负极性接反时,传感器不会因发热过高而烧毁,但是不能正常工作。方案二:采用具有已校准数字信号输出的DHT11温湿度传感器DHT11主要性能描述:(1)相对湿度和温度测量;(2)全部校准,数字输出;(3)卓越的长期稳定性;(4)无需额外部件;(5)超长的信号传输距离;(6)超低能耗;(7)4引脚安装;(8)完全互换。通过实际分析,对两种不同型号的传感器对比,方案一选用的DS18B20传感器只能对温度值进行测量,湿度的测量需要另行设计电路,且有1℃的固有测温误差。在第二个方案中选择的DHT11温湿度传感器是一个经过校准的数字信号输出的复合温度和湿度传感器。采用专用的数字模块采集技术和温度湿度传感技术,保证产品具有极高的可靠性和优良的长期稳定性。该传感器内部由NTC温度测量元件和电阻式湿度传感元件构成,可直接与单片机I/O连接。该产品具有性价比高、响应快、抗干扰能力强等优点。通过两种方案的对比,方案二更加合适本系统设计。2.4显示电路方案选择方案一:采用LCD1602液晶显示屏显示数据LCD1602工业字符型液晶是一种图形点阵显示器,一行可以显示16个字符,共两行,能够同时显示16×2即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过对电压的控制从而达到不同的显示效果,即可以显示出字母、数字、符号等图形。它由若干个点阵字符位组成,每个单独的点阵字符位都可以显示一个字符,字符位与字符位之间都有一定间隔的间距,行与行之间也是如此,这些间距起到字符间距和行间距的作用。LCD1602可编程行高,使用简单可靠,但是相对数码管的成本稍高些。方案二:采用数码管显示数据传统的数码管由多个封装在一起的发光二极管构成,连接引线已在内部连接完成,在使用时只需引出它们的“笔划”和公共电极即可。具有低功耗、耐老化、亮度高、成本低、易于维护等特点。数码管多用于显示数字,字母等,显示内容过于单一,不适用显示复杂的内容。通过对比,数码管显示效果亮度高,寿命长,成本低,可是显示内容有限,对于字符显示效果远不如液晶显示,使用LCD1602液晶显示远远比数码管的优势大,而且其显示效果更好,显示内容更为丰富。因而,本系统设计选择的是显示内容丰富,显示效果较好的LCD1602。2.5设计方案确定通过以上四个方案的对比选择,最后,确定了本设计中主要部件的选择。本设计方案为:本设计以ST89C52单片机为控制核心,采用nRF24L01无线模块收发数据,温湿度传感器DHT11收集温度和湿度数据,LCD1602显示接收到的数据。3系统硬件设计根据上一章节的方案选择,本文设计的整体思路为:使用STC89C52单片机,LCD1602液晶显示模块,nRF24L01无线模块,温湿度传感器DHT11等元件完成温湿度数据的采集、无线传输、数据接收与显示。3.1单片机硬件电路控制部分的核心是单片机。STC89C52是STC公司在51系列单片机基础上改进从而生产的一种高性能、低功耗的8位的微控制器。该芯片具有多钟功能特性可满足设计需求,如:复位电路,看门狗定时器,32个双向输入输出端口,3个16位的定时器,全双工串行接口,4个外部中断,还有8K字节的Flash可读程序存储器,512字节的可写程序存储器,内部还设置了4K的可擦除可读程序存储器。3.1.1单片机引脚介绍 本文只介绍了系统设计使用到的引脚,引脚功能如下表:表1单片机引脚功能表引脚编号名称引脚功能1~8P1.0~1.7P1口是8位准双向输入输出端口。在EPROM编程和程序验证时,它输入低8位地址。P1口能驱动4个LSTTL负载。在本设计中,P1口在文中作为输入端口,P1.7口接温湿度传感器,P1.1口、P1.2口、P1.3口、P1.4口、P1.5口连接nRF24L01无线模块。9RST复位输入端,连接按键的一端,用来完成单片机复位初始化操作,使整个系统重新运行。10~17P3.0~3.7P3口在本文中用到其管脚的特殊功能,在本设计中,使用到了串行口P3.0、P3.1。18XTAL2在本设计中,它被用作反向振荡电路放大器的输出端,接晶振的另一端。19XTAL1在单片机内部,它作为反相放大器的输入端,构成片内振荡器,接晶振的一端20GND接地端21~28P2.0~P2.7P2口是8位准双向输入输出端口。P2.6、P2.7、P2.8分别接LCD1602的使能端、读写信号线、寄存器选择端。31EA/VPP是内、外可读存储器端。如果EA端为高电平,那么在访问CPU的同时也开始进行执行内部ROM指令操作;但是当程序计数器的值超过4KB时,则中断内部ROM的一些操作,开始对外部ROM的程序的执行操作。如果EA端为低电平,则CPU会直接忽略掉内部ROM部分操作,只进行访问,但是进行对外部程序存储器指令的操作。32~39P0.0~0.7P0口是一个8位双向输入输出端口。当访问片外存储器时,它提供低8位地址和8位数据的复用总线。在EPROM编程时,从P0口接收指令字节;验证程序时需要外部上拉电阻。在本设计中,液晶显示屏LCD1602使用了P0引脚,用于液晶显示器连接,完成显示的工作。40VCC电源引脚图3-2STC89C52引脚结构图3.1.2最小单片机系统最小单片机系统由STC89C52芯片、晶振电路、复位电路组成。其中晶振电路为系统工作提供所需的振荡频率。而复位电路则是防止单片机在运行时程序出错导致系统崩溃,将系统重新开始运行。最小单片机系统如图3-3所示图3-3最小单片机系统晶体振荡电路是由:晶振和C2、C3两个电容、单片机内部的反相放大器组成。Y1端接接反相放大器的输入、输出端XATL1、XATL2,构成晶体振荡电路,为系统工作提供所需的时钟频率。复位电路的复位原理:在单片机启动的瞬间,电解电容C1开始速度极快地充电,根据欧姆定律,此时电阻R2两端的电压约为0V,RST正处于低电平,系统运行正常。当按下按键K2时,此时电解电容C1开始快速放电操作,电阻两端的电压开始增大为3.5V,甚至更大,此时RST接收到高电平,单片机复位。3.2无线模块nRF24L013.2.1无线模块nRF24L01nRF24L01是一款射频收发器,工作在ISM频段,工作频率范围为2.4GHz至2.5GHz。内部包括频率合成器,功率放大器,晶体振荡器,调制器和其他功能模块,并采用增强型ShockBurst技术,其中输出功率和通信通道可通过程序进行配置。nRF24L01具有低功耗。在-6dBm下工作时,电流消耗仅为9mA。接收数据时,工作电流仅为12.3mA。各种低功耗工作模式(掉电模式和空闲模式)可实现节能设计。使用更加方便简单。nRF24L01主要特性如下:GFSK调制;硬件集成OSI链路层;具有自动应答和自动重发功能;片内自动生成报头和CRC校验码;数据传输率为lMb/s或2Mb/s;SPI速率为0Mb/s~10Mb/s;125个频道;与其他nRF24系列射频器件互相匹配的,无干扰现象;QFN20引脚4mm×4mm封装;供电电压为1.9V~3.6V。3.2.2引脚功能及描述nRF24L01的封装及引脚排列如图3-4所示。各引脚功能如表1所示。图3-4nRF24L01引脚封装图表1引脚功能表引脚名引脚功能CE使能发射或接收CSN,SCK,MOSI,MISOSPI端口,单片机可通过这些引脚端口配置nRF24L01IRQ中断标志位VDD电源输入端VSS电源地XC2,XC1晶体振荡器引脚VDD_PA为功率放大器供电,输出电压为1.8VANT1,ANT2天线接口IREF参考电流输入3.2.3工作模式通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作状态,如表2所示。表2nRF241L01工作模式配置模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式101数据在TXFIFO寄存器中发射模式101→0停留在发送模式,直至数据发送完待机模式2101TXFIFO为空待机模式11-0无数据传输掉电0待机模式1:主要用于降低电流损耗,在该状态下晶体振荡器仍然工作;待机模式2:在当FIFO寄存器为空,且CE=1时进入此模式;待机模式下,所有配置数据仍然保留。在掉电模式时电流消耗最小,同时nRF24L01不在工作,但其所有配置寄存器内的值仍然保留。3.2.4工作原理在数据传输中,nRF24L01的运行状态首先被配置为传输模式,然后接收信号地址和有效数据按照发出的控制信号的时间序列通过SPI端口写入nRF24L01缓存区域。必须在CSN低时,TX_PLD连续地写。TX_ADDR在发射时只需写入一次,然后将CE设为高并保持至少10μS,然后在延迟130μS后发送数据;如果nRF24L01开启自动响应模式,它会在发送数据后立即进入接收状态并接收响应信号。如果收到响应,通信成功,TX_DS被置高,TX_PLD从TXFIFO删除信息;如果没有收到响应信号,在已经启用自动转发模式的前提下,数据将自动转发。如果重复次数达到上限,MAX_RT设置高电平,并保留TXFIFO中的数据进行再传输;当设置了MAX_RT或TX_DS为高时,IRQ设置低,中断被启动,并通知MUC。最后,当发送数据时,如果CE设置为低位,nRF24L01进入空闲模式1状态;如果发送堆栈中有数据且CE为高位,则直接进入下一个数据传递;如果发送栈上没有数据,而CE较高,则进入空闲模式2状态。接收数据时,首先将nRF24L01设置为接收模式状态,延迟130μs后进入接收状态,等待数据到达。当接收器检测到有效地址和CRC时,它将数据信息存储在RXFIFO中。同时,中断标志位RX_DR置为高电平,IRQ置为低电平,产生中断,并通知微控制器获取数据。如果此时自动应答被开启,则接收端同时进入发送工作状态并发送响应信号。当最后接收成功时,如果CE变为低电平,则nRF24L01进入空闲模式1状态。3.2.5配置寄存器SPI端口为同步串行通信接口,它的最高传输速度为10Mb/s,传输时先传送低字节,再传送高字节。但针对单位个数字节来说,与前者截然相反,首先要发送高位再发送低位。与SPI相关的指令共有8个,使用时这些控制指令信号由nRF24L01的数据输出线输入。相应的状态和数据信息是从数据输入线输出给单片机。nRF24L0l的所有配置都是由配置寄存器进行设置,这些配置寄存器都可以通过SPI口进行访问。nRF24L01共有25个配置寄存器,常用的配置寄存器如表3所示。表3nRF241L01常用的配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据的时间与次数07STATUS状态寄存器,用来判定工作状态0A~0FRX_ADDR_P0~P5设置接收通道地址10TX_ADDR设置接收接点地址11~16RX_PW_P0~P5设置接收通道的有效数据宽度3.2.6无线模块部分电路STC89C52单片机的I/O口输出电压为5V,而nRF24L01的正常工作电源为1.9~3.6V,如果将nRF24L01的VCC直接接入单片机VCC,可能使nRF24L01无线模块出现问题,造成损坏,因此要对输入nRF24L01无线模块的电压进行降压处理,这里选用二极管IN4007进行压降,将输入电压降到无线模块工作电压后就可以将模块各个引脚接入单片机的I/O端口。无线模块部分电路如图3-5所示:图3-5无线模块部分电路3.3温湿度传感器DHT113.3.1DHT11引脚介绍电源引脚:DHT11的正常工作电压范围为3~5.5V,再将DHT11通电之后,需要等待大约1s的时间,传感器才进入稳定工作状态。串行接口:DATA主要是用于温湿度传感器DHT11与单片机之间的通信与同步,它以单线(单线双向)的方式进行信息的传递,其数据由小数和整数两部分,5个字节(40位)为一个完整的数据传输,高位先出,其格式由高到低分别是湿度的1个字节的整数数据和8位小数数据,温度的1个字节的整数数据和8位小数数据、8位校验和。当数据正确时,其校验和数据为温湿度整数、小数之和的末8位。3.3.2温湿度采集电路上述DHT11温湿度传感器采用简化的单总线式,使用时只需一个端口与单片机的I/O口相连接,就可以完成数据的交换、控制。与单片机连接电路如图3-6:图3-6温湿度采集电路3.4液晶显示LCD1602在第2章已经简单介绍了LCD1602液晶显示屏。该模块内部存储了160个不同的点阵数字图案,这些包括了:数字、字母、常用的字符等,每一个字符都有一个固定的代码。LCD1602引脚图如图3-7、电路图如图3-8:图3-7LCD1602引脚图图3-8LCD1602部分电路图表4引脚功能表引脚符号功能说明1GND接地2VDD接电源(+5V)3V0对比度调节在接上电源时对比度最小,接地电源时对比度最高(对比度太高的情况就出现图形不清楚,导致显示不清楚)。4RSRS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5RWRW为读写信号线,高电平时进行读操作,低电平时进行写操作。6EN使能端,下降沿使能。7D0双向数据总线8D1双向数据总线9D2双向数据总线10D3双向数据总线11D4双向数据总线12D5双向数据总线13D6双向数据总线14D7双向数据总线15BLA背光电源正极16BLK背光电源负极表5寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读忙碌和读取位址计数器(D0~D6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.5蜂鸣器警报电路设计蜂鸣器的原理是通过电磁线圈的电流使电磁线圈产生磁场,带动鼓膜的振动产生声音,因此需要一定的电流来驱动线圈,产生磁磁场。但由于单片机I/O口的电流太小,无法满足电路的驱动要求。因此,有必要增加一个放大电路。利用三极管连接单片机的I/O口,对蜂鸣器进行放大驱动。原理图如图3-8:图3-8蜂鸣器警报电路如上所示,将其的“+”极连接到电源,“-”极连接三极管的发射极,其基极通过R9后由单片机的P3.6控制。当P3.6输出高电平时,三极管关闭,此时没有电流流过线圈,报警电路不响。当P3.6发送出的电平为低时,处于通路状态,流过蜂鸣器的电流成回路,电磁线圈产生磁效应,蜂鸣器发出声音。4系统程序设计4.1发送部分设计发送部分主要由STC89C52单片机、nRF24L01无线模块,DHT11温湿度传感器和外部电路组成。发送机将DHT11采集的温湿度数据通过nRF24L01发送到接受机。4.1.2nRF24L01发送数据初始化nRF24L01无线模块和温湿度传感器DHT11后,单片机读取从DHT11收集到的温度和湿度数据,并通过调用nRF24L01无线模块将温度和湿度数据发送到接收端。发送部分流程图如图4-1:开始开始初始化nRF24L01循环采集温湿度数据是数值转换通过无线传输数据否图4-1发送部分流程图4.1.2DHT11温湿度采集设计将温湿度传感器采集到的温度和湿度数据传送到单片机。首先,DHT11通过发送启动信号和采集数据来判断DHT11是否正常工作。如果DHT11工作正常,将检查收集的数据。如果检查结果正确,所采集的温湿度数据将由单片机最小系统进行处理,然后送到LCD1602显示。DHT11温湿度采集流程图如下:开始开始给DHT11上电延时保持高电平检测记录信号输出低电平延时输出低电平数据输出图4-2DHT11温湿度采集流程图4.2接收部分程序设计接收部分主要由STC89C52单片机、nRF24L01无线模块、LCD1602液晶显示器、蜂鸣器报警和外部电路组成。接收机接收发射机通过nRF24L01无线模块发送温湿度数据,然后由LCD1602显示接收到的数据,并可以设置温湿度阈值,当超过设定值时,蜂鸣器警报。4.1.2nRF24L01接收数据接收数据时,nrf24l01无线模块在初始化后配置为接收模式。延迟之后,变为接收状态并等待数据的到来。延迟开始初始化nRF24L01延迟开始初始化nRF24L01配置为接收模式是否中断接收数据是否图4-3nRF24L01接收数据流程图4.1.2LCD1602显示数据LCD1602液晶显示模块在处理指令的过程相对于单片机的处理速度慢很多。因此当LCD1602正在处理单片机向其发送的指令时,如果MCU立即发送下一个新的指令,但是因为LCD1602没有完成之前的指令,它无法接收来自单片机的新指令,导致新指令丢失。因此,有必要确定LCD1602是否繁忙,以及它是否能够接收到单片机的新指令。LCD1602数据处理流程如图4-4、图4-5所示。否开始否开始LCD是否忙碌RS=1,RW=0EN=0,P0=cmd延时EN=1延时EN=0结束是图4-4写数据流程否开始否开始LCD是否忙碌RS=0,RW=0EN=0,P0=cmd延时EN=1延时EN=0结束是图4-5写指令流程在本设计接收机中,显示流程图如下图4-6:开始开始初始化LCD1602LCD是否忙碌否是否接收到数据数据转换数据显示返回是等待重新接收否是图4-6LCD1602显示数据流程图

温馨提示

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

评论

0/150

提交评论