毕业设计基于MCS51的数字式温湿度计设计.docx
《毕业设计基于MCS51的数字式温湿度计设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于MCS51的数字式温湿度计设计.docx(40页珍藏版)》请在冰点文库上搜索。
毕业设计基于MCS51的数字式温湿度计设计
昆明学院
2016届毕业论文(设计)
论文(设计)题目基于MCS51的数字式温湿度计设计
子课题题目
姓名
学号201
所属院系自动控制与机械工程学院
专业年级电气工程及其自动化2012级
指导教师
2012年5月
摘要
温度和湿度作为基本的环境参数,对于人们的日常生活、工农业生产、气象预报等都具有重要的意义,因此研究温湿度的测量方法和装置极其重要。
随着科技的不断进步,温度检测技术的要求也越来越高使,温度检测领域也迅速发展。
各种温度检测芯片也被广泛的使用,让温度检测变得更加便捷,检测精度也越来越高。
本文主要介绍了基于MCS51单片机的数字式温湿度计硬件电路和相关软件的设计,主要包括了温度检测、温度信息处理、温湿度的显示和RS-232串口通信等内容。
本设计采用温度传感器AD590进行温度数据的采样,通过调理电路对数据进行处理,用ADC0809将模拟信号转化为数字信号,以单片机AT89C51为控制器,通过LM016L显示环境温度和相对湿度。
并采用RS-232实现系统与计算机之间的串口通信。
关键词:
温度检测;AD590;AT89C51
Abstract
Temperatureandhumidityasthebasicparametersofenvironment,itisgreatsignificantforthepeople'sdailylife,industrialandagriculturalproduction,weatherforecastsandsoon,sothatthestudyofmeasuringmethodandapparatusforthetemperatureandhumidityisextremelyimportant.Withthedevelopmentoftechnology,therequirementoftemperaturemeasurementtechniqueshavebecomemoresophisticated,andtherealmoftemperaturetestisalsodevelopingrapidly.Avarietyoftemperaturedetectionchipsareusedwidely,sothatthetemperaturedetectionbecomesmoreconvenient,measurementaccuracyisalsoincreasing.
ThispaperintroducesbasedonthehardwareandsoftwaredesignoftheMCS51microcontrollerdigitalhygrometer,includingthetemperaturedetection,informationprocessingoftemperature,temperatureandhumiditydisplayandRS-232serialcommunicationandsoon.ThisdesignusesatemperaturesensorAD590temperaturetosamplingdataandtoprocessingdatabyconditioningcircuit.Then,usesADC0809toturnanalogsignalintoadigitalsignal,andtakestheAT89C51asmicrocontroller,throughtheLM016Ldisplayenvironmenttemperatureandrelativehumidity.Atthesametime,usesRS-232torealizeserialcommunicationsbetweensystemsandcomputers.
Keywords:
temperaturedetection;AD590;AD89C51
第一章绪论
1.1课题的研究背景及意义
温度、压力、流量、流速、电流、电压等参数在现代化工业生产的过程中都是常用的主要被控参数。
温度作为一个重要的理量,它与人们的生产生活息息相关。
人们的日常生活、工业生产、农业生产等许多过程中都需要对温度参数进行检测。
在现代化的工业生产过程中,温度是种常用的主要被控参数。
例如:
造纸行业、食品加工、化工生产、电力工程、机械制造和在冶金工业等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测。
因此对温度检测系统的研究具有及其重要的意义。
单片机具有应用灵活、功能强、体积小、功耗低、性价比高等优点,在各行各业中都应用广泛,是各种智能设备、智能仪器、智能家电以及许多机电一体化产品的控制核心。
采用单片机来对温度进行控制检测,不仅具有控制便捷、组态简易和灵活性高等优点,还可以大幅度的提高温度检测精度的技术指标,从而可以大大提高系统的质量。
因此研究基于单片机的温度检测系统对人们的各种生产生活活动都尤为重要[1]。
本文主要叙述AT89C51单片机和外围电路构成数字式温湿度计的设计,实现对温湿度的检测。
通过本次设计掌握温度检测控制系统的硬件设计方法和软件编写方法。
熟悉Proteus、Keil等软件的使用方法,进一步的巩固所学的知识,培养综合运用所学的基础理论、专业知识和技能,独立分析和解决问题的能力。
同时学习一些课程以外的相关专业知识,培养和锻炼自己的科学研究素养、创新意识和实践能力。
1.2课题的研究状况与发展趋势
温度检测技术随着国内外工业科技的日益发展有了很大的进步。
温度的检测系统主要由两个部分组成,一是采集温度信号并转换为电信号的温度传感器。
二则完成对传感器所采集信号的接收、处理、存储、对测点进行控制、温度信息显示等功能的电子装置。
根据测量的精度要求、测量的环境、测量的温度段的不同,所需要的检测装置也不同。
对于温度传感器来说,有各种非金属材料、金属材料、半导体材料制成的传感器,还有红外传感器。
温度传感器本身也趋向小型化,大多采用高度集成的芯片或元件组成,具有灵敏度高、稳定性好、抗干扰能力强、测量范围广、使用方便和价格便宜等特点。
传统的热电偶、铂电阻、双金属开关等的温度传感器虽然有着各自不可替代的优点,但是测量的精度会受到自身热效应的影响,且测量过程复杂、测量时间长、抗干扰能力弱,因此而制约了它们的使用范围。
与传统的温度传感器相比较,半导体温度传感器具有灵敏度高、抗干扰能力强、体积小、自热温升小、功耗低、时间常数小等许多优点。
在比较大的温度范围内(-55~150℃),无论是输出电压、电流还是输出频率都与温度成线性关系,适合大范围的使用[2]。
目前,国内外的温度检测方式越来越趋向于智能化,温度测量首先是由温度传感器来实现的。
温度传感器是利用自身的物理参数会随着温度而变化来测量温度的,会随温度变化而发生改变的物理参数有:
膨胀、光学特性、电阻、电容、热噪声、热电动势、磁性能及频率等等。
近年来,随着工业现代化的进程和电子信息产业的不断的发展,温度传感器作为众多传感器中的重要一类,许多新的温度检测原理与技术的研究和应用己取得了具有实用性的重大进展。
新型温度检测技术和检测元件正也在不断的出现和完善。
目前,国内外通用的温度传感器及温度检测元件大致包括以下几种[3]:
(1)晶体管温度检测元件;
(2)集成电路温度检测元件;
(3)核磁共振温度检测器;
(4)热噪声温度检测器;
(5)石英晶体温度检测器;
(6)光纤温度检测器;
(7)激光温度检测器。
MCS51单片机集成度高、功能强、体积小、功耗低、速度快、应用灵活、性价比高等众多优点,因此,它被广泛应用到了各行各业中,许多工农业检测控制系统、智能设备仪器、机电一体化产品以及各种生活中常用的各种电子产品、智能家电等都以单片机作为控制核心。
利用单片机作为控制核心组成温度检测系统可以实现对温度的检测监控、数据的处理、温度信息的显示以及和计算机进行通信交换数据等功能。
第二章系统设计方案
2.1设计要求
本课题的主要目的是设计一台可以同时测量环境温度和相对湿度的数字式温湿度计。
设计要求:
1.湿度测量范围:
1%~99.9%RH;
2.温度测量范围:
0~99.9℃。
3.精度等级:
2级
2.2测量原理
温度可以使用AD590直接测量。
相对湿度可以使用干湿球湿度原理测量,根据国际气象组织的规定,相对湿度计算公式为:
式中:
E——水汽压(mb);
——干球温度
对应的纯水平液面的饱和水汽压(mb);
——湿球温度
对应的纯水平液面的饱和水汽压(mb);
——与湿球球部通风速度有关的干湿表系数(℃-1)。
我国平均自然通风速度为0.4m/s,湿球未结冰时
。
——本地气压(mb)。
——水的三相点温度273.16(K)。
——水面温度273.15+t(K)。
由上述各式可以看出,只要测的干、湿球温度,取得本地气压和干湿表系数,即可计算出相对湿度DRH。
2.3总体设计框图
本系统以MCS51系列单片机AT89C51为控制器,采用AD590温度传感器测量干、湿球温度,通过调理电路对所采集数据进行处理,在通过A/D转换器ADC0809将采集到的模拟信号转换为数字信号后传给单片机AT89C51,AT89C51将进行数据的处理计算后得到温度和相对湿度,再通过LCD显示器LM016L显示温度和相对湿度。
通过RS-232串行通信接口将系统和PC链接。
系统整体结构框图如图3.1所示:
图3.1系统整体结构图
第三章开发环境介绍
3.1Proteus软件介绍
Proteus软件是由英国LabcenterElectronics公司开发的EDA工具仿真软件。
它是一个基于ProSPICE混合型仿真器的、完整的嵌入式系统软硬件设计仿真平台。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款用于电子系统仿真平台的智能原理图输入软件;ARES是一款用于制作印制电路板(PCB)的布线编辑软件。
Proteus软件的功能强大,具有交互式仿真功能。
它不仅是数字电路、模拟电路及集成电路的设计与仿真平台,能够对电工、电子技术学科涉及的电路进行设计与分析,还是当前最完整、最先进的多种型号微处理器系统的设计与仿真平台。
并且它的仿真结果与实际误差很小,可以帮助人们缩短设计周期,降低生产成本,提高设计的成率,适合广大高校学生和电子爱好者的使用。
3.2KeilC51软件介绍
KeilC51是美国KeilSoftware公司推出的51系列兼容单片机C语言和汇编语言的软件开发系统。
KeilC51是非常强大的C51开发工具,它集成了文件编辑处理、项目管理、编译连接、窗口、工具引用和软件仿真调试等多种功能,支持汇编、C语言和PLM语言的程序设计,它提供了软件模拟仿真和目标板调试两种仿真模式。
将Proteus软件和KeilC51软件有机的结合起来,51单片机的设计与开发就会在软件、硬件仿真上得到完美的结合。
在本设计中,就需要通过KeilC51进行程序的编写和调试,然后生成.HEX文件,再将HEX文件加入到Proteus仿真的51单片机中,进行软件和硬件结合仿真
第四章硬件系统设计
硬件系统由信号采集电路、调理电路、A/D转换电路、单片机控制器电路、LCD显示电路、RS-232串口通信电路组成。
4.1温度采集电路的设计
4.1.1温度传感器AD590的介绍
AD590是一个单片集成两端感温电流源,是利用PN结的正向电流与温度之间的关系制作成的电流输出型的两端温度传感器。
AD590输出的电流与绝对温度成比例,流过AD590的电流(μA)等于其所处环境的热力学温度(开尔文)度数:
Ir/T=1μA/K,其中,Ir是流过器件(AD590)的电流,单位是μA;T是热力学温度,单位是K。
AD590的电源电压范围在4V到30V之间,能够承受44V正向电压和20V的反向电压,因此,即使在反接情况下也不会被损毁。
AD590的测温范围-55℃到+150℃,具有很高的测量精度,非线性误差仅为±0.3℃。
AD590具有线性优良、抗干扰能力强、性能稳定、灵敏度高、使用方便、价格低、无需补偿、热容量小、可远距离测温等优点,AD590应用广泛,经常用于测温和热电偶的冷端补偿,在实际应用中很常见。
AD590的底视图和元件符号及封装形式如图4.1所示:
图4.1AD590的底视图和元件符号及封装图
AD590共有三个引脚,其中1脚为电源正端V+,2脚为电流输出I0,3脚接外壳屏蔽,一般可以不用。
温度传感器AD590的基本使用原理:
基本电路图如图4.2所示:
图4.2AD590基本电路图
1)AD590温度传感器的输出电流是以绝对温度零度(-273℃)为基准,温度每增加1℃,传感器就会增加1μA的输出电流,因此在室温25℃时,其输出电流为:
Iout=(273+25)=298μA。
2)Vo的值为Io乘上10K,以室温25℃而言,输出值为10K×298μA=2.98V。
3)测量Vo时,不能分出任何电流,否则测量值会不准确。
4.1.2温度测量电路的设计图
如图4.3为AD590温度传感器测量温度电路图,因为AD590是电流输出型温度传感器,所以仿真中可以利用电流源直接替代AD590。
图4.3温度测量电路
在AD590的输出端连一个5KΩ电阻和一个电位器,通过调节电位器使两电阻之和为10KΩ。
通过10KΩ电阻后可以将AD590输出的电流转化为电压。
本设计需要测量干球温度和湿球温度。
如图3.4所示,干球温度就是空气环境中的温度,只要将AD590温度传感器放在空气中即可。
湿球温度的测量方法是:
用湿润的细纱布包裹住AD590温度传感器的温感部分,将细纱布的另一端浸如干净的蒸馏水中,即可测量出湿球温度。
图4.4干球、湿球温度测量原理图
4.2调理电路的设计
温度传感器AD590输出的数据需要调理电路后才能够输入到ADC0809中,由于ADC0809的模拟输入电压范围是0~+5V之间,调理电路的输出电压为0~+5V之间。
如图4.5所示为调理电路设计图。
图中,AD590与电阻相连,将AD590输出的电流转化为电压值。
本课题要求测量温度在0~99.9℃之间,所以要对测量输出的电压信号进行处理。
第一级放大器电路构成一个电压跟随器,用来增加信号的输入阻抗。
第二级运放电路是一个减法运算电路,通过对调节电位器R12进行调节,使温度在0℃(图中电流源输出电流273μA)时A点的电位为0V。
经过第二级运放电路后,放大器输出电压与温度之间的关系变为10mV/℃。
在0~100℃的温度范围内,二级放大电路电压输出范围为0~1V。
第三级运放电路是同相输入比例放大电路,将前一级放大器的输出信号放大5倍。
即,在0~100℃的温度范围内,调理电路对应的最终输出电压为0~5V。
最终将电压信号输入到ADC0809中进行A/D转换。
图4.5调理电路
4.3A/D转换电路的设计
4.3.1A/D转换器ADC0809的简介
ADC0809是一个8位逐次逼近型的模数转换器,可以将模拟信号转化为数字信号。
它是由一个8路模拟开关、一个A/D转换器、一个地址锁存译码器和一个三态输出锁存器组成。
模拟输入电压的范围是0~5V,三态锁存器可以锁存A/D转换后的数字量。
其内部结构图如图4.6所示:
图4.6ADC0809芯片的内部结构图
图4.7ADC0809引脚图
ADC0809的引脚图如图4.7所示,该芯片的引脚定义如下[4]:
(1)IN0~IN7:
8路模拟量输入通道,用于输入需要转换的模拟电压值。
(2)D0~D7:
8位数字量输出端。
(3)START:
A/D转换启动脉冲输入端,高电平有效。
脉冲上升沿会将内部寄存器清零,脉冲下降沿启动A/D转换。
(4)ADDA、ADDB、ADDC:
模拟通道的地址选择线输入。
地址状态与模拟量输入通道对应关系见表4.1。
表4.1地址状态与模拟量输入通道对应关系
被选模拟电压
ADDC
ADDB
ADDA
IN0
0
0
0
IN1
0
0
1
IN2
0
1
0
IN3
0
1
1
IN4
1
0
0
IN5
1
0
1
IN6
1
1
0
IN7
1
1
1
(5)CLK:
外部时钟脉冲输入端。
时钟频率高,A/D转换速率快,要求时钟频率不超过640KHz。
(6)EOC:
A/D转换结束信号输出,高电平有效。
在A/D转换期间,EOC=0;当A/D转换结束时,EOC=1。
(7)ALE:
地址锁存允许信号输入端。
可以锁存地址选择线的状态,来选择相应的模拟通道,由低到高正跳变时有效。
(8)OE:
数据输出允许信号,高电平有效。
当输入高电平时,ADC的三态输出锁存器打开,输出转换后的数字量。
(9)VCC:
正电源电压(5V)。
(10)VREF(+)、VREF(-)正负基准电压输入端,基准电压典型值为±5V。
(11)GND:
接地端。
4.3.2A/D转换器电路设计图
如图4.8为以ADC0809为A/D转换器的数模转换电路图。
ADC0809的模拟信号输入端IN0和IN1用于输入由调理电路输出的模拟输入信号电压。
AT89C51的P0口用于读取8位A/D转换器ADC0809输出的数据。
AT89C51单片机的P2.0、P2.1、P2.2口分别用来控制ADC0809的通道选择端ADD_A、ADD_B、ADD_C。
单片机的P3.2端口用于控制ADC0809启动A/D转换的信号,200ns以上的正脉冲有效。
P3.3与ADC0809的E0C相连,用于接收A/D转换结束信号。
单片机通过外部中断0触发对A/D数据的读取。
P3.5与ADC0809的CLOCK端连接,用于向转换器输出其所需的时钟信号。
转换结束后单片机P0端读取A/D转换数据。
图4.8A/D转换电路
4.4单片机控制器电路的设计
单片机最小系统是单片机工作的最低要求,需要有时钟电路和复位电路。
4.4.1AT89C51简介
AT89C51单片机在一块芯片里集成了CPU、定时/计数器、ROM、RAM、I/O接口等功能部件。
AT89C51是一种4K字节Flsh闪速存储器的低功耗、高性能CMOS的8位微处理器。
具有128字节内部RAM,两个16位定时/计数器,五个中断源,32个I/O口线,一个全双工串行通信口,片内振荡器及时钟电路。
片内的4K字节可编程可擦除只读存储器可反复擦除1000次。
该单片机与工业标准的MCS-51指令集和输出管脚相兼容,采用了ATMEL高密度非易失存储器制造技术制造。
因为将多功能8位CPU和闪烁存储器组合在了单个芯片中,所以AT89C51作为一种高效的微控制器,为许多嵌入式控制系统的开发提供了一种灵活性高、便捷且价廉的方案。
如图4.9为AT89C51的内部结构框图。
图4.9AT89C51的内部结构图
图4.10AT89C51的引脚图
AT89C51单片机的功能众多,引脚数少,许多引脚都具有第二功能,AT89C51对外呈现三总线形式,其引脚图如图4.10所示,各引脚功能说明如下[7]:
(1)VCC:
供电电源,接5V正电源。
(2)GND:
接地
(3)P0:
P0端口是一个8位漏极开路的双向I/O接口。
作为输出口,每脚能够吸收8个TTL门电流。
当P0端口被写入1时,P0口引脚用作高阻输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在FLASH编程时,PO口作为程序源码的输入口;在FLASH进行程序校验时,PO口输出程序源码。
在程序校验时,P0口必须接外部上拉电阻。
(4)P1:
P1端口是一个内部带有上拉电阻的8位双向I/O接口,P1输出缓冲器能够接收和输出4个TTL门电流。
对P1端口写1后,被内部上拉电阻把端口拉高,此时可以当作输入端口使用。
由于内部上拉的缘故,当P1端口被外部下拉为低时,P1口将输出电流。
当存储器进行编程和校验时,P1口用作低8位地址接收
(5)P2:
P2端口是一个内部带有上拉电阻的8位双向I/O接口,P2输出缓冲器能接收或输出4个TTL逻辑电路。
当对P2端口写“1”时,内部的上拉电阻把端口拉高,此时可以用作输入口使用。
在用作输入使用时,由于外部拉低的引脚被内部电阻上拉的原因,P2端口将会输出电流。
在存储器编程和校验时,P2口也可以接收高8位地址字节和其它的控制信号。
(6)P3:
P3端口是一个内部带有上拉电阻的8位双向I/O接口,可以接收或输出4个TTL门电流。
在对P3端口写“1”后,内部的上拉电阻把端口拉高,这时可以用作输入。
用作输入时,被外部下拉为低电平的引脚由于内部上拉电阻的原因,P0口将会输出电流。
P3端口时也可以为FLASH编程和编程校验接收一些控制信号。
P3口还可以作为AT89C51的某些特殊功能口使用。
在实际运用中应该优先选用它的第二功能。
P3口引脚号第二功能如表4.2所示:
表4.2P3口的第二功能
引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0请求输入端)
P3.3
(外部中断1请求输入端)
P3.4
T0(定时/计数器0请求脉冲输入端)
P3.5
T1(定时/计数器1请求脉冲输入端)
P3.6
(片外数据存储器写选通信号输出端)
P3.7
(片外数据存储器读选通信号输出端)
(7)RST:
复位输入,单片机的振荡器工作时,RST脚至少保持连续两个机器周期高电平就可使单片机系统复位,将单片机恢复到初始状态。
(8)ALE/
:
地址锁存有效信号输出端。
在访问片外程序存储器时,地址锁存允许的输出电平用于控制锁存低8位地址。
在编程期间,此引脚用作编程脉冲
的输入端。
(9)
:
外部程序存储器读选信号输出端。
在AT89C51向外部程序存储器读取指令或常数时,每个机器周期出现两次该信号时有效(低电平)。
而在访问片外数据存储器时,
信号不会出现。
(10)
/VPP:
外部程序存储器选通端。
该脚为低电平(接GND)时,只选用外部程序存储器。
高电平(接VCC)时选用内部程序存储器。
在程序存储器编程期间,
也接12V编程电源VPP。
(11)XTAL1:
内部振荡电路反相放大器和内部时钟发生电路的输入端。
(12)XTAL2:
内部振荡电路反相放大器的输出端。
4.4.2时钟电路
AT89C51单片机工作需要精确定时,可以用晶体振荡器产生的稳定的时钟脉冲来控制。
AT89C51内部有一个由高增益反相放大器构成的振荡电路,XTAL1和XTAL2分别是内部振荡电路反相放大器的输入端和输出端。
时钟可以是由内部方式产生,也可以是由外部方式产生。
该设计中为内部方式时钟电路。
如图4.11为内部方式时钟电路图,
由跨接在XTAL1和XTAL2之间的12MHz晶体振荡器与两个串联的30pF电容并