基于单片机的防水型温度智能监控系统.docx
- 文档编号:2083234
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:47
- 大小:2.06MB
基于单片机的防水型温度智能监控系统.docx
《基于单片机的防水型温度智能监控系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的防水型温度智能监控系统.docx(47页珍藏版)》请在冰点文库上搜索。
基于单片机的防水型温度智能监控系统
基于单片机的防水型温度智能监控系统
摘要:
本文设计了一种由STC89C52单片机和防水温度传感器构成的温度智能监控系统,温度信号由防水型温度传感器DS18B20采集,并以数字信号的方式传送给单片机。
本文介绍了该控制系统的硬件部分,包括:
温度检测电路、温度控制电路、PC机与单片机串口通信电路和一些接口电路。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
本文还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:
液晶显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序。
本设计具有显示直观、读取方便、电路简洁、功能多样等诸多优点,可应用于多种平台,具有广阔的市场前景。
关键词:
STC89C52防水型温度传感器串口通信温度控制DS18B20
WaterproofMicrocontroller-based
TemperatureIntelligentMonitoringSystem
Abstract:
DesignedatheSTC89C52microcontrollerandthewatertemperaturesensortemperatureintelligentcontrolsystem,thetemperaturesignalcollectedbythewatertemperaturesensorDS18B20,andthewayofadigitalsignalsenttothemicrocontroller.Thisarticledescribesthehardwarepartofthecontrolsystem,including:
temperaturedetectioncircuit,thetemperaturecontrolcircuit,thePCandthemicrocontrollerserialcommunicationcircuitandanumberofinterfacecircuits.MCUthroughsignalprocessinginordertoachievethepurposeoftemperaturecontrol.Thearticlealsofocusesonsoftwaredesign,modularstructure,wherethemainmodulesare:
LCDprogram,scanningthekeyboardandkeyprocesses,thetemperaturesignalhandler,over-temperaturealarmprogram.Thisdesignwithintuitive,easytoreaddisplay,simplecircuit,functionaldiversityandmanyotheradvantages,canbeappliedtomultipleplatforms,andhasbroadmarketprospects.
Keywords:
STC89C52watertemperaturesensorserialcommunicationtemperaturecontrolDS18B20
目录
1绪论3
1.1温度控制研究的现状3
1.2温度控制研究的意义3
2方案论证4
2.1系统总体方案论证4
2.2显示器件的选择5
2.3串行通信方案论证6
3系统硬件电路设计7
3.1总体硬件电路设计7
3.2单片机主控制电路设计8
3.2.1单片机概述8
3.2.2单片机与单片机系统9
3.2.3MCS-51系列单片机介绍9
3.2.4STC89C52的芯片概述11
3.3LCD显示模块的设计12
3.3.11602字符液晶简介12
3.3.21602管脚说明13
3.3.3字符集13
3.3.4显示地址14
3.3.5基本的读写时序图15
3.3.61602与单片机连接15
3.4数据采集模块16
3.4.1防水型温度传感器简介16
3.4.2配置寄存器。
18
3.4.3DS18B20的主要特性18
3.5声控电路设计19
3.6超限处理部分20
3.7上位机接口模块的设计20
3.7.1串行异步通信20
3.7.2RS-232技术21
3.7.3MAX232数据操作原理21
3.7.4MAX232电路设计22
4系统软件设计23
4.1主程序设计23
4.2按键程序设计23
4.3温度报警程序设计25
4.4上位机软件流程设计26
5总结28
致谢29
参考文献30
附录31
1绪论
1.1温度控制研究的现状
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
温度是工业生产中主要的被控参数之一,与之相关的温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量。
用单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农业等。
防水型温度传感器探头采用原装DS18B20温度传感器芯片,优质不锈钢管封装,防水、防潮、防生锈,3.0V~5.5V供电感温范围宽-55℃~+125℃无需外部元件,独特的单总线接口。
DS18B20是美国DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。
本文设计的一种温度控制系统,用STC89C52单片机作为温控器,选用DS18B20数字温度传感器,可任意设置上下限报警温度,采用LCD1602实时显示温度,通过串口利用单片机与上位机的通信,对温度进行采集、数据处理和控制。
1.2温度控制研究的意义
在国内外温度控制成了一科广泛应用于很多领域的技术。
具体如空调、冰箱、茶叶烘烤、粮仓温度控制等等。
粮食温度检测是储备库中防止粮食霉烂、保质存放的重要环节。
对于一个农业大国来讲,粮食生产、需求与储备量都很大。
大量粮食在储备的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,带来巨大损失。
本论文正是以此为出发点,对单片机控制的远程温度控制作了详细的介绍。
单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
2方案论证
2.1系统总体方案论证
方案一:
采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。
通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。
数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。
热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦。
系统主要包括对A/D0809的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。
此外还有复位电路,晶振电路,启动电路等。
故现场输入硬件有手动复位键、A/D转换芯片,处理芯片为51芯片,执行机构有4位数码管、报警器等。
系统框图如图2.1所示。
图2.1热电偶温差电路测温系统框图
方案二:
采用防水型数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器STC89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外STC89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。
方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。
整个系统采用STC89C52作为主控芯片,通过单片机的串口TXD和RXD实现控制并实现数据的输入和输出。
为了跟上计算机发展的步伐,能够实现实际应用中与PC机的人机交互,就必须通过一个电平转换电路,将下位机的数据信息传输给上位机,而这个电平转换电路采用电平转换电路芯片MAX232。
另外的设计部分还有显示和按键,显示部分采用了低功耗、使用方便的LCD1602液晶屏,按键部分因为数量少,所以采用了简单的独立式按键,方便程序的编写。
将各个部分连接起来就构成了系统的硬件部分,软件部分主要是对单片机进行编程,主要编写各个子程序,例如键盘子程序、数据收发子程序、显示程序和一些控制程序,将硬件和软件结合并通过调试就可以实现单片机的串口通信。
2.2显示器件的选择
方案一.采用LCD显示。
LCD显示具有接口简单,可显示文字、图形,输出信息相当丰富,并具有一屏输出多路信息的特点,但由于价格较贵,且采购不到适合本设计的液晶显示屏,同时对液晶的控制口线也多。
方案二.采用LED数码管显示。
LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。
它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。
图2.2所示是两种LED数码管的外形与内部结构,+、-分别表示公共阳极和公共阴极,a~g是7个笔段电极,DP为小数点。
数码管虽然只能显示固定数字和字母,但其接口并不复杂,驱动电路成熟;显示程序容易编写。
图2.2LED数码管得外型与内部结构
综上所述:
同时考虑到本设计要显示的值有数字和字母信息,采用液晶显示信息就能实现。
故采用LCD1602显示。
2.3串行通信方案论证
方案一:
RS-232串口通信方案。
利用RS-232串口通信及现场总线技术,可方便地实现1台微机与多台机器的近距离通信,通用性好,成本低。
方案二:
RS-485串口通信方案。
RS-485半双工异步通信总线是一种被广泛使用的数据通信总线。
它具有通信距离远、通信速度高、成本低等特点。
在远程监控系统中,由于设备数量多,分布较远,现场的各种干扰也较大,往往通信的可靠性及质量不高。
RS-485收发器采用的平衡发送和差分接收具有抑制共模干扰的功能,加上收发器具有很高的灵敏度,能检测低达200mV的电压。
因此,传输信号可在千米以外得到恢复。
因为这次课题并不是运用在真正的实际运作当中,所以我采用了方案一。
如果是在实际场合中使用,建议采用方案二。
3系统硬件电路设计
3.1总体硬件电路设计
综上各方案所述,对此本设计的方案选定:
采用STC89C52芯片作为主控制系统,防水型数字温度芯片DS18B20作为信号采集处理芯片,1602液晶模块作为显示器,并利用上位机实现在电脑上的同步显示。
由STC89C52芯片内部时钟定时器制成时钟由LCD1602显示器显示。
当温度高于/低于程序设定的范围,如设定温度为20℃~30℃时,当实际温度高于30℃则报警电路报警,同时报警(降温)指示灯亮;当实测温度低于20℃时,报警电路报警,同时报警(加热)指示灯亮;当温度回到设定温度范围内时,指示灯熄灭。
温度控制仪的硬件如图3.1所示,以STC89C52芯片为核心,配合相应的硬件电路,报警电路,处理电路,显示电路等实现对温度的控制。
图3.1硬件设计原理图
图3.2系统部分电路图
3.2单片机主控制电路设计
3.2.1单片机概述
单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU(Centralprocessingunit)。
随机存储器RAM(Randomaccessmemory)。
只读存储器ROM(Readonlymemory)。
中断系统、定时器/计数器以及I\O(Input/output)接口电路等主要微型机部件集成在一个芯片上。
虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。
为此,称它为单片微型计算机SCMC(Singlechipmicrocomputer),简称单片机。
单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Microcontrollerunit)。
在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯用“单片机”这一名称。
单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其"嵌入"的特点,也常常将单片机称为嵌入式微控制器EMCU(Embeddedmicrocontrollerunit)。
在单片机的电路和结构中,有许多嵌入式应用的特点。
3.2.2单片机与单片机系统
单片机通常是指芯片本身,它是芯片制造商生产的,在它上面集成的是一些做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/计数器以及输入/输出口电路等。
但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些元件在单片机系统中只能以散件的形式出现。
此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。
从中可以看到单片机和单片机系统的差别,即:
单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。
通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。
在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。
3.2.3MCS-51系列单片机介绍
1.80C51芯片介绍
MCS-51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS-51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片。
但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司。
这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点。
然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难。
例如PHILIPS公司生产的80C51系列芯片名称分别为:
80CXXX(ROMLess型),83CXXX(MaskROM型);Siemens公司命名为C500系列,芯片型号以”C5“打头;而华邦公司则命名为W77C51系列和W78C51系列等等。
新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片。
所有这些使新一代的兼容芯片已远非原来意义上的80C51了。
目前这些80C51的兼容芯片已开始在我国使用,其中尤以PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片STC89C52等更是后来居上,大有取代传统EPROM型芯片之势。
2.80C51与8051的比较
首先与8051兼容是对80C51芯片的最基本要求,以确保8位单片机MCS-51系列的继续发展,兼容应包括指令,引脚信号,总线等多个方面,指令兼容能保证两者之间不存在指令障碍以维持软件的可移植性,而引脚信号和封装以及总线的兼容则确保两者在系统扩展和接口方面的一致性,有利于系统的开发和应用。
80C51的最大改进是在芯片的半导体工艺上,早期的MCS-51系列芯片采用HMOS工艺,即高密度短沟道MOS工艺,,而80C51芯片则采用CHMOS工艺,即互补金属氧化物HMOS工艺。
CHMOS是CMOS和HMOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。
例如8051芯片的功耗为630mW,而80C51的功耗只有120mW,这样低功耗,有一粒纽扣电池就可以工作。
低功耗对单片机在便携式、手提式或野外的仪器仪表设备上使用十分有利。
80C51在功能增强方面也做了许多工作。
首先,为进一步降低功耗,80C51芯片增加了待机和掉电保护两种工作方式,以保证单片机在掉电情况下,能以最低的消耗电流维持。
此外在80C51系列芯片中,内部程序存储器除了ROM型和EPROM型之外,还有EEPROM型,例如89C51就是4KBEEPROM,并且随着集成技术的提高,80C51系列片内程序存储器的容量也越来越大,目前已有64KB的芯片了.另外,许多80C51芯片的还具有程序存储器保密机制,以防止应用程序泄露或被复制。
3.单片机最小系统
最小系统就是单片机在发挥具体测控功能时所必须的组成部分。
图3.3最小系统方框图
4.定时与中断的概念
中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。
向CPU发出中断请求的来源称之为中断源。
MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。
3.2.4STC89C52的芯片概述
STC89C52是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。
STC89C52具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。
其工作电压在4.5-5V,一般我们选用+5V电压。
89S51相对于89C51增加的新功能包括:
新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低。
(一)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
(二)最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
(三)双数据指示器。
(四)内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
(五)全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
(六)兼容性方面:
向下完全兼容51全部子系列产品。
比如8051、89C51等早期MCS-51兼容产品。
也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。
因此本设计选用STC89C52单片机来作为本系统的核心部分。
图3.489s51的核心电路框图
3.3LCD显示模块的设计
3.3.11602字符液晶简介
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,工业字符型液晶,能够同时显示16X2即32个字符(16列2行)。
注:
为了表示的方便,后文皆以1表示高电平,0表示低电平。
一般1602字符型液晶显示器实物如图3.5。
图3.51602实物图
3.3.21602管脚说明
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。
具体管脚说明见下表3.1。
表3.11602管脚定义表
3.3.3字符集
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A'。
下图3.6是1602的16进制ASCII码图:
图3.61602的ASCII码图
读的时候,先读上面那列,再读左边那行,如:
感叹号的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
3.3.4显示地址
下图3.7为1602显示地址图
图3.71602显示地址图
3.3.5基本的读写时序图
读写操作时序如图3.8所示:
图3.81602读写操作时序图
3.3.61602与单片机连接
下图3.9为连接图
图3.91602与单片机连接图
3.4数据采集模块
3.4.1防水型温度传感器简介
本设计用的防水型温度传感器采用DALLAS最新单线数字温度传感器DS18B20,它是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理:
低温度系数晶振的振荡频率受温度影响很小,用于产生固定频
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 防水 温度 智能 监控 系统