基于单片机的实时温度监控系统设计.docx
- 文档编号:5013131
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:47
- 大小:535.41KB
基于单片机的实时温度监控系统设计.docx
《基于单片机的实时温度监控系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的实时温度监控系统设计.docx(47页珍藏版)》请在冰豆网上搜索。
基于单片机的实时温度监控系统设计
中文摘要
本课题研究的是基于AT89S52型单片机控制的水温智能监控系统,以AT89S52单片机为核心,采用了温度传感器DS18B20进行温度检测。
文章首先阐述了用单片机进行水温监控系统一些特性优点,以及它的现状与发展前景。
然后又对系统总体设计方案的进行了深入分析。
系统总体设计方案包括了系统硬件设计与系统软件设计两大部分。
硬件部分用的是ATMEL公司的AT89S52单片机、温度传感器DS18B20、LCD等。
而且在本设计中有对其原理、结构方面的详细的论证。
软件环境主要使用了。
该系统实现了自动控制,使水温变化情况可以进行动态的显示,并能在一定的范围内由人工设定。
在本文的最后是对整个系统性能测试和分析的报告。
关键词:
AT89S52单片机;DS18B20数字温度传感器;水温监测系统;软硬件设计
Abstract
WhatthistopicAT89S52SCMwatertemperatureintelligentobservationsystem.ThesinglecomputerAT89S52isusedasacoreinthisdesigns,theDS18B20digitaltemperaturesensorisusedtomeasurethewatertemperature.ThetopicaccountmanyfeatureandadvantagesabouttheSCMwatertemperatureintelligentobservationsystem,anditispresentsituationandprospect.Inthisarticleamongistothesystemoverallprojectdesignthoroughanalysis.Thesystemoverallprojectdesignhasincludedthesystemhardwaredesignandthesystemsoftwaredesignstwomajorparts.WhathardwarepartisATMELcompany'sAT89S52SCM.DS18B20digitaltemperaturesensor,theLCD;Anddiscussestheisemulator.Itrealizationoftheautomaticcontrolsystem,Thewatertemperaturestuationcanbeshowedonthemicrocomputermonitorsystemandmaybesetatsomedegreebymanpower.Inthisarticleisfinallytotheoverallsystemperformancetestandtheanalysisreport.
Keywords:
AT89S52SCM;WatertemperatureControlsystem;DS18B20digitaltemperaturesensor;Hardwareandsoftwaredesign
第一章前言
1.1论文来源及其研究背景
温度是工业生产和生活中常见的被控参数,对温度的控制效果直接影响到许多产品的质量及使用寿命,及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节。
水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。
对于不同控制系统,其适宜的水质温度总是在一个范围。
超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。
对于,超过适宜范围的温度能够报警。
同时,我们也希望在适宜温度范围内可以由检测人员根据实际情况加以改变。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此如何使用单片机对温度进行实时、有效的检测与控制是一个重要的研究课题。
近年来,随着电子技术和信息技术的发展,微型计算机的发展也越来越快,其中单片机作为计算机的一个独特分支,打破了微型计算机按逻辑功能划分芯片结构的传统概念。
单片机在一块芯片上集成CPU,ROM,RAM、I/0接口,定时器/计数器和中断系统等功能部件,构成一个完整的微型计算机。
由于单片机体积小、重量轻、噪声低、可靠性高,具有很强的灵活性,而且价格便宜,抗干扰能力强,开发效率高,易于产品化,它的应用已深入到工业、农业、国防、科研以及日常生活用品(家电、玩具)等各种领域。
因此,我们选择设计一个简易的水温控制系统,采用单片机进行控制的水温自动控制电路,使系统能简单的实现温度的控制及显示。
该系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘和显示技术、汇编程序语言等诸多方面的知识,是对所学知识的一次综合测试。
并且通过软件编程能实现各种控制算法,使系统具有控制精度高的特点,对实现对水温的自动控制,具有重大的现实意义。
1.2设计内容及要求
由于现代工艺越来越多的需要对实时温度进行监测和控制,而且需要的精度越来越高。
所以温度控制系统引起国内外许多有关人员的重视,得到了十分广泛的应用。
温度控制系统发展迅速,而且成果显著。
设计并制作一个智能水温自动监控系统,实现由常温开始加热,在达到设定温度时进行恒温控制的功能。
基本要求:
1、控制对象为自来水,体积0.5~3L
2、以单片机为主要控制芯片。
3、温度设定范围:
70℃-90℃,最小区分度为1℃。
4、控制精度:
温度控制的静态误差≤1℃。
5、用十进制数码显示实际水温。
6、具有通信能力,可接受其他数据设备发来的命令,或将结果传送到其他数据设备。
第二章系统设计
2.1总体方案设计
本系统是一个以单片机为核心的温度监控系统,系统的总体框图如下。
图2-1:
系统框图
该系统利用温度传感器采集温度信号,然后被送到单片机中,并显示在LCD上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出PWM输出量,然后将输出量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。
实现方案的技术路线:
用按键输入标准温度值,用LCD实现显示实时水温度和输入的标准温度值,用DS18B20温度传感器进行水温度的检测,用光电耦合器moc3031m驱动加热装置完成加热调节,,用语言完成软件编程。
2.2硬件各单元方案论证和选择
硬件设计部分先找寻各单元电路最合适的设计方案,再进行单元电路设计。
2.2.1温度传感部分
要求对温度和与温度有关的参量进行检测,还应保证其精确性和实时性。
方案1:
采用热敏电阻。
这种电阻是利用温度敏感的半导体材料制成,其阻值随温度变化有明显的改变。
负温度系数热敏电阻器通常是有锰、钴的氧化物烧制成半导体陶瓷制成。
其特点是,在工作温度范围内电阻阻值随温度是升高而降低。
可满足40℃--90℃测量范围,但热敏电阻精度、重复性、可靠性较差,不适于检测小于1℃的信号;而且线性度很差,不能直接用于A/D转换,应该用硬件或软件对其进行线性化补偿。
方案2:
采用集成温度传感器,
如常用的A/D590和LM35。
AD590是电流型温度传感器。
这种器件以电流作为输出量指示温度,其典型的电流灵敏度是1uA/K。
输出电流与他所感受的温度成线性关系,工作电压可以从+4~+30V范围内选用,测温范围为—55~+150℃。
它与大多数其他形式的温度传感器相比不存在线性化问题,它是二端器件,使用非常方便,作为一种高电阻电流源,它不需要严格考虑传输线上的电压信号损失和噪声干扰问题,因此特别适合作为远距离测量或控制作用。
由于AD590是电流型传感器,经过电阻转换为电压值。
需要多路模拟开关控制温度采样信号并有放大器放大和A/D转换器将模拟量转换为数字量,这样就有许多硬件电路,且价格较高。
方案3:
采用DS18B20单总线式数字温度传感器。
DS18B20是美国DALLAS公司生产的单总线式温度传感器。
它具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等明显的优点,特别适合于构成多点温度测控系统,可以直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。
它的温度测量范围为—55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可以达到0.0625℃。
被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可以在远端引入,也可以采用寄生电源方式产生,多个DS18B20可以并联到三根或两根线上,CPU只需一根断口线就能与多个DS18B20通信,占用单片机的断口少,可以大大节省引线和逻辑电路。
方案选择:
选择方案3。
理由:
当前的温度传感器已经完全进入数字时代,它直接输出温度值的数字量,省去了繁琐的转换并节省了大量的硬件电路,而且精度可以做得很高。
2.2.2显示部分
通常的显示器多选择LED数码显示器和LCD液晶显示器。
LED有7段或8段和“米”字段之分。
这种显示器有共阳极和共阴极两种。
方案1:
采用LED静态显示方式。
在这种方式下,各位LED显示器的共阳极或共阴极连接在一起并接地(或接电源正),每位的段选线分别与一个8位的锁存器的输出相连,各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示器的亮度都较高。
若用I/O接口,这需要占用N*8位I/O接口(N为LED显示器的个数)。
这样的话,如果显示器的个数较多,那使用的I/O接口就更多,因此在显示位数较多的情况下一般都不采用静态显示。
方案2:
采用LED数码显示器动态显示。
动态扫描显示接口电路是把所有LED显示器的8个字段A—G、DP的同名端连在一起,而每一个数码管的公共端COM是各自独立的受I/O线控制。
CPU向字段输出口送出字形码时所有显示器接受到相同的字形码,但究竟显示哪一位则取决于公共端,而这一端是由I/O轮流控制的。
所谓的动态显示就是采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
其电路简单,同样的功率驱动小,显示亮度不及静态显示,且占用I/O口和CPU资源较多。
方案3:
采用LCD液晶显示
用LCD液晶显示,需要学习其专用的驱动控制芯片,比如HD61203,虽软件实现较为复杂,价格昂贵。
但其低压微功耗、平板型结构、被动显示型(无眩光,不会引起眼睛疲劳)、显示信息量大(因为像素可以做得很小)、易于彩色化(在色谱上可以非常准确的复现)、无电磁辐射(对人体安全,利于信息保密)。
方案选择:
选择方案3。
理由:
I/O口占用较少,且显示更安全、人性化。
2.2.3键盘输入部分
方案1:
采用4*4矩阵键盘输入。
这种接口方式适用于按键数量较多的场合,它由行线和列线组成,按键位于行列的交叉点上。
矩阵键盘的工作原理是按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。
行线通过上拉电阻接到+5V上。
平时无按键按下时行线处于高电平状态,而当有按键按下时,行线电平状态将由与此电平相连的列线决定。
列线电平如果为低,则行线电平为低;列线电平为高则行线电平也为高。
由于矩阵键盘中行、列线为多键共用,各案件均影响该键所在行和列的电平,因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并做适当处理才能决定闭合键的位置。
对于矩阵键盘,按键是位置由行号和列号唯一决定,所以分别对行号和列号进行二位制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。
但这种编码对不同行的键,离散性大,并且编码的复杂难度与键盘的个数成正比,因此不适合用在输入量小的设计中。
图2-2:
矩阵式键盘
方案2:
采用独立式按键接口。
这种方式是各种按键相互独立,每个按键各接一根输入线,一根线上的按键工作状态是不会影响其他输入线上的工作状态。
因此,通过检测输入线的电平状态可以很容易判断是哪个按键被按下了。
示意图如下:
图2-3:
独立式按键
独立式按键电路配置灵活,软件简单。
但每个按键需占用一个输入口线在按键数量较多时需要较多的输入口线且电路结构复杂。
故此种键盘适用于按键较少的或操作速度高的场合。
独立式按键电路按键直接与单片机I/O口连接,通过读I/O口,判断各I/O口线的电平状态,即可识别出按下的键盘。
方案选择:
选择方案2。
理由:
减少单片机的I/O口使用,设计简单。
配置灵活,软件简单。
虽然每个按键需要占用一根输入口线,但该设计所用按键较少。
2.2.4加热驱动控制电路部分
采用开关量控制,如继电器、双向可控硅、光耦等,控温快速,但是双向可控硅驱动电路比较麻烦,调试也麻烦,如用现成的固态继电器(其实就是把双向可控硅和驱动电路放在一起的)价格十分昂贵。
如用继电器时要注意起电感的反向电动势,和开关触点对电源的影响,以及开关脉冲对整个电路的影响等。
应该加入必要的防止干扰的措施。
方案1:
采用单向晶闸管。
这是一种大功率半导体器件,它既有单向导电的整流作用,又有可以控制开关的作用。
利用它可以用较小的功率控制较大的功率。
在交、直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得了广泛的运用。
这种晶闸管与二极管不同的是,当两端加正向电压而控制极不加电压时,晶闸管并不导通,其正向电流很小,处于正向阻断状态;当加上正向电压、控制极上(与阴极间)也加上一正向电压时,晶闸管便进入导通状态,这时管压降很小(1V左右)。
这时即使控制电压消失,忍保持导通状态,所以控制电压没必要一直存在,通常采用脉冲形式,以降低触发功耗。
它不具有自关断能力,要切断负载电流,只有使阳极电流减小到维持电流以下,或加上反向电压实现关断。
若要在交流回路中应用,当电流过零或进入负半周期时,自动关断,为了使其再次导通,必须重加控制信号。
方案2:
采用光耦合双向可控硅驱动电路。
这种器件是一种单片机输出与可控硅之间较理想的接口器件,它由输入和输出两部分组成,输入部分是一个砷化镓发光二极管,该二极管在5mA-15mA正向电流下发出足够强度的红外光,触发输出部分。
输出部分是一个硅光敏双向可控硅,在红外线的作用下可双向导通。
光电耦合器也常用于较远距离的信号隔离传输。
一方面光耦合器可以起到隔离两个系统地线的作用,使两个系统的电源相互独立,消除地电位不同所产生的影响。
另一方面,光耦合器的发光二极管是电流驱动器件,可以形成电流环路的传送形式。
由于电流环电路的低阻抗电路,对噪音的敏感度低,因此提高通讯系统的抗干扰能力。
常用于有噪音干扰的环境里传输信号。
图2-4:
光耦合双向可控硅驱动加热电路
方案选择:
选择方案2。
理由:
达到同样的加热效果,开关量控制容易,通讯系统的抗干扰能力强。
2.2.5报警电路
由于AT89S52单片机P3.7口输出驱动能力小,无法直接接蜂鸣器。
所以,加一个PNP三极管,用其共发射极接法,为蜂鸣器提供驱动电流。
当P3.7口输出为低时,三极管导通,基极电流得到放大,蜂鸣器发出声音;当P3.7口输出为高时,三极管截止,蜂鸣器不发声。
在仿真电路中,用发光二极管代替蜂鸣器作为报警提示,充分突出了紧急提示信号的特点。
图2-5:
报警电路
2.2.6电源电路
由于系统工作电压为5V,所以采用原边交流220V输入,副边12V的变压器进行降压,再经桥式整流电路整流,由2200uF电容进行滤波,经7805稳压块进行5V稳压,可使电源满足系统电源的要求。
其原理图如图所示。
图2-6:
电源电路
第三章主要器件介绍
3.1单片机AT89S52介绍
AT89S52单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
AT89S52的管脚排列如下图所示。
图3-1:
AT89S52的管脚排列图
(1)AT89S52功能特性描述
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和计时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
表1:
P1口引脚号第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
表2:
P3口端口引脚第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
(2)AT89S52与AT89S51的区别
除了89S51/52具有ISP下载线和看门狗以外,应该和89C51/52基本是一样的。
89S51:
4KROM、128BRAM、4个中断源、2个定时器。
89S52:
8KROM、256BRAM、5个中断源、3个定时器(比51多出的定时器具有捕获功能)。
3.2温度传感器DS18B20介绍
DS18B20数字温度计是美国DALLAS半导体公司继DSl820之后最新推出的一种改进型智能数字温度传感器。
具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有±0.5℃精度;用户可编程设定9~12位的分辨率。
它是DALLAS半导体公司生产的1-Wire,即单线智能温度传感器,体积小的特点。
与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内完成9位和12位的数字量;从DSl8B20读出信息或写入DSl8B20信息仅需要1根口线(单线接口);温度变换功率来源于数据总线,总线身也可以向所挂接的DSl8B20供电,而无需额外电源。
使用DSl8B20可使系统结构更趋简单,可靠性更高。
以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。
(1).DS18B20性能特点
①具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信。
即采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(16位二进制数,含符号位)。
②测温范围为-55℃-+125℃,测量分辨率为0.0625℃。
③内含64位经过激光修正的只读存储器ROM。
④适配各种单片机或系统机。
⑤用户可分别设定各路温度的上、下限。
⑥内含寄生电源。
DS18B20继承了DS1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 实时 温度 监控 系统 设计