基于AT89C51温湿度的设计.docx

上传人:b****6 文档编号:5601130 上传时间:2022-12-28 格式:DOCX 页数:39 大小:875.01KB
下载 相关 举报
基于AT89C51温湿度的设计.docx_第1页
第1页 / 共39页
基于AT89C51温湿度的设计.docx_第2页
第2页 / 共39页
基于AT89C51温湿度的设计.docx_第3页
第3页 / 共39页
基于AT89C51温湿度的设计.docx_第4页
第4页 / 共39页
基于AT89C51温湿度的设计.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

基于AT89C51温湿度的设计.docx

《基于AT89C51温湿度的设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51温湿度的设计.docx(39页珍藏版)》请在冰豆网上搜索。

基于AT89C51温湿度的设计.docx

基于AT89C51温湿度的设计

摘要

温湿度监控这一的领域发展的很快。

由于单片机控制的测温测湿系统具有体积小、功能强、集成度高、可靠性高、抗干扰能力等优于一般CPU的优点,所以越来越多的应用到温室控制。

本文设计了一种基于单片机的温湿度监控系统进行测量,实现温室内温湿度的精确监测。

本系统采用多个数字温湿度传感器ds18b20来测量室内的温湿度,简化了系统硬件设计,提高了测量精度。

基于单片机AT89C51的电路,结构简洁,大大节省了I/O口资源,并且具有现场独立显示的功能。

该系统性能可靠,结构简单,能实现对温室内温湿度的监测。

温室度一般应用于许多场合:

食品、电子生产车间、药房、冰箱、冷库、库房、机房、实验室、工业暖通、图书馆、档案室、博物馆、孵房、温室大棚、烟草、粮库、医院等其他需要环境监测领域。

如:

温室温湿度监控、大棚温湿度监控、烟温湿度监控、医院温湿度监控、粮库温湿度监测、粮站温湿度监测。

Abstract

Temperatureandhumiditymonitoringthedevelopmentofthisareasoon.TemperatureControlledbymeasuringthewetsystemissmall,powerful,highintegration,highreliability,anti-jammingabilitythanthegeneraladvantageofCPU,somoreandmoreapplicationstothegreenhousecontrol.Thispaperdesignedamicrocontroller-basedmonitoringsystemtomeasuretemperatureandhumiditytoachievetheprecisetemperatureandhumidityinsidethegreenhousetomonitor.Thesystemusesmultipledigitaltemperatureandhumiditysensorstomeasureds18b20indoortemperatureandhumidity,simplifysystemhardwaredesign,toimprovethemeasurementaccuracy.AT89C51microcontroller-basedcircuitstructureissimple,savingtheI/Oportresources,andhaveon-siteindependentdisplayfunction.Thesystemisreliable,simplestructure,toachievethegreenhousetemperatureandhumiditymonitoring.Generallyusedinmanyoccasionsgreenhousedegree:

food,electronicsworkshop,apharmacy,refrigerator,coldstorage,warehouse,computerroom,laboratory,industrialHVAC,libraries,archives,museums,incubationroom,greenhouse,tobacco,grainstorage,hospitalsandotherneedsofenvironmentalmonitoring.Suchas:

Temperatureandhumiditycontrol,greenhousetemperatureandhumiditycontrols,smoketemperatureandhumiditymonitoring,hospitalmonitoringoftemperatureandhumidity,graintemperatureandhumiditymonitoring,granariestemperatureandhumiditymonitoring.

 

第一章绪论

1.1选题背景

防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。

它直接影响到储备物资的使用寿命和工作可靠性。

为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。

但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。

这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。

因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。

1.2设计基本要求

1.监测温度湿度

2.显示温度湿度

3.温度范围-55到125度

4.湿度范围大于0小于1

DS18B20测温范围-55~+125度,本文设计的湿度最高显示99度。

湿度用的是脉冲发生器替代hs1101,因为我们用的仿真软件没用hs1101这个硬件,所以用脉冲发生器替代。

监测湿度是0到100%,总的来说一般湿度很少会出现0或100%的情况。

1.3硬件

设计需要的元器件LCD1602液晶显示器,at89c51处理器,ds18b20温度监测器,hs1101替代品脉冲发生器,效果和湿度监测的设计是差不多的。

 

第二章总体方案

2.1温度传感器的选择

方案一:

采用热电阻温度传感器。

热电阻是利用导体的电阻随温度变化的特性制成的测温元件。

现应用较多的有铂、铜、镍等热电阻。

其主要的特点为精度高、测量范围大、便于远距离测量。

铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。

缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。

按IEC标准测温范围-200~650℃,XX电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±(0.15℃+0.002|t|),B级为±(0.3℃+0.005|t|)。

铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。

在工业中用于-50~180℃测温。

方案二:

采用AD590,它的测温范围在-55℃~+150℃之间,而且精度高。

M档在测温范围内非线形误差为±0.3℃。

AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。

使用可靠。

它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。

作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。

AD590的测量信号可远传百余米。

方案三:

采用ds18b20温度监测器,温度显示范围是-55到125度。

DS18B20

图2-1DS18B20

数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。

主要根据应用场合的不同而改变其外观。

封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。

耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

技术性能描述:

1.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

2.测温范围-55℃~+125℃,固有测温分辨率0.5℃。

3.支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。

4.工作电源:

3~5V/DC  5.在使用中不需要任何外围元件。

6.测量结果以9~12位数字量方式串行传送。

7.不锈钢保护管直径Φ6。

8.适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温。

9.标准安装螺纹M10X1,M12X1.5,G1/2”任选。

10.PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。

综合比较方案一与方案二和方案三,方案一和方案二价格都比较贵,方案三先对而言便宜点,并且方案三的性能指标也适合设计系统的要求,所以方案三更为适合于本设计系统对于温度传感器的选择。

2.2湿度传感器的选择

测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。

电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。

方案一:

采用HOS-201湿敏传感器。

HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,工作温度范围为0~50℃,阻抗在75%RH(25℃)时为1MΩ。

这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。

然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。

方案二:

采用HS1100/HS1101湿度传感器。

HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。

不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。

相对湿度在1%---100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04pF/℃。

可见精度是较高的。

综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有局限性。

而且还不具备在本设计系统中对温度-55~125℃的要求,因此,我们选择方案二来作为本设计的湿度传感器。

2.3CPU的选择

方案一:

采用CPLD作为主控制器控制外围电路进行,时钟控制、温度测量、湿度测量、数据处理。

此方案逻辑电路复杂,功耗高,CPLD主控制器对数据处理灵活性较低。

而且采用CPLD价格较贵。

方案二:

基于51系列单片机来实现。

目前单片机技术比较成熟,功能也比较强大,此方案的系统设计结构图如图2-1所示。

根据系统设计的要求和设计思路,确定该系统的系统设计结构图。

硬件电路主要由MCU微处理控制器单元、复位电路、晶振电路、温度测量模块、湿度测量模块、LCD液晶模块和电源构成。

此系统硬件简洁,将复杂的硬件功能用软件实现,控制多个硬件电路的执行因此系统控制灵活,能很好地满足本题的基本要求和扩展要求。

而且编程灵活、调试方便。

从这两种电路设计方案的比较而言,利用单片微型计算机及外围电路编写软件程序来设计温湿度的测量显示,简单灵活,而且可扩展各种功能,能完全达到设计要求,体现了现代计算机工具的方便、简捷、准确性。

故采用第二种方案。

 

2.4显示方案

方案一:

元器件LCD1602液晶显示器。

选用LCD1602液晶显示器可以清楚的

图2-2LCD1602液晶

将温度和湿度显示出来,效果比较好。

第一行显示温度,第二行显示湿度。

LCD1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。

它能显示2行16列的数字或英文信息,另外连接它的线很少,只要8根数据线和3根控制线,这样给使用带来很大的方便,节约单片机I/O口。

 

方案二:

数码管显示。

数码管亮度高、体积小、重量轻,但其显示信息简单、有限,并且需要较高的驱动能力,功耗高,人机交互功能差,较难控制。

综合比较方案一和方案二,方案一比较适合我设计的系统的要求,并且价格也很合理,显示效果比较好。

第三章硬件设计方案

3.1总方案图

图3-1总方案图

设计需要的元器件LCD1602液晶显示器,at89c51处理器,ds18b20温度监测器,hs1101替代品脉冲发生器,效果和湿度监测的设计是差不多的。

 

3.2主控制芯片AT89C51

管脚说明:

VCC:

供电电压。

  

GND:

接地。

  

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

  P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

  

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

3.3DS18B20

图3-2DS18B20

DS18B20数字温度计采用了1-wire,即单总线器件,具有线路简单,体积小的特点。

DS18B20采用的是外部独立电源供电且只接一只DS18B20。

DS18B20直接与单片机P1.0口连接,将采集过来的数字信号直接处理。

DS18B20是这样测温的:

用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。

计数器预置到对应于-55度的一个值。

如果计数器在门周期结束前到达0,测温度寄存器是值增加,表明所测温度大于-55度。

同时,计数器被复位到一个值,这个值由斜坡累加器电路确定,斜坡式累加器用来补偿感温振荡器的抛物线特性。

然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。

图3-3存储器

DS18B20存储器结构如上图,存储器由一个暂存RAM和一个存储高低温度报警触发值TH和TL的非易失性电可檫除EERAM组成。

当在单线总线上通讯时,暂存器帮助确保数据的完整性。

数据先被写入暂存器,这里的数据可被读回。

数据经过校验后,用一个拷贝存储器命令会把数据传到非易性EERAM中。

这一过程确保更改存储器时数据的完整性。

由于DS18B20是单总线器件,并且只有三个引脚,VCC,GND和I/O总线引脚,所以在硬件连接上非常简单,按照典型电路VCC接电源,GND接地,在本项目中DS18B20的I/O总线对应的控制器引脚为单片机的P1.0,所以DS18B20总线I/O连接单片机的P1.0。

DS18B20的单总线决定了它对读/写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完善性。

该协议定义了几种信号的时序:

初始化时序,读时序,写时序。

所有时序都是将主机作为主设备,单

总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需要启动读时序完成数据接收。

数据和命令的传输都是低位在先。

3.4LCD1602显示器

LCD1602液晶是一个非常方便使用的显示设备,以其微功耗、小体积、使用灵活等诸多优点在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。

液晶

有字符型和点阵型之分,一般点阵型液晶显示在这个项目里面使用的LCD1602液晶,可以同时显示16x02即32个字符。

该液晶屏共有16个引脚,其中RB0~RB7是数据/命令传输口,15、16脚BLK和BLA是背光电源和地,1、2脚分别是VSS和VCC,液晶显示的地和电源,3脚VO是液晶的对比度调节引脚,所以接入变阻器R2后可以实现对液晶显示对比度的调节,4、5、6脚分别是RS、RW、EA端口,也是控制端口,所有的对液晶的读写数据,写命令等操作都需要这三个端口来控制。

数据、命令选择端口RS与单片机的P0.5脚连接,读、写选择端口与单片机的P0.6脚连接,使能端EA与单片机的P0.7脚连接,数据口RB0~RB7是与单片机的P2.0~P2.7口相连接,数据并行传输。

对该液晶是操作是相对简单的,它是一个静态显示设备,不需要为了维持它的显示不断的扫描,只需再更改显示内容时对它送数据。

图3-4LCD1602显示器

 

图3-51602接口信号说明

3.5hs1101湿度

图3-6hs1101电路

Hs1101是一个外观像三极管的元器件,上图该电路是典型的非稳态设计为555。

该HS1100/HS1101,作为变量使用。

电容器,连接到触发和THRES引脚。

引脚7用作短路引脚电阻R7。

该HS1100/HS1101等效电容充电,通过R6和R7的阈值电压(约0.67Vcc)和只通过R6放电触发水平(约0.33Vcc)是缩短了7针,因为R7的地面。

由于充电和放电运行的传感器,通过不同的电阻,R6和R7的,占空比取决于提供一个输出的占空比接近50%,R7的应该是非常低的比R6的但从来没有在一个最低值。

电阻R3是短路保护。

555必须是CMOS版本R9的不平衡内部温度补偿计划555为了引进一个温度系数相匹配的HS1100/HS1101温度系数。

在所有情况下,R9应该是1%电阻与温度系数为100ppm一个像所有最高其他R-C的计时器电阻。

因为在电路中设计没用到hs1101上面那个电路所以不在介绍的详细,我用替代品脉冲发生器来设计,效果是一样的。

图3-7湿度频率表

由上表和图曲线易得湿度和频率很好地满足线性关系,所以通过上表或图3-6可以得到湿度和频率的数学关系近似满足如下方程:

RH=588-0.8*Frequency(6330<Frequency≤7350)

RH=586-0.8*Frequency(6075≤Frequency≤6330)

该电路是典型的非稳态设计为555。

该HS1101,作为变量使用电容器,连接

图3-8湿度检测硬件电路

到触发和THRES引脚。

引脚7用作短路引脚电阻R7。

该HS1101等效电容充电,通过R6和R7的阈值电压(约0.67Vcc)和只通过R6放电触发水平(约0.33Vcc)是缩短了7针,因为R7的地面。

由于充电和放电运行的传感器,通过不同的电阻,R6和R7的,占空比取决于:

Thigh=C@%RH*(R6+R7)*ln2Tlow=C@%RH*R2*ln2

F=1/(Thigh+Tlow)=1/(C@%RH*(R7+2*R6)*ln2)

输出循环周期=Thigh*F=R6/(R7+2*R6)为了使循环时间降低50%,则与R6相比,R7应该非常小,但是不要低于最小值。

电阻R8是为了短路保护,555必须为CMOS。

原理:

该电路构成了湿度—电容—频率的转换,由该电路产生的对环境湿度变化而变化的频率经单片机的外部计数器1的引脚P3.5输入,由软件根据上述的计算公式计算得出湿度值。

第四章软件设计方案

软件采用模块化设计,在程序中以一个主函数,多个子函数的方式编写,这样有利程序的可读、可移植等。

函数共包含:

1、主函数;

2、LCD1602的送显示数据函数;

3、温度数据读取函数;

4、湿度数据读取函数。

4.1主函数

图4-1主函数流程图

主函数是需要构成一个无限循环的,所以在送完显示后需要再次调用温湿度检测函数来获取新的数据以及构成一个循环,但是由于实际使用中环境的温湿度变化没有那么快,所以每次读完送显示后延时一会儿再读取。

主函数的初始化中包括了两个初始化,在湿度检测函数中所需要用到的定时器方式设置会在主函数开始初始化,并且液晶显示函数的初始化也在主函数的初始化部分。

 

4.2LCD1602的送显示数据函数

我设计的监测温湿度使用1602的的一般流程基本是:

A:

初始化

初始化里面一般有设置显示行、清屏、设置光标的开关、光标的闪烁、设置起始地址、设定显示屏或光标移动方向指令。

B:

写命令、写数据

写命令是按照那个时序图写的,时序图给低就写低,延时就延时,或写高就写高。

基本操作时序:

读状态输入:

RS=L,RW=H,E=H输出:

DB0~DB7=状态字

写指令输入:

RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码输出:

读数据输入:

RS=H,RW=H,E=H输出:

DB0~DB7=数据

写数据输入:

RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据输出:

C:

送显示

图4-2初始化

图4-3写命令

图4-4写数据

voidinit()//初始化

{

en=0;

write_com(0x38);//设置为8位并行,显示2行,5*7点阵显示

write_com(0x0c);//设置显示开无光标光标不闪烁

write_com(0x01);//清屏指令

write_com(0x80);

}

voidwrite_com(ucharcom)//写命令

{

rs=0;

rw=0;

P2=com;

delay(5);

en=1;

en=0;

}

4.3温度数据读取函数

DS18B20的测温原理:

用一个高度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。

计数器预置到对应于-55度的一个值。

如果计数器在门周期结束前到达0,测温度寄存器是值增加,表明所测温度大于-55度。

同时,计数器被复位到一个值,这个值由斜坡累加器电路确定,斜坡式累加器用来补偿感温振荡器的抛物线特性。

然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。

DS18B20的复位:

由上位机拉低总线480-960us的时间然后拉高总线,等待15-60us的时间,如果在总线上有DS18B20这个器件,并且将总线拉低60-240us

图4-5DS18B20的复位时序

的话,就证明该器件复位成功,已经准备好发送或接受数据了。

DS18B20的写数据时序:

DS18B20的写时序分为写0时序和写1时序两个过程。

图4-6DS18B20的写时序

DS18B20写0时序和写1时序的要求不同,当要写0时序是,单总线要被拉低至少60us

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1