基于单片机的环境温湿度监测系统设计-机械设计制造及其自动化_第1页
基于单片机的环境温湿度监测系统设计-机械设计制造及其自动化_第2页
基于单片机的环境温湿度监测系统设计-机械设计制造及其自动化_第3页
基于单片机的环境温湿度监测系统设计-机械设计制造及其自动化_第4页
基于单片机的环境温湿度监测系统设计-机械设计制造及其自动化_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业论文(设计)题目:基于单片机的环境温湿度监测系统设计摘要随着科学技术的不断提高,人类社会不断向前发展,人们的生活水平也不断提高。但是,科技的发在也带来了一些环境问题,例如水污染,大气污染。因此,对环境的温湿度监测显得越来越重要,在工业生产、实验研究、农业生产等各个领域,温湿度是监测被控对象的实际状态的基本物理量。所以解决环境问题,温度和湿度是环境的两个最基本最重要的因素。进入二十一世纪以来,单片机在工业生产、家用电器、智能仪表、外用控制等多个领域都得到了广泛的应用。本系统采用ATMEL公司生产的AT89C52单片机为控制芯片,SHT11温湿度传感器,DS1302时钟芯片以及其余元件构成的温

2、湿度监测系统。能够实现对温度是实时采集,并且可以直观得从LCD液晶显示器上观测到温湿度的具体数值。当温度或湿度超过自身所设定上限时,由发光二极管和蜂鸣器组成的报警电路发出警报。论文中对SHT11与单片机连接部分进行了Proteus进行了仿真。本系统具有响应快、抗干扰能力强、成本低等优点,电路设计简单,且能够直接显示并观测到温湿度的变化。本系统仅仅完成了对环境温湿度的测量部分,并没有实现可以对环境温湿度的控制。但是单片机中仍然留有许多接口,可以拓展功能,所以本系统具有良好的发展前景。关键词:温湿度;AT89C52;SHT11;单片机1AbstractWiththecontinuousimprov

3、ementofscienceandtechnology,humansocietycontinuestomoveforward,andpeopleslivingstandardscontinuetoimprove.However,thedevelopmentofscienceandtechnologyhasalsobroughtsomeenvironmentalproblems,suchaswaterpollution,airpollution.Therefore,temperatureandhumiditymonitoringoftheenvironmentisbecomingmoreandm

4、oreimportant.Inindustrialproduction,experimentalresearch,agriculturalproductionandotherfields,temperatureandhumidityisthebasicphysicalquantitytomonitortheactualstateofthecontrolledobject.Therefore,tosolveenvironmentalproblems,temperatureandhumidityarethetwomostbasicandimportantfactorsoftheenvironmen

5、t.Sincethe21stcentury,single-chipcomputerhasbeenwidelyusedinindustrialproduction,householdappliances,intelligentinstruments,externalcontrolandotherfields.ThissystemusesAT89C52singlechipcomputerascontrolchip,SHT11temperatureandhumiditysensor,DS1302clockchipandothercomponentstoconstitutethetemperature

6、andhumiditymonitoringsystem.Itcanrealizereal-timetemperatureacquisitionandintuitivelyobservethespecificvaluesoftemperatureandhumidityfromLCD.Whenthetemperatureorhumidityexceedstheupperlimitsetbyitself,thealarmcircuitcomposedoflightemittingdiodeandbuzzergivesanalarm.Inthispaper,theconnectionbetweenSH

7、T11andMCUissimulatedbyProteus.Thesystemhastheadvantagesoffastresponse,stronganti-interferenceability,lowcost,simplecircuitdesign,andcandirectlydisplayandobservethechangesoftemperatureandhumidity.Thissystemonlycompletesthemeasurementofenvironmentaltemperatureandhumidity,anddoesnotrealizethecontrolofe

8、nvironmentaltemperatureandhumidity.Buttherearestillmanyinterfacesinthesingle-chipcomputer,whichcanexpandthefunction,sothesystemhasagooddevelopmentprospect.Keywords:temperatureandhumidity;AT89C52;SHT11;MCU2目录一、课题研究的意义.51.1温度监测系统现状.51.2湿度监测研究现状.61.3、国内外温湿度监测技术研究现状.6二、系统硬件设计.7图1-1.72.1、AT89C52单片机的特点.82

9、.1.1、AT89C52的管脚说明.92.2、温湿度采集模块.112.2.2、STH11的内部结构和工作原理.132.3、显示电路.132.3.1、主要技术参数为:.132.3.2、LCD1604引脚的功能有:.142.4.1、DS1302的基本组成和工作原理.162.4.2、DS1302内部寄存器.16三、模块功能介绍.163.1、时钟电路.163.2、复位电路.173.3、键盘输入电路.183.4、传感器电路.183.5、报警超限电路.183.6、显示电路.193.7、时钟电路部分.203.8、整体电路图.21四、程序框图.224.1、总程序图.224.2、温湿度采集及处理框图.234.3

10、、LCD显示框图.24五,仿真调试.24六、总结与展望.29致谢.30参考文献.31附录.323一、课题研究的意义随着科技得不断发展,计算机已经成为推动人类文明发展的重要工具,在人们生活中也越来越依赖计算机,而单片机是计算机发展的一个重要分支领域,它具有体积小、低电压、低功耗、高集成度、高可靠性、便于生产便携式产品的特点。如今生活中各个领域基本上都有单片机的应用。如导航系统、常用电器。手机、智能仪表、实时工控、远程的通讯控制等。本系统时一个实现实时监控温度变化的系统。AT89C52单片机作为该系统的核心控制硬件将整个系统正常运行,该系统具有低价格、可靠。使用等特点。在我们日常生活中,离不开环境

11、的各种因素,而温度和湿度又是环境质量最主要的两个因素,随着社会的发展,人们的对生活质量的要求不仅仅只在物质上了,精神上的满足感也极为重要。目前环境的温湿度监测以及普及在人们的生活工作之中。在工业生产、农业生产、粮食存储、实验研究和医疗场所等各个领域,都需要用到环境的温湿度监测系统。1.1温度监测系统现状进入二十一世纪以来,科学技术飞速发展,其中计算机技术更是突飞猛进,而这一变化同时带动了以计算机技术为核心的周边技术发展,所以传感器技术同样取得了很大的进步。由传感器发展的监测系统被广泛用于工业生产、农业生产、日常生活、科学研究等各个领域。环境中温度和湿度的监测属于监控系统的一部分,所以出于这方面

12、的传感器芯片以及测量技术都取得了一定的进步。在以前,传统的温度测量法需要人工将温度计放置于测量的位置,同时需要人工度数,这样会导致许多不稳定的因素发生,并且精度低、速度慢和实时性差。这样的监测方法不仅浪费了大量人力,同时也会因为人工度数导致误差发生。随4着科技的发展,出现了电阻式温湿度传感器、采样器。并且传感器可将采集到的温湿度转换为电信号,发送给所连接的计算机处理。这种测量方法具有速度快、精度高同时可以降低劳动力等多个有点。并且可以对多个点进行巡回监测。但是这一监测系统仍然有存在着不足。电阻式传感器灵敏度不高且容易受到温度和湿度的影响,使用寿命短。进入二十一世纪,温湿度监测系统的硬件和软件都

13、得到了显著的改善和提高,其中具体表现为热电偶传感器和半导体传感器的出现;单片机的应用使数据传输及检测速度得到了提高;采用串行传输的方式;采用矩阵式布线技术;运用软硬件的急速组合的方法1.2湿度监测研究现状湿度传感器最简单的构造就是湿敏元件。其中又可以分为两大类:电阻式和电容式。其中电阻式虽然灵敏度高,但是线性度差,产品互换性差。而电容式则具有灵敏度高、响应速度快、小型化和集成化容易实现等优点10。在最近几年的科技发展飞速,湿度传感器在各方面都有了很大的进步,其中主要体现在以下两个方面:湿度传感器逐步由分立元件到集成化、智能化、系统化的方向迅速发展,对开发创造更高端湿度监控系统创造了前提条件;湿

14、度测量系统中运用了自动温度补偿、自动校准湿度、线性化处理等多项先进技术。1.3、国内外温湿度监测技术研究现状上世纪八十年代,国外就已经开始了对温湿度监测的技术研究,其中主要采用的是模拟式的组合仪表,将采集到的温湿度信息进行指示和记录。我国对于温湿度的监控技术起步相对较晚,但是发展飞速,正朝着完全自动化、无人化的方向发展。目前,由于各种新兴技术的出现,国内的环境监测系统与国际标准仍然有很大的差距。在市场竞争逐渐激烈的现在,对环境监测的技术要求也越来越高。5虽然国内的温度监测技术有了很大的发展,但是湿度监测技术仍然不是很成熟。环境监测技术是一门融汇多门技术的科学技术,融汇了电子科学、应用科学和信息

15、科学。正朝着科技化、网络化、信息化趋势发展。二、系统硬件设计如图1-1所示为整体系统框图,本系统以AT89C52单片机为核心,将SHT11采集到的数据收集并处理,之后输出到LCD液晶显示器显示实时的温湿度数据,由报警电路发出警报。通过操作按钮式开关,可以调整温湿度上下限设定。同时通过DS1302时钟产生的实时时间数据。硬件中包括一个开关,为复位开关。开机后,所有器件初始化,SHT11温湿度传感器启动同时开始温湿度的测量和计算,同时DS1302产生实时的日期和时间,之后将结果输入单片机AT89C52之中,再经过单片机处理过的数据输出到显示电路和报警电路。其他一些附件,比如复位、晶振电路。整体电路

16、框图如下:温湿度传感器报警发声电路SHT11单片机AT89C52时钟芯片DS1302液晶显示器图1-162.1、AT89C52单片机的特点随着科技的不断发展,单片机的种类也不断增多,单片机所具有的功能也越来越强大,单片机按照用法得不同,在应用领域可以分为:工控类、通信类、家电类等,本设计主要是利用一个小型单片机设计一个系统的小型控制中心,所以8位的单片机就能够满足我们的大部分需求,除此之外,考虑到成本以及耗损问题,所以,本系统使用价格低廉,同时应用广泛的AT89C52单片机AT89C52是一种具有广泛应用的单片机,属于MCS-51系列,由于通用单片机的原理和内部结构都是互通的,通过此次设计,能

17、够更加了解通用单片机的结构和控制流程。AT89C52属于中低端的单片机,所以本身不具有有D/A转换功能。AT89C52是一个低电压、高性能CMOS8位单片机,具有以下特点:2个串行中断,可编程UART串行通道2个读写中断先,3级加密位可兼容MSC51的指令系统256X8bit的内部RAM16位可编程定时/计数器中断时钟频率0-24MHz32个双向I/O口低功耗空闲和掉电模式,软件设置睡眠和唤醒功能2个外部中断源,共6个中断源具有8KB的可反复写擦的FlashROM有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求72.1.1、AT89C52的管脚说明如图所示是AT89

18、C52单片机的管脚排列方式图2-1这些管脚的具体功能如下表所示VCCGNDP0口供电电压接地P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在8访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲4级可驱动(吸收或输出电流)个TTL逻辑门电路。对端口写“1”,

19、通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地数据存储器(例如执行MO

20、VXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RTS复位输入。当振荡器工作时,RST引脚出现两

21、个机器周期以上高电平将使单片机复位9ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序

22、储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1XTAL2振荡器反相放

23、大器及内部时钟发生器的输入端。振荡器反相放大器的输出端。表2-12.2、温湿度采集模块因为需要实时显示所测得的温度,所以需要传感器具有灵敏度高,响应速度快等优点,所以采用由瑞士Sensiron公司生产的SHT11芯片,这款传感器同时具备了温度采集和湿度采集功能,同时接口简单,可以简单快捷得建立们湿度采集的电路,并且内部集成了A/D转换器,弥补了AT89C52单片机自身没有A/D转换器的功能。SHT11使用的是数字信号作为输出信号,所以具有比较强的抗干10扰能力。目前。SHT11传感器已经在各个领域得到了广泛的应用。SHT11传感器具有以下特点因为同时具备温度和湿度的传感器功能,可以提供高质量的

24、露点计算功能和温度补偿的湿度测量值,从而产生高精度的测量值多功能集成芯片,同时具备了温度传感、湿度传感、A/D转换、加热器和信号变换功能具有运行结束后,自动进入低功耗模式的功能能够提供二线数字串行接口DATA和SCK,接口简单,支持CRC传输效验,传输可靠性高具有高可靠性,同时具备防水功能,测量时可以将感应头放入水中2.2.1、SHT11的引脚功能SHT11温湿度传感器的接口非常简单,并且使用SMD表面贴片的封装形式。SHT11的引脚分布如图所示图2-2各引脚的功能如下:脚1和脚4脚2和脚3信号地和电源,其工作电压范围是2.4V5.5V二线串行数字接口,其中DATA为数据线,SCK为时钟线脚5

25、脚8未连接11表2-22.2.2、STH11的内部结构和工作原理图为SHT11的内部结构,由图可以看出,SHT11传感器内含有一个能隙材料制作成的温度敏感元件和一个电容性聚合体湿度敏感元件。当芯片运行时,这两个元件把温度和湿度转换为电信号,之后将电信号发送到放大器中经由14位的A/D转换器;最后经过二线串行数字接口输出数字信号。图2-32.3、显示电路现在机械设备所使用的显示器主要由CRT显示器和LCD显示器(液晶显示器两种)。而大部分的计算机或电子仪表使用的是LCD液晶显示器。所以本系统采用LCD1602显示器作为系统的输出信息元件。与传统单片机设计使用的LED数码管显示器对比,液晶显示器所

26、能显示的内容更加丰富,同时功耗也更低。现在在单片机应用设计中,液晶显示器已经是最常用的显示器件了。2.3.1、主要技术参数为:显示容量芯片工作电压16X2个字符4.55.5V12工作电流模块最近工作电压字符尺寸2.0mA(5.0V)5.0V2.95X4.35(WXH)mm表2-32.3.2、LCD1604引脚的功能有:RSAVSSEZ/WDB0DB7VDDVEEK数据和指令选择控制端,RS=0命令状态;RS=1数据背光控制正电源接地端数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换读写控制线,R/W=0写操作;R/W=1读操作数据线,可以用8位连接,也可

27、以只用高4位连接,节约单片机资源电源端亮度控制端(1-5V)背光控制地表2-4132.4、DS1302原理及应用本设计采用DALLAS公司推出的DS1302涓流时钟芯片。此芯片内含有31字静态RAM和一个实时时钟/日历。DS1302可以通过简单的串行接口与单片机进行通信。内含的实时日历/时钟可以提供具体的秒分时日、年月日期的信息。时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:RES复位、I/O数据线、SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信,DS1302工作时功耗很

28、低,保持数据和时钟信息时功率小于1mW。下面将主要的性能指标作一综合:串行I/O口方式使得管脚数量最少318位暂存数据存储RAM串行I/O口方式使得管脚数量最少实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式工作电流2.0V时,小于300nA宽范围工作电压2.0-5.5V8脚DIP封装或可选的8脚SOIC封装根据表面装配简单3线接口与DS1202兼容与TTL兼容(Vcc=5V)可选工业级温度范围-40+85在DS1202基础上增加的特性-对Vcc1有可选的涓流充电能力-双电源管用于主电源和备份电

29、源供应-备份电源管脚可由电池或大容量电容输入-附加的7字节暂存存储器142.4.1、DS1302的基本组成和工作原理DS1302的管脚排列如下图所示管脚描述X1X2GNDRSTI/OSCLKVCC1,VCC232.768KHz晶振管脚地复位脚数据输入/输出引脚串行时钟电源供电管脚表2-52.4.2、DS1302内部寄存器CH:时钟停止位寄存器2的第7位12/24小时标志CH=0振荡器工作允许bit7=1,12小时模式CH=1振荡器停止bit7=0,24小时模式WP:写保护位寄存器2的第5位:AM/PM定义WP=0寄存器数据能够写入AP=1下午模式WP=1寄存器数据不能写入AP=0上午模式TCS

30、:涓流充电选择DS:二极管选择位TCS=1010使能涓流充电DS=01选择一个二极管TCS=其它禁止涓流充电DS=10选择两个二极管DS=00或11,即使TCS=1010,充电功能也被禁止三、模块功能介绍3.1、时钟电路电路连接如图3-1所示这一所组成的是单片机的时钟电路,采用12MHz频率的石英晶体和30pF且可调的电容器组成的LC并联谐振回路组成定时器件。时钟电路与单片机的连接如图所示,该电路连接在AT89C52单片机的XTAL1和XTAL2引脚上,外部或内部产生的时钟信号在谐振回路中产生自激震动。在这一部分电路中XTAL2为信号端,XTAL1为震动电路的输入端。15图3-13.2、复位电

31、路每当单片机开始启动时,就需要一次复位使单片机系统及各个部分恢复到初始状态,之后再从初始状态开始工作,而复位又分手动复位和上电复位两种,本系统使用的是手动按钮复位。图3-23.3、键盘输入电路在本系统中,采用按钮开关独立式键盘作为输入电路,通过对键盘的操作即可完成温湿度上下限的设定。电路如图3-3所示16图3-33.4、传感器电路这一部分的电路作用是温湿度的初步采集以及将采集到的温湿度转换为电信号发送给控制端的AT89C52单片机,这一部分的电路主要是由SHT11温湿度传感器构成,由于SHT11论文前面已经介绍过其功能和原理,故不在重复介绍了。连接方式如图3-4所示。图3-43.5、报警超限电

32、路这一部分电路是由六个发光二极管和一个蜂鸣报警器组成,分别是D7、D1、D2、D3、D4和D5,发光二极管与单片机的连接以及蜂鸣器与单片机的连接部分如图所示。其中D7、D1、D2、D3、D4和D5分别代表着正常、最低温度报警、最高温度报警、最低湿度报警、最高湿度报警和报警灯,当传感器测定的温湿度超过设定的限额,相对应的发光二极管就会就会产生发光反应,产生可视的警报作用,同时蜂鸣报警器连续发出蜂鸣声。发光二极管电路如图3-5所示,蜂鸣器电路联机如图3-6所示17图3-5图3-63.6、显示电路这一部分电路能够具有实时显示SHT11当前所测得的温度和湿度。选用LCD1602液晶显示器,由于前文已经

33、介绍过该型号的液晶显示器,故这里不再重复介绍。连接如图3-7所示18图3-73.7、时钟电路部分这一部分电路能够为系统提供实时的时间显示,其主要芯片为DS1302,如图所示,将DS1302的控制引脚I/O、CLK、RST分别接在单片机的控制引脚P3.2、P3.1、P3.0口,这一部分的电路能够对系统的监测产生时间参考的作用。不但连接电路简单,而且时间日期准确。193.8、整体电路图图3-820四、程序框图4.1、总程序图图4-1214.2、温湿度采集及处理框图开始SHT11初始化启动SHT11等待主机发送指令测量温湿温湿度测量浮点数转换并发送至主机复位图4-2224.3、LCD显示框图开始初始

34、化LCD设置显示位置显示字符结束图4-3五,仿真调试本文中的系统设计的软件设计方面是使用KeilSoftware公司所出品的KeilC51软件,这款51系列兼容的单片机C语言开发系统。KeilC51开发软件操作界面如下:首先将C语言编程在KeilC51开发软件下进行编译、调试。之后生成.HEX23文件,具体的操作方法如下:新建一个项目文件,然后新建一个C语言程序,并把新建的C语言程序加到项目中,然后编译项目。(编译的目的就是把我们能看懂的程序设计语言转化为上面的机器语言,即.hex文件在Proteus软件中绘制原理图,将生成KeilC51所生产的hex文件添加进AT89C52单片机中Prote

35、us原理图:图5-1拟真结果:1、系统启动时,按下复位按钮,使系统整体恢复到初始状态,可以通过按键操作,设定温湿度报警的上下限值。当程序正常运行时,SHT11温湿度传感器测得实时温度,将信号发送给AT89C52单片机,再由LCD显示器显示SHT11传感器所测得的温度,表示正常运行的发光二极管发出亮光。24图5-22、当SHT11传感器监测到湿度超过上限时。AT89C52单片机做出反应,使对应的报警发光二极管发出亮光,同时蜂鸣器发出报警的蜂鸣声。图5-3253、当SHT11传感器监测到温度度超过上限时。AT89C52单片机做出反应,使对应的报警发光二极管发出亮光,同时蜂鸣器发出报警的蜂鸣声。图5

36、-4同样地,当温湿度超过下限时对应的报警灯以及报警器都会发出警报。图5-526图5-627六、总结与展望在现代生活中,人们越来越重视周围的环境问题,而温度和湿度是环境问题的两大重要因素。在本设计中,基于单片机所设计的温湿度监测系统。系统能够实时地监测环境的温湿度,并且能够进行声音以及灯光报警。论文从系统的元件选择到电路的设计以及系统整体电路设计各个方面都详细的介绍了其中的原理和过程。利用传感器的技术应用并且结合AT89C52单片机的控制系统,实现了可以实时采集和读取环境的温湿度。利用发光二极管和蜂鸣报警器组成的报警电路,同时通过LCD液晶显示器可显示实时温度。本论文只解决了温湿度的监测问题,仍

37、然还有许多值得深入研究的问题,一个好的系统的形成比对是在实际运用的过程中不断发现问题,才能提出解决问题的方法,才能完善。所以在以后的工作和学习中,我仍要不断地研究,不断地学习,才能做出更加优秀的设计。28致谢衷心的感谢王娟老师的精心指导和无私帮助。对于本次论文设计,她给予的耐心指导使我受益匪浅。王娟老师渊博的知识、丰富的经验、严谨地科学态度、求实的治学精神将激励着我在今后的求学道路上更加积极进取,并使我终身受益。同时感谢四年大学中曾经教导过我帮助我的老师们,以及一直陪伴在身边的同学们给予我帮助以及互相支持。29参考文献1张文建,董佩,胡滨.大棚温湿度控制系统的设计J.山东工业技术,2019(1

38、1):153+140.2于斯淇,汪俊菊,李慧颖,田艳红,罗晨.基于单片机的环境控制系统J.科学技术创新,2019(10):89-90.3马浩凯.基于单片机的温湿度监测系统J.电子世界,2019(03):151-152.4谈敏.温湿度监控系统设计J.计算机测量与控制,2018,26(11):137-140+144.5庞岳峰,朱巍巍,谢克佳,罗义.基于SHT11传感器的测控设备温湿度监测系统设计J.无线电通信技术,2018,44(05):526-530.6李宝烨.温湿度传感器集成系统设计D.东南大学,2017.7喻旋,张东旭,付文卓.基于SHT11传感器的温湿度测量系统设计J.电子科技,2014,

39、27(06):121-125.8季作亮.基于单片机的温湿度控制系统的设计D.山东师范大学,2014.9曹昌勇,贾伟建.基于AT89C52和DHT11数字式粮库温湿度监控系统设计J.齐齐哈尔大学学报(自然科学版),2014,30(01):31-34.10栾瑞.无线温湿度监测系统的设计D.吉林大学,2013.11郭艳玲,陈利军.基于AT89C52单片机的温湿度控制采集系统J.林业机械与木工设备,2007(05):37-39.30附录源程序:#include/加载头文件#include#include#include#include#include#defineucharunsignedchar/宏

40、定义#defineuintunsignedintsbitLcdRs=P20;/液晶控制脚定义sbitLcdRw=P21;sbitLcdEn=P22;sbitACC0=ACC0;sbitACC7=ACC7;sbitl0=P30;/指示灯接口定义sbitl1=P31;sbitl2=P32;sbitl3=P33;sbitl4=P34;sbitset=P35;/参数修改接口定义sbitadd=P36;sbitsub=P37;sbitbeep=P26;/报警接口charnum;/声明变量ucharstr16;ucharflag;/设置标志位uchartmp_h,tmp_l,hum_h,hum_l;/向L

41、CD写入命令或数据#defineLCD_COMMAND0/Command#defineLCD_DATA1/Data#defineLCD_CLEAR_SCREEN0 x01/清屏#defineLCD_HOMING0 x02/光标返回原点/设置显示模式#defineLCD_SHOW0 x04/显示开#defineLCD_HIDE0 x00/显示关#defineLCD_CURSOR0 x02/显示光标#defineLCD_NO_CURSOR0 x00/无光标#defineLCD_FLASH0 x01/光标闪动#defineLCD_NO_FLASH0 x00/光标不闪动/设置输入模式31#define

42、LCD_AC_UP0 x02#defineLCD_AC_DOWN0 x00/default#defineLCD_MOVE0 x01/画面可平移#defineLCD_NO_MOVE0 x00/defaultucharLCD_Wait();voidLCD_Write(bitstyle,ucharinput);/1602液晶显示部分子程序voiddelay(uintz)/延时函数uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);voidLCD_Write(bitstyle,ucharinput)LcdRs=style;P0=input;delay(5);LcdEn=1;d

43、elay(5);LcdEn=0;voidLCD_SetDisplay(ucharDisplayMode)LCD_Write(LCD_COMMAND,0 x08|DisplayMode);voidLCD_SetInput(unsignedcharInputMode)LCD_Write(LCD_COMMAND,0 x04|InputMode);/初始化LCDvoidLCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0 x38);/8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0 x38);LCD_SetDisplay(LCD_SH

44、OW|LCD_NO_CURSOR);/开启显示,无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);/清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);/AC递增,画面不动/液晶字符输入的位置voidGotoXY(ucharx,uchary)32if(y=0)LCD_Write(LCD_COMMAND,0 x80|x);if(y=1)LCD_Write(LCD_COMMAND,0 x80|(x-0 x40);/将字符输出到液晶显示voidPrint(uchar*str)while(*str!=0)LCD_Write(LCD_DATA,

45、*str);str+;voidzhuanhuan(floata)/浮点数转换成字符串函数memset(str,0,sizeof(str);sprintf(str,%f,a);/*voidwelcome()LCD_Initial();GotoXY(0,0);Print(Welcome!);GotoXY(0,1);Print(CodeofSHT11);delay(200);*/*-;模块名称:delay_n10us();功能:延时函数,延时约n个10us较精确的延时函数,_nop_()延时1us12M晶振;-*/voiddelay_n10us(uintn)/延时n个10us12M晶振uinti;f

46、or(i=n;i0;i-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();33/第一部分LCD1602设置END/第二部分SHT11设置STARTsbitSCK=P10;/定义通讯时钟端口sbitDATA=P11;/定义通讯数据端口typedefunionuinti;/定义了两个共用体floatf;value;enumTEMP,HUMI;/TEMP=0,HUMI=1#definenoACK0/用于判断是否结束通讯#defineACK1/结束数据传输/adrcommandr/w#defineSTATUS_REG_W0 x06/00000110#de

47、fineSTATUS_REG_R0 x07/00000111#defineMEASURE_TEMP0 x03/00000011#defineMEASURE_HUMI0 x05/00000101#defineRESET0 x1e/00011110/*定义函数*/voids_transstart();/启动传输函数voids_connectionreset();/连接复位函数chars_write_byte(ucharvalue);/SHT11写函数chars_read_byte(ucharack);/SHT11读函数chars_measure(uchar*p_value,uchar*p_chec

48、ksum,ucharmode);/测量温湿度函数voidcalc_sht11(float*p_humidity,float*p_temperature);/温湿度补偿/*-;模块名称:s_transstart();功能:启动传输函数;-*/voids_transstart()/generatesatransmissionstart/_/DATA:|_|/_/SCK:_|_|_DATA=1;SCK=0;/Initialstate_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;34_nop_();_nop_();_nop_();SCK=1;_nop_();DA

49、TA=1;_nop_();SCK=0;/*-;模块名称:s_connectionreset();功能:连接复位函数;-*/voids_connectionreset()/communicationreset:DATA-line=1andatleast9SCKcyclesfollowedbytransstart/_/DATA:|_|/_/SCK:_|_|_|_|_|_|_|_|_|_|_|_uchari;DATA=1;SCK=0;/Initialstatefor(i=0;i0;i/=2)/shiftbitformaskingif(i&value)DATA=1;/maskingvaluewithi

50、,writetoSENSI-BUSelseDATA=0;35SCK=1;/clkforSENSI-BUS_nop_();_nop_();_nop_();/pulswithapprox.3usSCK=0;DATA=1;/releaseDATA-lineSCK=1;/clk#9forackerror=DATA;/checkack(DATAwillbepulleddownbySHT11),DATA在第9个上升沿将被SHT11自动下拉为低电平。_nop_();_nop_();_nop_();SCK=0;DATA=1;/releaseDATA-linereturnerror;/error=1incase

51、ofnoacknowledge/返回:0成功,1失败/*-;模块名称:s_read_byte();功能:SHT11读函数;-*/chars_read_byte(ucharack)/readsabyteformtheSensibusandgivesanacknowledgeincaseofack=1uchari,val=0;DATA=1;/releaseDATA-linefor(i=0 x80;i0;i/=2)/shiftbitformaskingSCK=1;/clkforSENSI-BUSif(DATA)val=(val|i);/readbit_nop_();_nop_();_nop_();/

52、pulswithapprox.3usSCK=0;if(ack=1)DATA=0;/incaseofack=1pulldownDATA-LineelseDATA=1;/如果是校验(ack=0),读取完后结束通讯_nop_();_nop_();_nop_();/pulswithapprox.3usSCK=1;/clk#9forack_nop_();_nop_();_nop_();/pulswithapprox.3usSCK=0;_nop_();_nop_();_nop_();/pulswithapprox.3usDATA=1;/releaseDATA-linereturnval;/*-36;模块名

53、称:s_measure();功能:测量温湿度函数;-*/chars_measure(uchar*p_value,uchar*p_checksum,ucharmode)/makesameasurement(humidity/temperature)withchecksumunsignederror=0;uinti;s_transstart();/transmissionstartswitch(mode)/sendcommandtosensorcaseTEMP:error+=s_write_byte(MEASURE_TEMP);break;caseHUMI:error+=s_write_byte(MEASURE_HUMI);break;default:break;for(i=0;i100)rh_true=100;/cutifthevalueisoutsideofif(rh_true0.1)rh_true=0.1;*p_temperature=t_C;*p_humidity=rh_true;voidkey()if(set=0)/设置键delay(10);if(set=0)flag+;if(flag=5)flag=0;while(!set);if(add=0)dela

温馨提示

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

评论

0/150

提交评论