毕业设计(论文)-基于单片机的无线温湿度检测系统的设计.doc_第1页
毕业设计(论文)-基于单片机的无线温湿度检测系统的设计.doc_第2页
毕业设计(论文)-基于单片机的无线温湿度检测系统的设计.doc_第3页
毕业设计(论文)-基于单片机的无线温湿度检测系统的设计.doc_第4页
毕业设计(论文)-基于单片机的无线温湿度检测系统的设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

湖南理工学院毕业设计(论文)学号14112101*毕业设计(论文)题目: 基于单片机的无线温湿度检测系统的设计作 者 * * * 届 别 2015届 院 别 信息与通信工程学院 专 业 自动化 指导教师 职 称 完成时间 2015年5月18日 IV摘 要温湿度测量在工业生产中有着广泛的应用,是人们日常生活中常见的物理量,工业生产、机械制造、制药、烟草、档案的保管、粮食的储存等领域对温度和温度有非常严格的要求。传统的温湿度传感器需通过较复杂的电路才能将温度信号转化为数字信号,且远距离传输会引起很大误差。监控室与现场之间必须敷设大量的电缆,非常麻烦。所以为了适应工农业生产需要、为了满足大型场所的测量、为了能进行方便快捷的维护操作,文中设计的系统采用无线温湿度检测的方案,不必敷设电缆,可以节省费用和时间。该采集系统分为采集模块和数据处理模块,以AT89C52芯片为主控芯片,利用数字式温湿度传感器DHT11进行温度和湿度的数据采集,采用nRF24L01无线传输模块进行无线通信,显示屏LCD1602对温湿度进行显示。使用Keil C51编程软件对系统进行软件设计,最后完成实物制作并对实物进行测试。测试结果显示,系统能够将采集到的数据经无线传输后在LCD1602上实时显示,可实现温湿度采集、无线传输和显示功能,并能在温度或者湿度在超过报警上限时发出警报,因此具有一定的应用价值和应用前景。关键词:温湿度测量;AT89C52;温湿度传感器;无线传输AbstractTemperature and temperature requires strict very much in industrial production, machinery manufacturing, pharmaceutical, tobacco, file storage, grain storage and other fields. The traditional temperature and humidity sensors required by the complex circuit to make temperature signal into digital signal, it will cause big error for the remote transmission. Its very troublesome to lay a number of cables between the control room and the scene. In order to adapt to the industrial and agricultural production, the needs of large places measurement, maintain and operation convenient. This system is based on wireless transmission so it can save cost and time and without cable. The acquisition system is divided into the acquisition module and the data processing module, based on AT89C52, Temperature and humidity data acquisition of the digital temperature and humidity sensor DHT11, Wireless communication with nRF24L01 wireless transmission module, Temperature and humidity display LCD1602. Using Keil C51 to design the software of the system, then complete the physical production and test it. Test results shows that the system can display the collected data after the wireless transmission and can be displayed on LCD1602 in real time., Temperature and humidity, wireless transmission and display functions can be achieved, And it can issue an alert when temperature or humidity exceeds the limit of the alarm, So, it has certain application value and application prospect.Key Words: Temperature and humidity measurement; AT89C52; humidity sensor; wireless transmission目 录摘 要IAbstractII第一章 绪 论11.1 温湿度检测技术的简介11.2 温湿度检测技术的发展历程与意义11.2.1 温湿度检测技术的发展历程11.2.2 单片机的发展21.2.3 温湿度检测技术研究的意义31.3 论文的组织结构3第二章 温湿度检测系统的基本原理和设计方案的选择42.1 系统的基本原理概述42.1.1 系统功能42.1.2 系统总体功能设计42.2 系统设计方案选择52.2.1 主控芯片选择52.2.2 温湿度传感器的选择52.2.3 无线模块选择52.2.4 显示模块选择62.3 设计要求62.4 本章小结6第三章 系统硬件设计73.1 总体结构设计73.2 数据采集模块设计73.2.1 单片机控制模块73.2.2 温湿度采集模块103.2.3 无线传输模块123.3 数据处理模块153.3.1 单片机控制模块153.3.2 数据处理模块中的无线传输模块163.3.3 LCD1602液晶显示模块163.6 本章小结18第四章 系统软件设计194.1 编程环境194.1.1 编程环境介绍194.1.2 编程语言194.2 系统软件设计194.2.1 数据采集模块软件设计194.2.2 数据处理模块软件总体设计214.3 无线收发模块软件设计224.3.1 无线发射模块软件设计224.3.2 无线接收模块软件设计224.4 本章小结23第五章 系统性能测试245.1 软件调试245.1.1 件调试工具245.1.2 软件调试原理及结果255.2 硬件调试265.2.1 所设计出来的硬件265.2.2 硬件调试方案275.2.3 测试结果275.3 本章小结29第六章 总 结30参考文献31致 谢32附录一 检测发送模块原理图33附录二 接收显示模块原理图34湖南理工学院毕业设计(论文)第一章 绪 论1.1 温湿度检测技术的简介无线温湿度检测器是一种用于仓库和蔬菜大棚等具有温湿度检测、无线传输、温湿度显示和超限报警功能的仪器。系统由发送端和接收端两部分组成。发送端将温度传感器检测到的温度值经单片机进行数据处理后,通过无线收发模块无线发送,接收端将接收到的数据信息显示在液晶屏上,并附加温度限设置和超限报警功能。无线检测系统需实现参数信息实时且快速有效的检测,其服务模式是向人们提供一个更高效,更快捷、更全面服务。由于当前的检测技术比较滞后,检测过程中会遇到很多困难和难题,本论文便着手研究更好的检测方案,利用现有的无线检测技术,在传统的检测方法里寻找突破,努力让检测水平达到一个新的高度,提供科学可靠的检测数据,使用无线检测网络,可以大大降低布线和管理的难度,也可以大幅减少物力、人力、资金的投入,从而降低成本。无线检测系统具有不借助外部网络、快速安装、抗毁性强等特点,可以使人们在任何时间、地点和任何环境条件下获取大量的、可靠的数据信息。1.2 温湿度检测技术的发展历程与意义1.2.1 温湿度检测技术的发展历程温度测量是现代检测技术非常重要的组成部分,在保证产品的质量、节约能源和生产安全等方面起着尤其关键的作用。在温度测量方面1,各个国家都有着自己的研究成果,前苏联研究出了分辨能力达到了0.0001的压电石英频率温度计,具有温度与频率线性特性温度范围而在-40230之间,理论上可达0.00001。美国的25欧标准铂电阻温度计,分辨率甚至有0.00002,我国生产的石英温度检测器误差在0.05以内,分辨率高达0.0001。我国航天工业总公司研制的5901(STP-1000)型粘贴式测温片,静态测温精度为0.5%,快速响应时间小于0.013s。人类在18世纪就发明了干湿球湿度计,这种湿度计的准确度取决于干球、湿球两支温度计本身的精度,这种湿度计必须处于通风状态,在纱布水套、水质、风速都满足一定要求的时候,才能达到规定准确度。这种湿度计的准确度一般只有57RH,只能算是勉强可以用来测量湿度,不适用于要求比较高的场所。随着科技的发展,近几十年来特别是近20年电子式湿度传感器发展起迅速,湿度传感器的准确度越来越高,电子式湿度传感器2准确度可以达23RH。湿度传感器研究方面国外比国内起步的要早,目前处于国际领先地位的是德国和美国,测量精度可达2%RH。近几年,电阻式湿度传感器发展非常快,电阻式陶瓷湿度传感器在特性方面做了非常大的工作投入,并且在高分子电阻式湿度传感器上做了进一步的研究,这种传感器有出色的稳定性、精度和响应特性,应当引起足够的重视。根据工业自动化的控制要求,为了满足更高精度领域的需要,国内外正在进行新型湿度传感器的研制与开发。大规模集成电路技术以及光通信技术的迅速发展,信息的传输和处理技术有着划时代的进展,发展相对比较滞后的传感器技术业得到了世界的普遍重视。所以,今后一个时期传感器技术会成为研究的新方向,有可能会形成较大产业。1.2.2 单片机的发展单片机的发展3历史如果以8位单片机的推出作为起点的话大致可分为以下几个阶段:(1)第一阶段(1976-1978):单片机的探索阶段。以Intel公司的MCS-48为代表。它的推出是在工控领域的探索,参与这一探索的公司还有Motorola 、Zilog等,他们都取得了比较满意的效果。这就是SCM诞生的年代,“单机片”一词也从此为人们所熟知。(2)第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS-48的基础上,推出了MCS-51系列单片机,这一系列的单片机功能更加完善、性能更加稳定。它为通用总线型单片机体系奠定了以下四个方面的结构。具有非常完善的外部总线结构。MCS-51系列设置了8位的总线结构,包括8位数据总线结构和16位地址总线结构以及控制总线和可以拓展的具有更多通信功能的串行通信的接口。CPU外围的一些功能单元使用集中管理的模式。位地址空间和位操作方式具有工控特性。指令系逐渐统趋于完善,并且还额外增加了许多控制功能的指令。(3)第三阶段(1982-1990):单片机向微控制器发展阶段,也就是8位单片机的巩固发展及16位单片机的推出的阶段。MCS-51系列的应用越来越广泛,许多电气厂商都选择使用80C51为MCU,逐渐单片机当中用到了许多测控系统中使用的接口技术、电路技术、多通道A/D转换模块、可靠性技术等,所以智能控制的特征得到了强化,也能拓展出更多外围电路功能。1.2.3 温湿度检测技术研究的意义温度和湿度是工业、农业生产中常见的和最基本的参数。伴随着工业农业中应用的科技飞速发展,对产品在生产过程中温度的测量需求也越来越多,也显得越来越重要。尤其是对温度要求比较严格,但是布线又不方便的情况下,这时就采用无线温度测量。我国进入21世纪后,特别是在加入世贸组织后4,国内的温湿度检测系统的产品面临着巨大的挑战。尤其是传统产业,急需运用自动控制技术、电子技术对产品进行改造和提升。例如在商业中纺织行业中,纺织品的质量很大程度上受温湿度的影响,但目前一些纺织企业对车间温湿度的测控手段仍然十分落后,甚至有些还在使用测温贴片,采用人工调节风机、阀门的方法,其控制效果可想而知。在医学制药行业中,由于微生物对温度的要求很高,就需要高精度的温度监测,如果采用无线温度测量的话可以完全保证测温的无菌化。在农业中,随着农业向产业化发展,必需摆脱那些落后的传统的养殖、耕作方式,应该采用现代更加科学的技术来迎接进口农产品所带来的挑战,同时打进国外市场。近年来,全国各地出现了越来越多的新型温室大棚,可以种植反季节花卉、蔬菜甚至水果。随着调温冷库的大量兴建,温湿度测控技术的研究有了更加广阔的市场。1.3 论文的组织结构论文分为六章,各章的内容安排如下:第1章为绪论,主要介绍了温湿度检测技术的发展历程和意义;第2章主要介绍了温湿度检测技术的基本原理和设计方案并根据设计要求选取系统的主要功能模块器件。第3章主要介绍了系统的硬件设计,包括无线检测系统的发射端和接收端的电路设计,根据系统设计要求完成传感器数据采集模块、无线数据通信模块、报警电路、键盘电路、时钟振荡电路和复位电路设计。第4章主要介绍了系统软件方面的介绍,包括软件的编程语言和编程环境。第5章主要介绍了系统性能方面的测试,从软件测试和硬件实物测试两方面具体的进行了验证,通过对无线检测系统的实物进行调试,对系统的数据可靠性、抗干扰能力、通信距离等方面进行测试。证明了系统的理论和实际应用的可行性。第6章对本论文进行工作总结。第二章 温湿度检测系统的基本原理和设计方案的选择2.1 系统的基本原理概述2.1.1 系统功能根据设计要求,系统的主要内容(功能)如下:(1) 实现温湿度自动检测,能满足常用工农业环境中的温湿度检测需求;(2) 实现无线传输功能,(3) 用LCD1602显示温湿度,温度单位;(4) 高温、高湿度自动报警,温湿度报警上限可调;2.1.2 系统总体功能设计温湿度的检测的方法多种多样,可以运用的技术和可供选择的器件也是种类繁多。所以,系统的总体设计方案可以在满足系统整体性能指标的前提下,结合系统使用的环境,尽量选择简单实用、容易实现的结构,器件的选用尽量满足参数合适、性能稳定、功耗较低、成本低廉以及较好的互换性能等性能指标。系统尽量采用近几年来比较成熟的温湿度传感技术、无线通信技术、数据处理技术和功能化模块来构造基本的系统功能。本系统采用AT89S52单片机作为主控制器,无线温湿度检测系统是一种基于射频技术的无线湿温度检测装置。此系统由传感器、接收机以及显示芯片组成。传感器由数字温湿度传感器芯片DHT11,单片机AT89C52,低功耗射频传输单元nRF24L01等组成。如图2.1所示,温湿度传感器采集数据,将数据处理后经nRF24L01发送出去,接收模块经nRF24L01接收来自传感器的数据,经处理、保存后在LCD1602上显示,若检测出温度超过所设定的上限值,则发出警报,监测人员也可根据实际需要,设定符合特定场所需要的温湿度上限值。单片机对nRF24L01的对外接口进行SPI读写操作,以此来控制nRF24l01的工作模式,将其设置成接收或者发送数据的模式,从而完成无线数据传输。 温湿度 M nRF24L01 设置 M 液晶显示 传感器 C 无线发射 无线接收 C 电源 U 电源 U 报警 采集模块 接收模块图2.1 系统总体架构图2.2 系统设计方案选择根据硬件连接方式以及各项功能的实现方法,将整个系统划分为信号采集与放大模块、模数转换模块、单片机模块、无线发射模块、液晶显示模块、电源模块。2.2.1 主控芯片选择方案一:采用传统的AT89C525单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。方案二:采用宏晶科技有限公司的STC12C5A60S2增强型51单片机作为主控芯片。此芯片内置ADC和SPI总线接口,且内部时钟不分频,可达到1MPS。价格适中。从性能和价格上综合考虑我们选择方案一,即用AT89C52作为本系统的主控芯片。2.2.2 温湿度传感器的选择方案一:由于传感器DS18B20价格便宜,硬件简单,传感器直接输出数字信号,便于控制,并且DS18B20可以采用单总线传输,一根总线能挂载多个传感器,易于扩展。但是DS18B20的温度精度为0.5C,对于温度要求很严格的应用领域不大适合,而且需要自行拓展需要的湿度测量模块,过程相对比较复杂,所以DS18B20无法满足要求。方案二:采用了高精度温度传感器DHT11,DHT1167不但实现了温湿度的测量,而且灵敏度高、反应时间短,因此可作为此系统电路的信号检测器。与目前大多数传感器相比,它具有控精度高、体积小、无污染、使用方便等优点。从上述两个方案的对比看出DS18B20无法满足系统指标,我们采用DHT11作为温温湿度度传感器。2.2.3 无线模块选择方案一:采用GSM模块进行通信,GSM模块功能的实现,需要借助手机卡或者移动卫星,虽然能够进行远距离传输,但是这种方案的成本比较大,而且需要内置SIM卡,通信过程需要收取费,后期的成本也比较高。方案二:采用TI公司CC2430无线通信模块,此模块内部集成了高性能的8051内核,并且采用Zigbee总线模式,它的传输速率可以达到250kbps。但是此模块价格高昂,不适用于此系统的设计,且Zigbee协议相对比较复杂。方案三:采用NORDIC公司生产的工作在2.4GHz2.5GHz的ISM 频段的无线射频收发器芯片NRF24L0189模块进行通信,NRF24L01是一款高性能、低功耗的无线通信模块。如果加PA能传输上千米的距离,NRF24L01模块采用SPI总线通信的模式,所以电路简单、操作方便,而且价格也比较便宜。综合各方面因素考虑,最终选择方案三,即以NRF24L01模块作为本系统的无线通信模块。2.2.4 显示模块选择方案一:选择LCD1286410做显示模块。这款液晶显示屏主控为ST7920且带字库,是一款比较通用的显示屏,能够显示出大多数常用的汉字以及ASCII码,且能够显示图片以及描点画线,可设计成比较理想的结果。方案二:采用LCD1602字符液晶做显示模块,LCD1602是一款通用的字符液晶显示模块,它能够显示数字和字符等信息,且容易控制,价格还比较便宜,性价比很高。综合以上方案,我们选择了经济实惠的字符液晶LCD1602作为接收端的显示模块。2.3 设计要求采用AT89C52作为系统的MCU,采用字符液晶LCD1602作为显示模块,采用DHT11作为系统的温湿度传感器,采用nRF24L01作为系统的无线传输模块,以无线传输方式传输数据,要求系统有温度显示部分和湿度显示部分,要求完成硬件电路的设计、制作和调试。2.4 本章小结本章主要是根据系统设计要求进行各个模块硬件的选择。首先列出了系统所要实现的功能,介绍了系统总体功能的设计。然后根据功能要求对温湿度传感器、主控芯片、无线模块和显示模块的选择进行了阐述,分别列举了多种方案并从中选择最适合此次系统设计需求的方案。第三章 系统硬件设计3.1 总体结构设计整个无线温湿度检测系统分成温湿度采集及发送和温湿度数据接收及显示两个大的模块,两者之间温湿度数据的传输采用无线通信方式。数据采集及发送模块负责温湿度数据的采集和发送,数据接收及显示负责温湿度数据的接收处理并显示。系统整体的结构流程图如图3.1和图3.2所示。温湿度传感器图3.1 温湿度采集端温湿度显示图3.2 温湿度接收端3.2 数据采集模块设计3.2.1 单片机控制模块本次选用传统的AT89C52单片机作为主控芯片,AT89C5211是性能比较高的8位CMOS单片机。内含8Kb可以反复擦写的只读程序存储器,还有256 B随机存取的数据存储器,采用ATMEL公司的高密度、非易失性存储技术生产,内置通用8位中央处理器和FLASH存储单元,擦写周期多达1000次,内部RAM有256字节,可编程I/0口32个,16位定时计数器3个,中断源8个,还有可编程串行UART通道。所以足够满足大多数控制系统对资源的需要。AT89C52管脚说明12VCC:电源GND:接地AT89C52单片机的外部引脚图如图3.3所示。图3.3 AT89C52外部引脚图P0口:P0口是一个8位漏级开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0口端口写“1”时,引脚作高阻抗输入。当AT89C52访问外部程序和数据存储器的时候时,P0端口也会被作为低8位地址/数据复用。在这种模式下的时候,P0具有内部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的双向8位I/O口,P1的输出缓冲级可驱动4个TTL逻辑电平。由于内部上拉电阻的原因,对P1口写“1”时,将输出电流。 此外,与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入和输出,具体如表3.1所示。表3.1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX定时/计数2捕获/重装载触发和方向控制 P2口:P2口是一个具有内部上拉电阻的双向8位I/O口,P2输出缓冲级可驱动吸收或输出电流4个TTL逻辑电平。作为输入端口使用时,只需对P2口写“1”,内部上拉电阻会把端口拉高。由于内部电阻的原因,作为输入端口使用时,外部被拉低的引脚将会有输出电流。 P3口:P3口是一个内部具有上拉电阻的双向8位I/O口,P3输出缓冲级可以驱动4个TTL逻辑电平。对P3口写“1”时,内部的上拉电阻会把端口拉高,此时可作为输入口使用。作为输入端口使用时,由于内部电阻的原因,被外部拉低的引脚将会有输出电流。P3口除了作为一般的I/O口线以外,更重要的是它有第二功能,如表3.2所示。表3.2 P3口引脚第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) RST:复位输入。晶振工作时,RST脚持续2个机器周期以高电平将使用单片机复位。 :地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也使用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 :外部程序储存器的选通信号。当AT89C52从外部程序存储器执行外部存储器的代码时,在每个机器周期会被激活两次,而在访问外部数据储存器时,将不被激活。:访问外部程序存储器的控制信号。为了可以从0000HFFFFH的外部存储器读取指令,端必须保持低电平。为了执行内部程序指令,端应该接VCC。 XTA L1:振荡器反相放大器及内部时钟发生器的输入端。XTA L2:振荡器反相放大器的输出端。AT89C52单片机在数据采集模块中的引脚原理图如图3.4所示。图3.4 数据采集模块单片机控制芯片原理图3.2.2 温湿度采集模块DHT11数字温湿度传感器是一款内部含有已经校准的数字信号输出的温湿度传感器,包括一个电阻式湿度检测元件和一个NTC温度检测元件13。DHT11运用专用的数字模块采集技术和温湿度传感技术,确保此传感器具有非常高的可靠性与长期的稳定性。此产品具有响应快速、品质优越、抗干扰能力超强和性价比高等优点。每个DHT11传感器在生产时都在严格要求的环境中进行了校准且保留了校准系数,在对检测信号进行处理时,传感器内部会自动调用内部校准系数。DHT11传感器功耗极低、体积超小,采用的是单线制串行接口,这使系统的集成变得非常的方便快捷。图3.5 DHT11引脚接线图DHT11传感器产品为在出厂时进行了4 针单排引脚的封装。在进行系统设计时连接非常方便,可根据用户需求提供特殊封装形式。图3.5位DHT11引脚接线图,其中的空引脚未拓展使用。引脚说明如表3.3所示。表3.3 DHT11引脚说明引脚号引脚名称类型引脚说明1VCC电源正电源输入,3V-5.5V DC2DOUT输出单总线,数据输入/输出引脚3NC空空脚,扩展未用4GND地电源地DHT11的供电电压为3V5.5V。传感器接通电源后,需要在一秒内不发送任何指令,以越过不稳定的状态。引脚(VDD,GND)之间可以增加一个100nF 的电容,此电容可以起到去耦滤波的作用。DATA用于MCU与DHT11之间的通讯,它们之间的通信格式采用单总线数据格式,一次通讯时间为4ms左右,DHT11在发送一次开始信号后会自动进入高速模式,等开始信号结束后,发送响应信号,送出40bit的数据,同时触发一次信号采集,此时用户便可以选择读取所采集的数据。如果DHT11接收到了开始信号并触发了一次温湿度采集,但在没有接收到主机发送的开始信号的情况下,DHT11不会主动进行温湿度采集。当采集完数据后,DHT11会自动转换到低功耗模式。表3.4所示为DHT11数字温湿度传感器在VDD=5V,T = 25时的电气特性如,采样周期间隔不得低于1秒钟。表3.4 电气特性参数条件MinTYPMax单位供电DC355.5V供电电路测量0.52.5mA平均0.21mA待机100150uA采样周期秒1次图3.6所示为所制作传感器模块成品,其中蓝色部分为DHT11数字温湿度传感器。图3.6 传感器模块成品图3.2.3 无线传输模块无线发射模块用的是nRF24L0114,这是一款由NORDIC生产的工作在2.4GHz-2.5GHz频段的单片无线接收方芯片。无线接收发器包括:频率发生器、功率放大器、晶体振荡器、调制解调器、增强型“SchockBurst”模式控制器。芯片的工作频率选择和协议可以通过SPI口进行设置,兼容大多数的单片机芯片,完成无线数据传输工作。应用的领域也非常广泛,可以用于无线鼠标、键盘控制,无线门禁、无线智能设备等等。图3.7 管脚分布图图3.7为nRF24L01管脚分布图性能参数: 小体积,QFN20 4x4mm封装。 电压工作范围,1.9V3.6V,输入引脚可承受高达5V电压输入。 工作温度范围,-40+80。 工作频率范围,2.400GHz2.525GHz。 发射功率可选择为0dBm、-6dBm、-12dBm和-18dBm。 数据传输速率支持1Mbps、2Mbps1。 低功耗接收时工作电流12.3mA,0dBm功率发射时11.3mA,掉电模式时仅为900nA。 126个通讯通道,6个数据通道,满足多点通讯和调频需要。 增强型“ShockBurst”工作模式,硬件的CRC校验和点对多点的地址控制 每次数据包可传输132Byte的数据。 4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单。 可通过软件设置传输速率、通讯地址、工作频率和数据包长度。 MCU可通过IRQ引脚快判断是否完成数据接收和数据发送。图3.8 nRF24L01原理图根据此芯片的数据手15,设计如图3.8所示外围电路,即可通过配置nRF24L01的寄存器将其配置为发射、接收、掉电及空闲四种工作模式,各个模式下寄存器配置数据如表3.5所示。表3.5 nRF24L01工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式101数据在TXFIFO寄存器中发射模式1010停留在发送模式,直至数据发送完待机模式2101TX_FIFO为空待机模式11-0无数据传输掉电0-待机模式1主要用于降低系统平均电流,晶体振荡器在这种模式下正常工作;在当FIFO寄存器为空且CE=1时进入待机模式2;所有配置字在待机模式下仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。数据采集模块中的无线模块nRF24L01引脚接线图如图3.9所示。图3.9 数据采集端nRF24L013.3 数据处理模块3.3.1 单片机控制模块数据处理模块中的单片机控制模块设置和数据采集模块中的单片机控制模块采用相同单片机,其不同之处就是单片机AT89C2引脚所接的外围器件不同,从而实现不同功能。数据处理模块所需实现的功能为温湿度数据的无线接收、处理及显示。单片机AT89C52在数据处理模块中的引脚原理图如图3.10所示图3.10 数据处理模块单片机控制芯片原理图3.3.2 数据处理模块中的无线传输模块数据处理模块中的无线传输模块所需实现的功能是对数据采集模块发送出来的温湿度数据进行接收,同样采用nRF24L01,与数据采集模块中的nRF24L01不同的是,数据处理模块中的nRF24L01已设置成接收模式,数据处理模块中的无线模块nRF24L01引脚接线图如图3.11所示图3.11 数据处理端nRF24L013.3.3 LCD1602液晶显示模块LCD1602字符型液晶显示模块16是一种专门用于显示字母、数字、符号等点阵式LCD,它是16*2的显示的。LCD1602管脚采用标准的16脚接口,其中:1脚:VSS为电源地。2脚:VDD接5V电源正极。3脚:V0端可以调整液晶显示器对比度,此端口接正电源时,对比度最弱,此端口接地时,对比度最高,如果对比度过高,有可能会导致“鬼影”现象的出现,进行系统设计时可以加一个10K的电位器,用来调整液晶显示器的对比度。4脚:RS为寄存器的选择端口,出现高电平1时,选择数据寄存器,若出现低电平0时,则选择指令寄存器。5脚:RW为读写信号端口。6脚:EN端为使能(enable)端。714脚:D0D7为8位双向数据传输线。1516脚:空引脚或者背灯电源。15脚正极,16脚负极。 1602液晶模块共有11条控制指令在其控制器内部,如表3.6所示。表3.6 控制命令表LCD1602工作状态有读写指令和读数据状态,控制信号设置如表3.7。表3.7 LCD1602工作状态命令读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据LCD1602字符型液晶接线原理图如图3.12所示。图3.12 LCD1602液晶显示器接线图LCD1602字符型液晶显示器实物图如图3.13所示。图3.13 LCD1602液晶显示器实物图3.6 本章小结本章首先介绍了整个系统运行的基本原理,分成两大模块,包括数据采集模块和数据处理模块。接着分别介绍了两大模块所包含的小模块,数据采集模块包含有单片机模块、无线传输模块、温湿度检测模块。数据处理模块包含有单片机模块、无线传输模块、液晶显示模块。其中具体介绍了各模块的功能和特点,以及内部电路结构。第四章 系统软件设计4.1 编程环境4.1.1 编程环境介绍编程软件使用Keil C51,是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统17,提供了包括C编译器、宏编译、库管理、连接器和一个功能强大的仿真调试器等内在的完整开发方案,通过一个集成开发软件(uVis10n)将这些部分组合在一起。如果使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。历经多年,软件版本已经从KeiluVis10n2版本更新到KeiluVis10n5版本,而我此次用的为KeiluVis10n4版本。4.1.2 编程语言本次使用的编程语言为C语言18,它是一种计算机程序设计语言,它既有高级语言的特点,也具有汇编语言的特点,与汇编语言相比,C语言在功能上、结构性、可读性、可维护性有明显的优势,因此易于学习和应用,深受广大软件爱好者的喜爱。C语言功能丰富,表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。兼备高级语言与低级语言的优点,属于一种中间语言。它是一种结构化程序设计语言,非常适合结构化程序设计。有较丰富的数据类型、运算符以及函数供以选用。直接与内存打交道,使修改、编辑其他程序与文档变得轻松、简单。C语言是国际上广泛流行的计算机高级语言,深受广大软件开发爱好者的喜爱,它是非常适合用来描述系统的语言,即可以用来编写系统软件,也可以编写应用软件。早期的操作系统软件主要是用汇编语言编写的,但是汇编语言依赖于计算机硬件程序的可移植性和可读性,而C语言兼具一般语言优点还能克服其他语言的缺点。它的应用范围非常广泛,具有很强的数据处理能力,可以用于各类编程软件使用,例如单片机以及嵌入式系统的开发。4.2 系统软件设计4.2.1 数据采集模块软件设计首先初始化DHT11模块将采集到的温湿度数据传送至单片机,主机通过配置寄存器使数据采集模块中的nRF24L01处于发送状态,从而实现温湿度数据的采集与发送。图4.1为采集模块的主程序流程图。初始化测温湿度 判断DHT11 Y是否出错 N单片机处理 无线发射延时100ms图4.1 采集模块主程序在进行采集模块软件设计时,要将nRF24L01设置为发送状态,TRX_CE=0,TX_EN=1,如图4.2所示为温湿度采集流程图。开始DHT11初始化延时0.2S读取温湿度 读取成功否? N DHT11重启AT89C52配置nRF24L01发送延时0.8S图4.2 温湿度采集流程图4.2.2 数据处理模块软件总体设计接收部分的总体思路是先初始化LCD1602和单片机I/O口,再将nRF24L01配置成接收模式,然后就是一个无限循环,单片机不断地读nRF24L01的工作状态寄存器来监测接收模块的工作状态。当发现nRF24L01接收到了数据后单片机存储数据并发送应答信号,同时控制LCD1602显示接收到的温湿度数据。图4.3接收端软件设计流程图。图4.3 接收端软件总体设计4.3 无线收发模块软件设计4.3.1 无线发射模块软件设计在配置发送模式时必须先进入待机或掉电模式才能对nRF24L01的寄存器进行配置。寄存器的配置主要包括:写数据到FIFO,使能接收通道0自动应答,使能接收通道0,设置自动重发延时等待时间以及最大自动重发次数,选择射频通道,设置数据传输速率,设置发射功率,使能CRC校验等等。整个发射过程的流程图如图4.4:图4.4 无线发射模块工作流程图4.3.2 无线接收模块软件设计在配置发送模式时必须先进入待机或掉电模式才能对nRF24L01的寄存器进行配置。寄存器的配置主要包括:写数据到FIFO,使能接收通道0自动应答,使能接收通道0,设置自动重发延时等待时间以及最大自动重发次数,选择射频通道,设置数据传输速率,设置发射功率,使能CRC校验等等。整个发射过程的程图如下图4.5: 图4.5 无线接收模块工作流程图4.4 本章小结本章主要介绍了系统设计的软件编程环境,然后分从数据采集模块软件设计、数据处理模块软件设计和无线收发模块软件设计这三个大的方面讲解了系统总程序及子程序的设计思想,并分别介绍了各子模块的程序流程及最后总程序的流程,系统软件采用模块化编程思路,增加整个程序的可读性,也利于整体软件调试。第五章 系统性能测试5.1 软件调试5.1.1 件调试工具用KeiluVis10n4打开已经编辑好的程序,将参数CPU设为STC11L08XE,晶振设为22.1184MHZ,波特率为9600bit/s,设置编译后输出hex文件,接着编译全部文件,得到hex文件。如图5.1所示,串口调试助手是一款交流工具19,能在PC机与单片机之间形成交流通道,进行数据传输。能设置数据位、校验位和停止位,可以自动识别串口,并且能以十六进制或者ASCII码发送或接受数据。本次实验中需要用串口调试助手实时对程序进行调试。图5.1 串口调试助手主面板可以将无线温湿度检测系统的数据采集模块和数据处理模块分别通过USB接口连接到电脑上,用专业的STC公司芯片烧入工具STC-ISP将程序编译得到后的hex文件烧入到STC11L08XE芯片中,然后打开串口调试助手设置好参数,即可得到软件调试结果。通过查看两个模块中的寄存器数据来判断两个模块的工作状态。软件测试的优点就是可以极大的节省时间和硬件成本,能及时的发现问题,可以很快的排除问题和修改程序,做到系统在软件方面的完美调试。5.1.2 软件调试原理及结果第一步软件调试主要是调试无线发射接收模块,使无线发射机收模块能正常通信。由于官方提供的程序大都是成品的程序,并且牵涉到了发送和接收两个模块,在此次调试中采用分开调试,并且先取消自动应答模式,简单的进行发送-中断,接收-中断。是否发送和接收成功可以通过查看无线发射机收模块的状态寄存器,我们要用到的两个重要的寄存器STATUS和FIFO_STATUS,寄存器的意义如下图5.2和图5.3:图5.2 STAUS寄存器图5.3 FIFO_STATUS寄存器首先进行发射模块的调试,发送部分的工作流程是配置寄存器使芯片工作于发送模式,后拉高CE端至少10us,再读状态寄存器STATUS,判断是否是发送完成标志位置位,再清标志,清数据缓冲。如果数据发送成功,则STATUS的值为0x2e,FIFO_STAUS寄存器的值应该是0x11。接着进行接收模块调试,接收部分的工作流程是先配置寄存器使芯片工作于接收模式,后拉高CE端至少130us,再读状态寄存器STATUS,接着判断是否是接收完成标志位置位,然后清标志,读取数据缓冲区的数据,最后清数据缓冲。对照寄存器描述,接收正确时STATUS的值应该是0x40,对于FIFO_STATUS的情况就多了些,因为数据宽度的不同也会造成寄存器的值不一样,NRF24L01最大支持32字节宽度,就是说一次通讯最多可以传输32个字节的数据,在这种情况下,接收成功读数据之前寄存器值应该为0x12,读数据之后就会变成0x11;如果数据宽度定义的小于32字节,那么接收成功读数据之前寄存器值应该为0x10,读数据之后就会变成0x11。最后整合发送接收程序,使能自动应答进行整机调试。5.2 硬件调试5.2.1 所设计出来的硬件按照系统要求设计出PCB后,完成元器件的安装与焊接,系统共有数据采集模块和数据处理模块两大模块。如图5.4所示就是无线温湿度测量系统的数据采集模块成品,在接通电源后,按下开关,数据采集模块便会立即完成初始化,温湿度传感器开始采集温湿度数据,无线模块开始实时地发送温度数值。图5.4数据采集模块成品如图5.5所示就是无线温湿度测量检测系统的数据处理模块成品,当接通电源后,按下开关按钮,数据处理模块便会自动完成初始化,无线模块开始接受数据,若接收到从发送端发送出来的数据,LCD1602液晶显示屏上便会实时显示当前温湿度数据。图5.5 数据处理模块成品5.2.2 硬件调试方案第一步硬件调试准备工作。首先按照PCB设计,完成元器件的安装与焊接;然后进行上电前测试。主要是检查电源是否短路,焊接是否短路,有没有虚焊等;接着进行上电测试。主要看芯片是否存在发烫明显的现象,如果发烫严重立即断开电源。然后用万用表测量电源是否正常。第二步硬件调试。对于该系统的硬件调试主要是针对信号采集、无线传输以及系统稳定性,通过设备的对比、不同温湿度环境的对比进行调试。5.2.3 测试结果如图5.6所示,在开通电源的情况下对发射端的数据进行实时的接受,经单片机处理后在LCD1602上显示。若温度或者湿度其中之一超过了报警温湿度的上限,蜂鸣器便会

温馨提示

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

评论

0/150

提交评论