简易温湿度计的设计.doc
简易温、湿度计设计摘 要随着现代信息技术的飞速发展和传统工业改造的逐步实现,温湿度自动检测和显示系统在很多领域得到广泛的应用。人们在温湿度检测的准确、便捷、快速等方面有着越来越高的要求,而传统的温湿度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。本文设计的是简易温、湿度计,该器件可直接向单片机传输数字信号,便于单片机处理及控制。此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。设计步骤分为四步:首先,了解课题的基本任务和现实意义;其次,提出利用单片机AT89S52和温度传感器DS18B20、湿度传感器HS1101组成检测温湿度的系统方案;然后,从测温、湿电路、主控电路、报警电路等几个方面来分析说明电路原理;最后,给出系统工作所用的软件设计。关键词:温湿度,传感器,单片机,电路Design of Simple Hygrometer and thermometerAbstractWith the rapid development of modern information technology and traditional industrial transformation gradually realized, temperature and humidity automatic detection and display system is widely used in many fields. People have more and more high demand in the aspect of convenient and fast temperature and humidity detection. While the traditional temperature and humidity sensor can't meet the demands of people, the new type of temperature sensor is gradually replacing the old products. This paper has designed a simple temperature and humidity meter. This device can transmit digital signal directly to the microprocessor, facilitating microprocessor processing and controlling. The advantages of this design mainly embodied in the strong maneuverability, basic structure simple, large expansion space, etc. The design includes four steps:First,we must understand both the basic assignments and practical significance of the project;Second, the design uses the microprocessorAT89S52 and temperature sensor DS18B20, humidity sensors HS1101 formed the temperature and humidity automatic measurement and control system. Third, this paper analyses the principle of circuit with demonstrating the humid circuit design, the main control circuit, alarm circuit, etc.Finally, the paper gives software design which the system needed.Keywords: temperature and humidity, sensors, microprocessor, circuit目 录1 绪论11.1课题发展背景11.2国内外研究及发展状况11.3课题研究方法21.4论文构成及研究内容32 系统方案设计42.1 系统设计思路42.2 系统设计框图42.3 系统方案设计与论证53 系统电路设计63.1单片机主控模块设计63.1.1 AT89S52工作模式及注意事项63.1.2 单片机主控电路设计93.2 温度传感器模块设计103.2.1 DS18B20工作原理103.2.2 DS18B20测温电路设计123.3 湿度传感器模块设计123.4报警模块设计133.5 1602 液晶显示模块设计143.6 系统总体电路图设计154 软件设计174.1主程序174.2测温度子程序流程图184.3测湿度子程序流程图194.4液晶显示程序流程图19结 论21致 谢22参考文献23附 录241 绪论1.1课题发展背景温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的参数,例如机械、电子、石油、化工等各类工业中广泛要求对温度、湿度进行检测与控制。随着人们生活水平的提高,人们对自己的生存环境越来越关注,而空气中温湿度的变化对人体的舒适度和情绪有着直接的影响,所以对温度、湿度的检测及控制就十分有必要了。科学技术的发展使得利用单片机控制成为人们追求的目标之一,因此由单片机构成的温湿度检测、温湿度控制系统广泛应用于很多领域,它既可以测量电信号,又可以测量温、湿度等非电信号。随着生产的发展,一个低成本和具有较高精度的温度湿度测量仪在许多领域会代替人工操作,自动控制各种仪器调整环境温度湿度。目前市场上普遍存在的温湿度检测仪器大都信息传递不及时,精度达不到要求,不利于控制者根据温度、湿度变化及时做出决定。本课题设计了一种实时性高、精度高,能够综合处理温、湿度信息的简易设计,测量速度和精度都可以达到要求。1.2国内外研究及发展状况温度、湿度是工业农业生产不可缺少的考虑因素,但传统的方法是用温度表、毛发湿度表、双金属式测量计以及湿度试纸等测试器材,通过人工检测,对不符合温度和湿度要求的库房进行通风、降温和去湿等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,又具有较大的不确定性。而含有微型计算机或微处理器的测量仪器,由于它拥有对数据存储,运算逻辑判断及自动化的功能,有着智能功能,很快得到人们的青睐和关注。模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、LM135、TMP17等。智能温度传感器(也称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)以及接口电路。在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1。如今国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0.50.0625。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,可以输出13位二进制数据,其分辨力高达0.03125,测温精度为±0.2。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。进入21世纪后,智能温度传感器正朝着多功能、高精度、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等方向迅速发展1。湿度传感器产品及湿度测量是20世纪90年代兴起的行业,湿度传感器主要分为电阻式和电容式两种,产品的基本形式都是在基片上涂覆感湿材料以形成感湿膜,空气中的水蒸汽吸附在感湿材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。近年来,国内外在湿度传感器研发领域取得了较大的发展,湿敏传感器正从简单的湿敏元件向着智能化、集成化、多参数检测的方向迅速发展。国外生产湿敏电容的主厂家有Humirel公司、Philips公司、Siemens公司等,以Humirel公司生产的SH1100型湿敏电容为例,其测量范围是(1%99%)RH,在55%RH时的电容量为180pF(典型值),温度系数为0.04pF/,湿度滞后量为±1.5%,响应时间为5s。当相对湿度从0变化到100%时,电容量的变化范围是163pF202pF2。1.3课题研究方法在老师指导下,对温湿度计的原理做深入理解,然后根据原理设计出原理框图, 在原理框图的基础上,对各部分电路进行设计,最后把各部分电路组合起来,得到了总体电路的设计,并通过软件设计,程序编程完成设计工作。 1.4论文构成及研究内容本设计以AT89S52单片机为核心来对多点温湿度进行实时巡检。各检测单元(从机)能独立完成各自功能,同时能根据主控机的指令对温湿度进行时时采集。并将采集来的信息通过液晶屏显示清晰的呈现给用户,如果采集的信息超出了预设范围,蜂鸣器将给出报警示意用户,以便做出及时决定。本文的主要研究内容是设计出符合要求的温湿度计控制电路,并撰写出毕业设计说明书。 2 系统方案设计2.1 系统设计思路选取单片机作为系统的主控部件,根据主控机的指令对温湿度进行实时采集并通过液晶显示部分及时将测量结果显示出来。因此,如何准确获得被测信号以及对被控对象状态的监察是单片机的核心任务。传感器是实现测量与控制的首要环节,对于温湿度计,系统应具有两大传感器模块:即温度传感器模块和湿度传感器模块。 此外,在微型计算机控制系统中,应该设计液晶显示模块,将温度和湿度数据显示出来。为了安全生产,对于一些重要的参数或系统部位,应当设有紧急状态报警模块,以便提醒操作人员注意或采取紧急措施。2.2 系统设计框图本次设计的温、湿度计原理框图如图2.1所示。温度传感器和湿度传感器采集所要测量的温度和湿度数据,并把数据传给单片机.。单片机通过对数据的分析处理,通过液晶模块显示出来,由此形成了以单片机系统为核心来对温度、湿度进行实时控制和巡检。主控机负责控制指令的发送,并控制各个检测单元进行温湿度采集,收集测量数据,同时对测量结果进行整理和显示。键盘模块温度传感器模块湿度传感器模块单片机液晶模块报警模块图2.1 原理框图2.3 系统方案设计与论证(1)单片机控制模块的选择与论证方案1:采用XC9000系列的FPGA。该类器件的优点是具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,且芯片价格较昂贵。方案2:采用单片机作为控制核心,单片机数学运算功能较强,并且在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用,且单片机技术发展较为成熟,价格便宜3。根据以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案2。(2)温度湿度检测模块的选择与论证方案1:选用DHT11 作为温湿度检测模块核心器件。DHT11 是一款数字输出的复合传感器,它包含一个电阻式感湿元件和NTC 式温度检测元件,可测量2090%RH湿度,误差在±5%RH;在温度范围为050时,测量温度误差为±2 。方案2:选用DS18B20 温度传感器和HS1101 湿度传感器。DS18B20是一线式数字温度传感器,具有独特的单线式接口,测量范围在-55125,-1085,误差为-/+0.5。最高精度可达0.0625。HS1101 是电容式湿度传感器,可测量的相对湿度范围在0%100%RH,误差为-/+2%RH4。综上所述,虽然方案1具有综合作用,但方案2的测试范围和精度都优于方案1,故本设计中采用方案2。(3)显示模块的选择与论证方案1:采用12864 液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864 液晶模块价格昂贵,接线复杂。方案2:采用1602 液晶模块显示所测数据,1602 液晶接线简单方便,可以满足显示需要,同时价格远低于12864 液晶。因此,本方案为首选方案。综上所述,显示模块选择方案2。3 系统电路设计3.1单片机主控模块设计本次设计所选择的单片机是由美国Atmel 公司生产的AT89S52 单片机,属于MCS-51 系列。AT89S52 是一种低功耗、高性能的CMOS8 位微控制器,具有8K 的系统可编程Flash 存储器,所采用的工艺是Atmel 公司的高密度非易失存储器技术;片上Flash 允许程序存储器在系统可编程,亦适于常规编程器;拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;性能可靠、价格低廉、抗干扰能力强,因此被广泛应用于工业控制和嵌入式系统中5。其内部结构如图3.1所示。图3.1 AT89S52片机的内部结构框图3.1.1 AT89S52工作模式及注意事项AT89S52作为测试系统设计的核心器件该器件是MCS-51系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。片内含8K字节的可反复擦写的只读程序存储器(PEROM)和256字节的随机存取数据存储器(RAM),器件兼容标准的MCS-51指令系统。片内置通用8位中央处理器(CPU)和Flash存储单元。结合了HMOS的高速和高密度技术及CMOS的低功耗特征6。其具有如下性质:(1)与MCS-51 产品指令系统完全兼容;(2)8K字节可重擦写Flash闪烁存储器;(3)寿命:1000写/擦循环;(4)数据保留时间:10年;(5)全静态工作:0Hz-24Hz;(6)三级程序存储器锁定;(7)128*8位内部RAM;(8)32可编程I/O线;(9)三个16位定时器/计数器;(10)8个中断源;(11)可编程串行通道;(12)低功耗的闲置和掉电模式;(13)片内振荡器和时钟电路。AT89S52单片机提供以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。由于此设计需要编写程序,需要将程序写入单片机中,因此单片机必须具有足够多的存储空间,其具有8K字节的Flash完全满足要求。32位的I/O 口线能够使得单片机与温度显示器、温度传感器、键盘、报警电路、按键电路等等变得可能。16位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。最重要的是,能够在掉电状态下保存RAM内的数据。同时,与同类51单片机相比,AT89S52具有更强的可操作性。因此,对于本设计来说,选择AT89S52是最有利的。AT89S52单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON1)和IDL(PCON0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,点偏激进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。在空闲工作状态下,CPU保持睡眠状态而所有的片内的外设都保持激活状态,这种方式由软件产生,此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧随RST1(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式的那条指令后面的一条指令。其二是通过硬件复位可以将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的吓一跳指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。为了避免可能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部存储器的写入指令7。在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但并没有因此改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并稳定工作。空闲和掉电模式外部引脚状态如表3.1所示。表3.1 空闲和掉电模式外部引脚状态模式程序存储器ALEPSENP0P1P2P3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据AT89S52单片机具有一些极限参数:(1)工作温度:-55°C至+125°C;(2)储藏温度:-65°C至+150°C;(3)任一个引脚对地电压:-1.0V至+7.0V;(4)最高工作电压:6.6V;(5)直流输出电流:15.0mA8。3.1.2 单片机主控电路设计单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性,同时保证了整个系统的灵活性。单片机主控模块包括了晶振电路和复位电路,同时主控模块又接入了温度模块信号(A10)、湿度模块信号(P34)、键盘模块信号(A11、A12)、报警模块信号(A8)、控制液晶显示信号(P30、P31)以及液晶显示数据(J30J37),使单片机可以接收温、湿度数据和控制液晶显示。单片机主控电路原理图如图3.2所示。图3.2 单片机主控电路(1)时钟电路XTAL1(19脚)和XTAL2(18脚)是外接时钟引脚。当采用片内时钟振荡方式时,需要在这两个脚外接石英晶振和振荡电容,石英晶振的频率在0-24MHz之间,典型值为11.0592MHz或12MHz,振荡电容的值一般取10pf-30pF,典型值为30pF。这里石英晶振频率采用11.0592MHz,振荡电容采用30pF。(2)复位电路单片机AT89S52的RST(9脚)是复位引脚。当输入连续两个机器周期以上的高电平时为有效,用来完成单片机的复位初始化操作。上电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作;当按下按钮时,RST端为高电平,由于按键按下释放时间在数毫秒,所以能够使单片机复位9。EA(31脚)是控制单片机读取内部程序储存器和外部程序储存器的。当EA接高电平时,单片机读取内部程序储存器。当EA接低电平时,单片机直接读取外部ROM。由于89S52有内部程序存储器,所以该引脚接高电平。当单片机进行键盘扫描,根据判断键盘按键情况,显示温度或湿度。如果K2 键按下就调用温度检测程序,测出温度并送至液晶显示;如果K3 键按下,就调用湿度显示程序,经过计算给出湿度值后送往液晶显示。此外,在设计1602LCD与单片机的接口时,我们将1602LCD 的D0D7数据口与单片机P0口相连,但必须注意单片机AT89S52的P0口不带上拉电阻,所以必须附加10K的上拉电阻。3.2 温度传感器模块设计3.2.1 DS18B20工作原理DS18B20温度传感器支持“单总线”接口,测量温度范围为 -55°C+125°C,在-10+85°C范围内,精度为±0.5°C。现场温度以“单总线”的数字方式传输,大大提高了系统的抗干扰性;DS18B20也适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等;支持的电压范围为3V5.5V,使得系统设计更灵活、方便,而且新一代产品更便宜,体积更小。DS18B20可以程序设定912位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然能够保存10。DS18B20 的温度检测与数字数据输出全部集成在一个芯片之上,从而抗干扰力更强。它的一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20的存储器资源分别是: (1)ROM 只读存储器,用于存放DS18B20ID 编码,其前8 位是单线系列编码(DS18B20 的编码是19H),后面48 位是芯片唯一的序列号,最后8 位是以上56 的位的CRC 码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共64 位ROM。(2)RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共9个字节RAM,每个字节为8 位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM 的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC 码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据。DS18B20的测温原理如图3.3所示,低温度系数的晶振振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送至计数器1。而高温度系数晶振将随温度变化其振荡率明显改变,所产生的信号作为计数器2的输入。计数器1和温度寄存器被预置在-55所对应的一个基数值,计数器1对低温度系数晶振所产生的脉冲信号进行减法计数。当计数器1的预置值减少到0时,温度寄存器的值将加1,并且计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振所产生的脉冲进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,它的输出用于修正计数器1的预置值11。低温度系数晶振高温度系数晶振预置斜率累加器计数器 1=0计数器 2=0比较预置温度寄存器图3.3 DS18B20的测温原理3.2.2 DS18B20测温电路设计选用三脚TO-92直插式封装的DS18B20温度传感器芯片,它有三个脚,分别为电源正极Vcc、信号输入输出I/O和电源负极GND。在外部电源供电方式下,DS18B20工作电源由Vcc引脚接入,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是固定的12。在设计中,DS18B20的输出信号A10是以单总线的方式与单片机P2.2相连接的。如图3.4为DS18B20采用外部供电方式实现的测温电路。图3.4 DS18B20的测温电路外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。因此本设计采用外部供电方式,且本设计只用于测量环境温度,所以只显示0+85。3.3 湿度传感器模块设计HS1101 是电容式湿度传感器,由于电容不可直接测量,故选用555多谐振荡电路检测到频率,然后由单片机计算出相应的湿度值。HS1101的湿度测量电路如图3.5。图3.5 HS1101湿度测量电路由电路可知, HS1101 作为电容变量(设为C)接在555 芯片的2、5 脚之间,引脚7连接电阻R1,在555定时器中晶体管TD处于饱和导通时,为R1提供到地的通路。电容变量C通过R1、R2 充电到门限电压(约0.67V)之后,通过CR1TD地的放电回路进行放电。电路不停地进行充放电,进行工作循环,形成方波。 其周期计算如下: 多谐振荡器只有两个暂稳态。多谐振荡器的振荡周期为两个暂稳态的持续时间之和,。求得电容C的充电时间和放电时间各为 (1) (2)因此,振荡周期 (3)湿度传感器HS1101测量得到的数据信号经555振荡电路后输出方波,再将方波信号送至单片机AT89S52的T0计数器进行计数(P3.4),T0在1S内所计得的数值即为方波信号的频率值,根据555振荡电路中输出电压频率与湿度的关系如下式,我们可以得到相对湿度。其中,fout(55)是指在55%RH的典型湿度值时的电压输出频率值,在25下,该值为6660Hz13。3.4 报警模块设计在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把采集的数据或经过数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。本设计采用蜂鸣音报警电路。蜂鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过AT89S52的P2.0(图中标记为A8)经驱动器驱动蜂鸣音发声。图3.6是一个使用三极管驱动的蜂鸣音报警电路。图3.6 蜂鸣报警电路3.5 1602 液晶显示模块设计在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低,1602LCD 主要技术参数:显示容量:16×2个字符芯片工作电压:4.5-5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明:1602LCD 采用标准的14 脚(无背光)或16 脚(带背光)接口,第1 脚:VSS 为地电源。第2 脚:VDD 接5V 正电源。第3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,当RS 为高电平,R/W 为低电平时可以写入数据。第6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。第714 脚:D0D7 为8 位双向数据线。第15 脚:背光源正极。第16 脚:背光源负极14。显示器作为输出部件,可以将系统的运行结果、状态等信息直观地显示出来,为操作者提供系统的运行情况和程序的执行结果。1602液晶显示模块电路原理图如图3.7所示,由于我们只对液晶进行写液晶指令和数据,而不进行对液晶的读操作,所以R/W(5脚)应接低电平,即接地。图3.7 1602液晶显示模块电路原理图3.6 系统总体电路图设计将温湿电路、主控电路、报警电路等组合在一起,即构成系统的总原理图,如图3.8所示。单片机AT89S52和温度传感器DS18B20、湿度传感器HS1101组成的温湿度测量系统,其中,单片机AT89S52作为主控制器件,DS18B20、HS1101为测温湿传感器,通过1602LCD实现温湿度显示。图3.8 系统总电路原理图4 软件设计4.1主程序系统监控程序是系统的主程序,它是系统程序的框架,控制着单片机系统按预定操作方式运转。监控程序的主要作用是能及时的响应来自系统内部的各种服务请求,有效地管理系统自身软硬件及人机对话设备与系统中其它设备交换信息,并在系统一旦出现故障时,及时做出相应处理。如图4.1为主程序的流程图 。图4.1 主程序流程图系统通电后,单片机AT89S52进入监控状态,同时完成对各扩展端口的初始化工作。主程序进行键盘扫描,单片机根据判断键盘那个键按下,显示温度或湿度。如果K2 键按下就调用温度检测程序,单片机对DS18B20进行初始化,成功则读字节,再写入字节,读取温度数据送到1602LCD显示。如果K3 键按下,就调用湿度显示程序,开启定时中断T0、T1,T1 进行定时,T0对湿度电路给的频率计数,当定时满1S 时关闭T0,单片机对计的数进行运算,给出湿度值,送往液晶显示。如果检测到的温度或湿度超过报警阈值,就启动蜂鸣报警。4.2测温度子程序流程图准备测温时首先要将DS18B20的I/O设置为高电平,接着初始化DS18B20,初始化成功后,DS18B20接收单片机的命令,然后再次初始化DS18B20在成功后启动测温,然后将温度保存起来,返回。在测得温度后,DS18B20会将温度数据转换为十进制数的温度表示,然后再通过查表(在C语言中是一个数组)调用液晶1602显示在液晶上,数据处理类似于由二进制转换为十进制,再由十进制转换为ASCII码15。如图4.2所示。图4.2 测温度子程序流程图4.3测湿度子程序流程图如图4.3为测湿度子程序流程图。将HS1101置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,信号进入单片机AT89S52的T0引脚,T0工作在计数方式,T1工作在定时方式。在T1定时1秒的时间内,T0所计得的数值即为方波信号的频率值。求出方波的频率,根据前面555振荡电路中输出电压频率与湿度的关系式,进而得到相对湿度。图4.3 测湿度子程序流程图4.4液晶显示程序流程图液晶显示模块在进行写命令、写数据以及读状态等操作时,都要遵照一定的时序,只有严格的按照特定时序发送控制信号、使能信号和数据等才能正确地完成显示。如图4.4是液晶显示模块程序流程图。使用过程中首先对液晶显示模块进行初始化,设置其显示方式等,然后给出要写入数据的寄存器地址(即要显示的首地址),指定字符显示位置,最后发送要显示的数据到相应的数据寄存器即可。调用读、写操作的子程序,进入相应函数之后,首先判别忙标志,如果BF1,控制器正忙于内部操作,则等待直到控制器处于空闲状态时,再设置控制位进行相应的读(状态)、写(命令/数据)操作。图4.4 液晶显示程序流程图结 论经过理论分析,我设计的温湿度计电路符合课题的要求。该设计具有很好的可扩性能,比如,该设备的测量结果不仅能在本地显示,而且可以利用单片机的串行口和RS-485总线通信协议将采集的数据传送到主控机,以进行进一步的存档、处理。主控机负责控制指令的发送,以控制各从机的温湿度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。主控机与从机之间也能够相互联系、相互协调,从而达到系统整体统一、和谐的效果。但该系统在设计过程中仍有一些需要进一步改进和提高的地方,特别是在节省功耗,提高稳定度等方面需要进一步加强与改进。致 谢本次毕业设计用了将近两个月的时间,在董雪峰老师带领下终于完成这个设计,过程是辛苦的,但是收获却是很大的。回顾起此次毕业设计,至今我仍感慨颇多。的确,从理论到实践,在将近两个月的日子里学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次毕业设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在本文完成过程中,非常感谢董老师,他学识渊博,视野广阔,平易近人,正是他在百忙中多次审阅本文,对细节进行修改,为本文提出很多宝贵的意见,才使本文得以完成。同时感谢在生活学习上相互帮助的同学们。参考文献1 冯显英;葛荣雨;基于数字温湿度传感器SHT11的温湿度测控系统J;自动化仪表;2006,01:34-39. 2 史军勇, 冀捐灶,杨宝强;基于AT89C2051的温湿度控制仪J;电子技术;2004,01:45-51. 3 王勇,叶敦范.基于AT89S51 的便携式实时温度检测仪J;仪表技术与传感器,2006,02:67-72. 4 陈慕君,唐慧刚.基于AT89C51单片机控制的数字温度计设计J 科技信息 2006,04:49-53. 5 贾华峰;张永玉;档案库房温湿度监测报警系统的研究与实现J;科技信息;2010,09:78-81. 6 王雪文.传感器原理及应用M.北京: 高等教育出版社,2004.7 廖常初现场总线概述J.电工技术,1999,07: 56-59.8 沈德金,陈粤初.单片机接口电路与应用程序实例M.北京航天航空大学出版社.1990 :50-759贺安之.现代传感原理及应用 M.上海:东华大学出版社,1995. 10 吴显鼎.集成电子线路设计手册M.福建: 福建人民出版社,2006.11 阎石,数字电子技术基础(第三版)M.高等教育出版社,1989:3-5012 刘松. 单片机技术与应用 M.北京:机械工业出版社 , 2010.13Sakamoto,