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

下载本文档

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

文档简介

摘 要随着中国经济的不断发展,人民生活水平的提高,人们对于环境信息的了解越来重视,比如根据室外和室内的温度或者湿度的情况,人们可以调整好一天的作业安排,也可以根据环境的信息参数了解最近我们所居住的周围的空气的质量的好坏,提醒人们做好环境保护工作。基于这种现状,设计出了温湿度检测仪,它是一个以温湿度传感器采集数字信号,通过单片机为其提供时序时钟,实现实时采集环境湿度和温度的仪器。本设计是以stc12c5A602单片机为主控,DHT11为温湿度传感器,采用LCD12864显示单元,并用NRF2401为无线发送和接收装置,外加一个遥控器和按键为人机交互,综合这几个模块实现温湿度采集,显示,无线发送,及报警于一体的综合系统,是方便人们居家及出行的一个好的帮手,更有甚是人们对于陌生环境的探测的有效的利器。 本系统设计详细的介绍了温湿度数据的采集,无线数据的发送与接收,显示遥控等控制的原理,详细的介绍了各个模块的硬件和软件的设计,包括电路设计,和程序的设计以及各个硬件子系统的软件的实现。该设备可以用于家庭的室内的数据采集,也可以用于室外的温湿度的检测,其温度范围为050度,湿度范围为20%90%RH关键词:温湿度测量;无线传输;单片机;液晶显示The design of wireless tempture and humidity detection bases on microcomputerAbstractWith the continuous development of Chinas economy, and the improvement of peoples living standard, people pay more attention to understanding of environmental information, such as according to the outdoor and indoor temperature or humidity condition, people can adjust good day job arrangement, can also according to the environment information parameters of recently we live in the surrounding air quality, remind people to do a good job of environmental protection. Temperature. Humidity meter is a kind of to a digital signal, temperature and humidity sensors to collect by single chip microcomputer with timing clock, real-time acquisition environment temperature and the temperature of an instrument. This design is based on stc12c5A602 single-chip microcomputer as the master, for temperature and humidity sensor DHT11, adopting LCD12864 for display, and using NRF2401 wireless sending and receiving devices, plus some buttons for human-computer interaction, of which several modules to achieve temperature and humidity collecting, display, wireless transmission, the alarm in an integrated system, is to facilitate people to travel and a good helper that occupy the home, more what is effective for detection of a strange environment for people.This design detailed introduces the temperature and humidity data acquisition system, wireless data sending and receiving, according to the principle of control, such as various modules are introduced in detail the design of hardware and software, including the circuit design, and the procedure of design and the realization of the various hardware subsystems of the software.The device can be used for indoor data acquisition of the family and the detection of outdoor temperature and humidity, whose temperature ranges from 0 to 50 degrees and humidity ranges from 20 percent to 90 percent RH.Key Words:temperature and humidity measurement; wireless transmission; microcontroller; liquid crystal display 目 录摘 要IAbstractII1 概述11.1 设计目的和意义11.2 设计思想11.3 方案比较11.3.1 方案一:11.3.2 方案二:21.3.3 方案三:21.4 系统的总体设计21.5 系统设计重点与难点32 系统硬件的设计42.1 STC12C5A60S2系列单片机简介42.2 STC12C5A60S2单片机管脚图42.3 单片机最小系统电路图42.4 1602字符型LCD简介52.4.1 LCD1602主要技术参数62.4.2 LCD1602与单片机连接原理图62.5 12864汉字型LCD简介62.6 按键设计72.7 报警电路72.8 温湿度传感器电路82.9 红外遥控接收电路82.10 NRF2401无线模块电路82.11 系统电路原理图93 系统软件的设计123.1 主程序流程图123.2 LCD12864指令说明及操作时序图143.3 液晶显示流程图153.4 按键检测163.4.1 按键软件消抖:163.4.2 按键检测流程图介绍:164 温湿度传感器介绍184.1 温湿度传感器概述184.2 温湿度传感器的封装和引脚图185 无线传输模块NRF24L01介绍195.1 NRF24L01概述195.2 NRF24L01引脚图195.3 NRF24L01工作原理206 系统的调试216.1 硬件的调试216.2 编译软件的使用和编译过程216.3 程序的下载22结 论23参 考 文 献24附录A 实物最终参考图25附录B 发送部分主函数26附录C 接收部分主函数28附录D 各模块PCB布线图30致 谢31III1 概述1.1 设计目的和意义 随着人们生活水平的提高,人们生活节奏的提高,面临的压力和危险也越来越高,对于环境的威胁也是其中最主要的一部分,或者有时当我们科研实验时要对一个地方经行勘测时,由于对里面的地理环境的不确定,我们有时急需了解里面的情况,为了安全考虑又不能直接安排工作人员下去,这就迫切需要一个装置能够采集里面的数据,通过每一种方式返回给外面,这正式这套系统的真的的意义所在。为了能够生活在一个更加适合的一个环境下,人们可以根据这套系统数据做一些科学合理的措施使得室内的环境更适合人体的健康,比如当我们发现室内湿度太高时我们可以运用空调的排湿系统将湿气排掉一部分直到最适合人们居住,当发现室内太干燥时又可以采用一些方法增加空气中的水分。总之这套基于DHT11的温湿度无线采集系统将对我们的日常生活和科研有着重要意义。1.2 设计思想该系统研究设计的是一种用于室内或者公共场所的具有温湿度检测并能实现无线传输的智能检测仪,该系统核心控制为单片机,可以分为硬件和软件两部分;硬件系统由单片机最小系统,温湿度检测电路,无线传输模块,及显示和按键控制组成,其具体的电路在后面的硬件介绍中都会讲到。硬件部分设计思想基于单片机,传感器,显示和按键控制,利用传感器将模拟数据(温度、湿度)转换成数字信号,再通过无线模块将数据发送出去,通过液晶将所采集的显示在屏幕上数据。软件设计思想是分时采集传感器的数据,并及时的将所采集的数据准确无误的发送出去,通过所得的数据进行分析,是否在设定的范围内,如果在则正常显示,如果超出设定范围、则启动报警程序,按键扫描可以最为人机交互的接口,可以设定报警范围和关闭打开报警。程序采用的是模块化设计,每个子模块都有一个相对应的.C文件和.H, 每个模块出现问题是度可以快速的被找到。另外本系统的程序部分都是采用C语言编写,通过Keil UV4编译软件将其生成.HEX文件,再通过STC_ISP_V438将程序下载到单片机中去。1.3 方案比较 1.3.1 方案一: 可以用一个热敏电阻,接成四线制,再用AD将模拟量转换成数据量,通过量化将AD值转换成温度值,再另外采用一个湿度传感器(如HTF3223)采集环境湿度,输出模拟电压,再用AD通过量化成数字湿度值。 1.3.2 方案二: 可以用一个数字量的温度传感器(如DS18b20)采用单总线与单片机连接直接返回数字温度值,湿度采集用专门的湿度传感器如(如HTF3223),这个方法较方案一就是改进了测量温度外围电路,使得实现温度采集更加简单,但是还需两个传感器。1.3.3 方案三:采用温湿度传感器(DHT11),该传感器可以直接采集环境温度和湿度,采用单总线与单片机连接返回温度和湿度的数字量,大大的减少了外围电路的复杂程度,另外相比购买两个传感器大大的减少了成本。综上三个方案比较,最终采用方案三,另外该系统的显示模块采用的是LCD12864,因为其显示数据的内容要比数码管要丰富的多。1.4 系统的总体设计本系统由两部分组成即发射和接收部分 发射部分主要负责数据的采集分析,通过NRF2401发送模块将数据发送出去 ,接收模块主要接收发送模块的数据,分析数据是否在合理的范围,再进行处理是否执行报警模块,显示模块发送部分用1602液晶,接收部分用12864液晶.系统框图如图1.1和图1.2所示。单片机STC12C5A60S2温湿度传感器模块LCD1602显示模块模块按键检测单元超浓度报警模块无线模块图1.1 发送模块系统框图单片机STC12C5A60S2LCD1286显示模块模块遥控器检测单元超浓度报警模块无线模块图1.2 接收模块系统框图在系统正常运行时,温湿度传感器检测环境中的温度和湿度并将其转换成相应的数字信号,单片机将其转换为相应的温湿度值,通过对比校验位检测数据是否为正确的返回值。校验正确后将数据送LCD1602显示并将数据发送给接收模块 ,单片机还需扫描遥控器检测程序,当检测到有按键按下时执行不同的子程序。1.5 系统设计重点与难点本次设计的重点是系统的整合硬件设计、合理的软件设计、程序流程图设计、显示模块设计,其中设计的难点是温湿度传感器的读取及校准、无线传输模块处理以及抗干扰措施。2 系统硬件的设计2.1 STC12C5A60S2系列单片机简介STC12C5A60S2单片机比传统的51单片机具有很大的优势,它自身带有八路高数十位的AD模块,2路PWM,专用的复位电路,强抗干扰,其本身的flash也比传统的51单片机大得多。STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。该系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统,是我们本次设计的的首选CPU。2.2 STC12C5A60S2单片机管脚图该单片机共40个引脚,包括4个8位的I/O口,另外加电源和复位等一共40个引脚,其引脚图见图2.1所图2.1 STC12C5A60S2单片机管脚图2.3 单片机最小系统电路图 最小电路包括时钟电路和复位电路,时钟采用外部的11.0592M的晶振电路,复位电路采用按钮复位电路即当按键按下时,RES管脚高电平单片机复位,按键弹起时恢复正图2.2 STC12C5A60S2单片机最小系统2.4 1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,我们用到的是16*2模块。下面介绍一下长沙太阳人电子有限公司的1602字符型液晶显示器,简单介绍其使用法。一般1602字符型液晶显示器实物如图2.3:图2. 3 LCD1602原图及其尺寸图2.4.1 LCD1602主要技术参数显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm 2.4.2 LCD1602与单片机连接原理图 1602为16个管脚,八位数据线D0D7和单片机的P0口连接,RS.RW.EN分别和单片机的P2.7P2.5。图2.4 LCD1602与单片机的接口图2.5 12864汉字型LCD简介 128X64自带中文字库的LCD液晶,它具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。 图2.5 LCD12864与单片机的接口图2.6 按键设计 本次设计用到三个按键,分别接到P2.3,P2.4P,2.2,另外端接地。图2.6 按键接口电路图2.7 报警电路该模块主要由一个PNP三极管和一个蜂鸣器组成,当所采集的数据不在设定值范围时将P2.6端口置为低电平,三极管导通,蜂鸣器报警,当数据在设定值范围时P2.6端口置为高电平,三极管截止,蜂鸣器停止报警,其原理图见图2.7。图2.7 报警电路图2.8 温湿度传感器电路图2.8 温湿度传感器电路该模块只有四个端口,分别为VDD接+5V,VSS接地 NC为悬空脚,DATA为数据线,单片机就通过这个端口实现单总线通信。电源和地之间接一个104电容去除高频信号,具体见图2. 8。2.9 红外遥控接收电路 遥控器采用TC9012编码遥控器,红外接收采用HS0038接收头,该模块共三个引脚,只有一个管脚通过一个二极管与单片机的P3.2即中断连接,电源和地之间加一个103电容去除干扰。具体电路图见图2.9.图2.9 红外接收电路2.10 NRF2401无线模块电路 图2.10 NRF2401无线模块电路NRF24L01一共为20个引脚,其中有六个管脚是用来与单片机采用SPI总线通信的,另该模块需外加一个16M的晶振为其产生载波信号。模块加上电源共有8个引脚引出,外围电路见图2.10。 2.11 系统电路原理图系统原理图包括发送和接收两部分,具体电路图见图2.11和图2.12。在接收电路中整个系统中最主要的工作是实现温度和湿度采集和发送,在采集数据时模块使用到的是P20口,为提高数据的稳定性数据线加上10K的上拉电阻。无线传输模块采用四线的SPI与单片机的P10P16通信,需注意的的是24L01模块是3.3V供电的,但是单片机电源是5V供电的,所以在中间添加一个117_3.3v芯片将5v电源转为3.3v以供无线模块供电,显示部分使用的1602液晶用P0口为其并口数据线,控制线为P25P27.图2.11 发送原理图在接收电路中整个系统中最主要的工作是实现接收异地的无线数据并显示在12864液晶上去,无线模块电路和发送部分是相同的,显示部分使用的12864液晶用P0口为其并口数据线,控制线为P20P21.另外接收模块中添加了红外接收头,可以接收红外遥控指令,接收头使用的是P32口通过一个二极管与其连接,是的控制部分更加简单方便。 图2.12 接收原理图3 系统软件的设计3.1 主程序流程图将程序下载到单片机去后,给单片机上电或复位单片机,发送模块首先单片机对液晶、定时器、无线模块初始化等,延时一段时间等待个模块就绪后单片机驱动液晶主界面;开始分时读取温湿度,将其值显示在液晶上,再通过无线模块将值送给接收模块 ,并接收返回值,判断是否要执行报警程序,程序循环执行。接收模块流程为首先单片机对液晶初始化、定时器初始化、无线模块初始化等,延时等待各模块就绪后单片机驱动液晶显示主界面,然后开始接收发送模块的数据,将其读取的值显示在液晶上并根据接收到的数据进行分析,是否在合理的范围,不在则给主机发送报警命令,否则继续接,程序循环执行。另外单片机还需不断检测平接受遥控器数据,根据不同按键按下,函数执行不同的程序接收返回命令获取温湿度值初始化延时等待各模块就绪开始将温湿度发送给接收模块温湿度显示DHT11是否存在显示界面检查传感器并复位YN发送成功图3.1 发送模块主程序流程图N12无线接收温湿度数据初始化延时等待各模块就绪开始显示主界面温湿度显示按键返回值加减上限加减下限3设定键0是否在合理范围,执行报警程序并返回给主机Y 图3.2 接收模块主程序流程图3.2 LCD12864指令说明及操作时序图12864液晶模块内部的控制器共有7条控制指令,如表3-1所示:表3-1 控制命令表指令指令码功能R/WD/ID7D6D5D4D3D2D1D0显示ON/OFF000011111/0控制显示器的开关显示起始行0011显示起始行 063指定哪一行开始显示数据设置X地址0010111X地址 07设置DDRM中页地址(X地址)设置Y地址0001Y地址 063设置DDRM中Y地址读状态1000000读取状态RST 1:复位 0:正常ON/OFF 1:开显示 0:关 BUSY 0:READY 1:OPER写显示数据01显示数据将数据线上的数据DB0DB7写入DDRAM读显示数据00显示数据将DDRAM上的数据读入DB0DB7 12864液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 图3.2 读操作时序图3.3 写操作时序3.3 液晶显示流程图返回液晶初始化指定要写入的地址写入一个字符是否写完YN 图3.4 液晶显示流程图3.4 按键检测3.4.1 按键软件消抖:在这个系统中使用了三个按键,即一个报警开关键,和两个报警的阀值的设置键(一个增加和一个减小),为了快速执行按键程序,我们在报警设置键接入了中断,可以使得当我们按下按钮时,能够立刻执行中断按键程序。按键检测是人机交互的重要环节。我们既要保证按键按下时程序立刻响应,又要做到当有干扰时不会造成程序的跑飞。我们在电路中将所有的按键一端接在I/O端口外加上拉电阻另一端接地,当按键被按下时,直接将单片机的I/O口拉低,按键的检测就是检测按键的电平为低则视为有按键按下否则就没有,但是我们知道单片机执行程序是也有时间性的,所以按键按下一段时间后单片机才能够读取到。另外,由于按键本事的物理特性,我们在使用按键时会有抖动,如图3.5所示。图3.5 按键抖动示意图按键抖动是程序必须考虑的问题,否则程序将产生非常多的麻烦。如图3.5所示按键的抖动时间约为10-20ms,所以我们需在检测按键时,通过软件的方法将这段时间过滤掉,这样才能得到准确的信息。我们在初期学习单片机按键接口时,通常的做法就是用延时函数(只考虑软件消抖),即通过延时来代替按键的抖动时间,但是,这种做法效率太低,因为延时的这段时间CPU在跑空语句,这对于CPU资源来说是极大的浪费。下面给大家介绍一种提高效率的方法。我们的可以空语句延时这里来思考,我们通常是利用空语句延时,但是我们当执行其他子程序是也是需要时间的,即我们可以把处理子函数的时间作为按键等待的时间,就是把它在为一个“延时子函数”,当“延时”过去以后再检测I/O口的电平。这样可以将消抖的时间不是在跑空语句而是来运行其他程序又成功的避开抖动的时间,这样就能成功的完成按键检测。3.4.2 按键检测流程图介绍:KeyCode=3返回KeyCode vdsvKEYCODEKeyCode=1获取的按键值KEY3YNKEY2KEY1按键扫描是否有按键按下KeyCode=0 KeyCode=2图3.7 按键检测流程图 4 温湿度传感器介绍4.1 温湿度传感器概述DHT11温湿度传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC 测温元件,并与一个 高性能8位单片机相连接。每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 单 线制串行接口,使系统集成变得简易快捷。DHT11数字湿温度传感器采用单总线数据格式。即单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中校验和数据为前四个字节相加, DHT11读到的数据如图36.1.2所示。图4.2读取DTH11的数据4.2 温湿度传感器的封装和引脚图 表4-1 DTH11引脚说明Pin名称注释1VDD供3505v2DATA串行数据,单总线3NC空脚,请悬空4GND接地 电源负5 无线传输模块NRF24L01介绍5.1 NRF24L01概述NRF24L01是一款新型单片射频收发器件,工作于频段为2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其输出功率和通信频道可以通过程序进行随意配置。NRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。NRF24L01主要特性如下: (1)、GFSK调制,硬件集成OSI链路层; (2)、具有自动应答和自动再发射功能; (3)、片内自动生成报头和CRC校验码; (4)、数据传输率为l Mb/s或2Mb/s;(5)、SPI速率为0 Mb/s10 Mb/s;(6)、125个频道与其他nRF24系列射频器件相兼容; (7)、QFN20引脚4 mm4 mm封装;(8)、供电电压为1.9 V3.6 V;5.2 NRF24L01引脚图nRF24L01的封装及各引脚功能如图2.11所示。 图2.11 nRF24L01引脚图VDD: 3.3V电源输入;CE:使能端口; CSN,SCK,MOSI,MISO:SPI总线控制端口IRQ:中断标志位;XC1,XC2:外部晶体引脚; VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:外接天线;IREF:输入参考电流;VSS:数字地;5.3 NRF24L01工作原理NRF24L01在进行数据传输是,首先要配置工作模式,当要发送数据时先将NRF24L01配置为发送模式。接下来要把接收点的地址和要发送的数据写入NRF24L01的发送缓冲器(TX_FIFO),因为我们采用的模拟SPI与单片机,故数据在传输过程中SCN必须为低,发送接收地址后接着发送数据,然后在CE的一个上升沿将数据锁存,延时一端时间等待数据发送完成!如果我们设置自动应答,那么等待数据发送结束以后自动切换为接收模式,接收应答信号地址为前面接收的地址,。如果接收到应答信号以后,表示通信成功,接下来只需清楚一些标志位就可以了,若是没有收到应答,系统重新设为发送模式,超过设定的重发次数时,将产生中断。当要接收数据时先将NRF24L01配置为接收模式,延时一段时间后等待数据的接收。当收到有有效的地址和CRC校验码后,先将其存入接收缓存寄存器(RX_FIFO)中,并产生中断告知CPU是否需要接收。若自动应答开启,当接收完以后将自动切换工作模式。NRF24L01工作模式有三个寄存器决定即PWR_UP ,PRIM_RX 和CE其配置见表5.1表5-1 nRF24L01工作模式设定工作模式PWR_UPPRIM_RXCEFIFO寄存器发送模式111-接收模式101数据在TX FIFO寄存器中接收模式1010停留在发送模式,直到数据发送完成待机模式2101TX FIFO为空待机模式11-0无数据传输掉电模式0-6 系统的调试6.1 硬件的调试要获得不同温.湿度值就得先准备一些材料,可以事先准备一个烙铁和一团纸巾沾点水在上面,和一个室温计为参考标准,由于条件限制没有一个更精确的湿度较正装置,只能看到显示得出变化。当要给传感器加热是可以将烙铁靠近传感器,当要增加湿度是可以先用湿纸巾靠近传感器并轻轻吹气,即可以看到传感器的数据发送变化,当有温度或者湿度超过设置的阀值是可以听到蜂鸣器开始报警,当低于设定值是蜂鸣器停止报警。利用遥控器对准接收头,按下按键可以看到12864上的第一行显示该按键的键值,并但按下设定键是可以看到相应的设定值的变化,当开始报警时,按下报警控制按钮可以关闭报警,再次按下时报警再次打开。综上所述,系统所有功能全部实现,并且稳定,达到设计初期目标。表6-1 传感器检测与室温计对照传感器检测温度计读数接收端显示温度测量距离3736.5375米2122218 米1011.51013 米4038.54010 米4949.54930 米3333517米56555米6.2 编译软件的使用和编译过程图 6.1 软件图标编译软件的使用:打开KILE软件,新建一个工程,再建几个与工程相关的各个模块的.c和.H文件,将所有c文件添加到工程中去,在main函数开始编写代码,编译无误后就可以将程序下载到单片机中去,看看是否能实现功能,如果不能则检查代码并修改,直到所有功能全部实现,软件部分全部完成。图6.2 编译使用界面6.3 程序的下载图6.3 烧写软件的图标程序下载使用的是STC单片机专业软件STC_ISP如图6.3,它的界面和使用方法如图6.4:图6.4 单片机烧写软件界面先配置STC_ISP软件,如下图所示; 烧片时应注意的问题:(1)将单片机准确放入插槽中,不要放反了否则有烧单片机的危险,。(2)选择单片机的型号,为该单片机的型号。(3)打开要下载的文件,即kile的.hex文件(4)选择对应的COM口,可以在设备管理器中查到使用哪个COM口。(5) 按下“Download/下载” 握手成功后给单片机上电即可完成下载,(注:给单片机上电以后,可以用手触摸单片机,当感觉好烫时应立刻断电检查单片机是否放好和其他硬件电路是否正确。)31结 论经过几个月的努力并在指导老师的悉心教导下,本次毕业设计终于完成并达到了预期的效果,以下是本人对于这次设计的一些总结。本次设计是基于NRF24L01的无线温湿度检测实验,采用DTH11模块作为温湿度采集传感器,该传感器只需简单的电路就可以以单片机实现连接,并且数据之间采用的是单总线进行通信即只需一个I/O口就可以了,传感器将内部湿度和温度数据共40位的数据(16位温度,16位湿度外加八位校验)一次性传给单片机,数据采用与校验位比对,大大提高数据的准确性。通过本次试验对单片机有了更加深层次的了解,对C语言也是有很大的提高尤其是对于一个系统的整体的流程包括流程图到具体的程序的编写的能力大大的提高。当然在这次设计中也遇到了很大的困难,比如一开始的单片机最小体统不能工作查电路发现是焊接出现了问题;还有后面读取温度总是为零,后面发现是程序开始没有初始化DTH11导致不能正常工作;还有就是开始发送模块数据只能发送不能接受,后面发现是发送后没有设置为接收模式导致数据不能接受只能发送。庆幸的是这些都在老师和同学的帮助下一一解决了,有些只是自己的太粗心导致的,让系统不能正常的工作。通过这次设计大大的提高了自己的动手能力,包括焊接等硬件制作和程序的编写等软件制作,由于本次试验在制作中全部滴PCB都是自己做的,包括元件库,PCB库和原理图包括后面的电路板的腐蚀都是自己亲自操作的,对于PCB的整个的流程相当了解,极大的提升了对PCB制版和DXP软件的使用。在这段时间里我也发现了自己一些不足,一开始对于问题没有一个总体的把握,总是感到无从下手,对于当中遇到的问题开始也不能很好的解决,可能由于缺少经验,很多问题都是要花费好多的时间。在这次毕业设计中,我要感谢我的指导老师,他给予我许多的帮助和鼓励。我还要感谢在设计过程中所有给予我真诚热情帮助的老师和同学。参 考 文 献1 化成英,童诗白模拟电子技术基础第三版 北京:高等教育出版社,2004。2 黎小桃,刘祖明,周福明Protel99SE入门与提高【M】北京:电子工业出版社,20093 王东锋,王会良,董冠强单片机C语言应用100例【M】北京:电子工业出版社,2009。4 何希才, 薛永毅.传感器及其应用实例M北京:机械工业出版社,2004。5 吉雷, 章优仕, 齐永龙. Protel99电子电路设计M成都:电子科技大学出版社,2000.6 楼然苗,李光飞编著51 系列单片机设计实例北京北京航空航天大学出版社2003。7 马忠梅,籍顺心,张 凯,马 岩单片机C 语言应用程序设计 修订版【M】 北京:北京航空航天大学出版社,1999。8 北京教育科学研究院.无线电技术基础M.北京:人民邮电出版社,2005.9 吕俊芳,钱政,袁梅传感器接口与检测仪器电路【M】北京:国防工业出版社,2009。10 明、唐杰等.51 单片机编程基础与开发实例详解.北京:人民邮电出版社,2008 。11 赵晓安主编MCS-51 单片机原理及应用天津天津大学出版社2001。12 Guiyun Tian.Foundation and Application of MicrocontrollerM.北京:.Beijing:Hignher Education Press and Pearson Education North Asin Limited,200413 John F.Wakerly.Digital Design Principles&Prractices.3rd ed .Beijing:Hignher Education Press and Pearson Education North Asin Limited,200114 Tomas L. Floyd. Digital Fundamentals. 7th ed. Beijing :Science Press and Pearon Education North Asia Limited,200215 K. ”Gopal” Gopaian.Lntroduction to Digital Microelectronics circuits.Richard D . Irwin, a Times Mirror Higher EDUcation Group ,Inc. company,199616 Simon Haykin,Machael Moher,郑宝玉.现代无线通信M.北京:电子工业出版社, 2006。附录A 实物最终参考图注:下边为发送模块,上边为接收模块附录B 发送部分主函数void main(void) unsigned char TxBuf20=0; unsigned char RxBuf20=0; Time_Init(); LCD_initial(); init_NRF24L01(); delay_ms(100); while(DTH_11_Init()=1) LCD_set_position(0x00 );/第二行 第十四列 0x40+x write_datas(DHT_11 Error); LCD_set_position(0x40 );/第二行 第十四列 0x40+x write_datas(check and rest); delay_ms(60); write_com(0x01);/清屏 write_com(0x01);/清屏 LCD_set_position(0x00 );/第二行 第十四列 0x40+x write_datas(DHT_11 OK ); delay_ms(200); delay_ms(200); write_com(0x01);/清屏 LCD_set_position(0x4a );/第二行 第十列 0x40+x write_datas(T=); delay_ms(10); LCD_set_position(0x4e );/第二行 第十四列 0x40+x write_data(0xdf); write_data(C); LCD_set_position(0x00 );/第二行 第十四列 0x40+x write_datas(TX_MODE); while (1) delay_ms(10); if(RH_flage=1) RH_flage=0;/清标志位 RH();/读取温湿度值 TxBuf1=U8T_data_H/10;/数据送发送温度缓存 TxBuf2=U8T_data_H%10; TxBuf3=U8RH_data_H/10;/数据送发送温度缓存 TxBuf4=U8RH_data_H%10; LCD_set_position(0x4c );/第二行 第十2列 0x40+x write_data(TxBuf1+48); write_data(TxBuf2+48); LCD_set_position(0x0c );/第二行 第十2列 0x40+x write_data(TxBuf3+48); write_data(TxBuf4+48); nRF24L01_TxPacket(TxBuf); /发送数据 TxBuf1=0;/数据送发送温度缓存TxBuf2=0;nRF24L01_RxPacket(RxBuf); 附录C 接收部分主函数void main(void) bit warn_Open=1; uchar t=0,Warn_Tem=20,Warn_Hum=50; unsigned char Tempture ,Humidity;unsigned char TxBuf20=0; unsigned char RxBuf20=0; Init_IR();/ Beep=0; LCD_12864_Initialization(); init_NRF24L01(); Time_init(); delay_ms(10); LCD12864_Write_String(1,0,电子工程系 A1031); LCD12864_Write_String(2,0,无线温湿度检测);

温馨提示

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

评论

0/150

提交评论