基于单片机的数字温度计.docx
- 文档编号:18221742
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:59
- 大小:674.77KB
基于单片机的数字温度计.docx
《基于单片机的数字温度计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计.docx(59页珍藏版)》请在冰豆网上搜索。
基于单片机的数字温度计
摘要
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度控制报警就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度测量系统与传统的温度报警相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阴极LED数码管实现温度显示,能准确达到以上要求。
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度测量系统,本系统可以设置上下报警温度,当温度不在设置范围内时,可以报警。
关键词:
单片机,温度报警,DS18B20,AT89S51
Abstract
SCMcontrolisoneofpeople’spursuewiththepeople’slivingstandardrising,becauseSCMcontrolbringsmoreconvenienceforpeople.Thedigitaltemperaturecontrolalarmsystemisthetypicalexample,butpeople’sdemandbecomehigherandhigher.Ifpeoplewanttogetmoreconvenienceonwork,scientificresearchandlife,weshoulddomoreworkonsingle-chipcomputertechnology,alltowarddigitalcontrolsystem,intelligentcontroldirection.
Withthedevelopmentoftechnology,microcontrollertechnologyhasspreadtoourlife,work,scientificresearchandsoon.SCMsystemhasbecomeanaturetechnology,thispaperwillintroduceamethodbasedonsinglechipmicrocomputercontroldigitaltemperaturealarmsystem,Inthispaperintroduceanewmethodnameddigitaltemperaturealarmsystem,thissystemhassuchadvantagescomparedwithtraditionaltemperaturesystem,suchaseasyreading,largetemperaturerange,accuratemeasuretemperature.Itsoutputtemperatureusingdigitaldisplay,thisdesignusingAT89S51single-chipmicrocomputercontroller,temperaturesensorDS18B20,andwith4cathodetubeLEDtorealizedigitaltemperaturedisplay,withaccuratelymeetstheaboverequirements.Thissystemsethighanddowntemperaturealarmvalue,whenthetemperatureisnotinthisinterval,thealarmsystemwillstarttowork.
Keywords:
MCU,temperaturealarm,DS18B20,AT89S51
第1章绪论
1.1基于单片机温度测量系统的研究背景
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度报警控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。
针对这种实际情况,设计一个温度报警控制系统,具有广泛的应用前景与实际意义。
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度控制的要求都越来越高。
可见,温度的测量和控制是非常重要的。
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生,因此研究温度的测量方法和装置具有重要意义。
温度测量在工业、农业、国防等行业有着广泛的应用,而且随着科学技术的发展对温度测量的应用范围愈来愈广。
利用单片机技术的温度测控系统以其体积小,可靠性高而被广泛采用。
1.2基于单片机温度测量系统的发展现状
自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。
在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。
国内外温度测量系统的发展极为迅速,比如机房温度的监控,蔬菜大棚温度的监控报警等等。
可以温度的检测与报警涉及到人们生活的各个领域,各个角落,世界各国的科学家都在研制越来越先进的温度检测报警系统,用于各个领域的检测和控制,为人们的生活、工作,为工业、农业生产做保障。
温度测量报警系统有很大的发展空间,国内也在这方面投入大量的人力物力进行新产品的研发。
比如国内非典时期用的红外温度测量报警装置,就是温度测量系统发展到现在的一个代表性的产物。
温度测量报警系统在生活中有中药的意义。
现在温度测量报警领域正在蓬勃快速的发展,各国都在进行着各项测试研究,以更好的检测温度,进行控制,让人类能更好的生活、工作和学习。
另外,温度测量控制领域也在不断的扩大,很多国家也共同合作,在共同研制仪器,去进行温度测量控制,温度测量控制这项研究也正在想全球化发展。
1.3基于单片机温度测量系统的研究的目的和意义
温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前我国在这方面总体技术水平处于20世纪80年代中后期水平成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。
温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。
尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。
由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。
1.4基于单片机温度测量系统主要研究内容
在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。
这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。
随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。
本文设计了一种基于AT89S52单片机与DS18B20的温度控制系统。
该设计通过AT89S52单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过数码管显示出来。
同时,扩展电路以后,也可通过RS-232串行口与PC机连接,将数据传送至PC机系统,从而方便温度数据传输和统计工作。
该系统还可扩展成为多点温度采集系统、温度远程监控系统等。
本系统以AT89S52单片机作为主控系统,利用DS18B20数字温度传感器作为温度传感器件。
通过四位共阴极数码管作为显示器件,通过单片机控制继温度显示温度。
当温度高于设定最高温度或者低于设定的最低温度时,蜂鸣器发出报警声并伴随红灯的闪烁。
第2章温度测量系统总体设计方案
2.1温度测量系统设计方案论证
2.1.1方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
2.1.2方案二
在单片机电路设计中,大多都是使用传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
2.1.3总体设计框图
温度测量系统电路设计总体设计方框图如图2-1所示。
图2-1总体设计方框图
控制器采用单片机AT89S51,温度传感器采用DS18B20,用4位LED数码管传送数据实现温度显示。
2.2显示部分设计方案论证
2.2.1方案一
采用1602液晶显示模块,本方案的优点是电路相对简单,显示字符内容较为丰富,考虑到本报警系统只需要显示测量的温度,不需要过多的复杂功能,实用1602液晶显示会增加系统的成本,此方案的缺点也在于此。
2.2.2方案二
采用数码管显示,此方案的最大优点就是成本较低,缺点是电路相对复杂,需要驱动电路,在软件上也需要作出处理。
但是此方案完全可以满足本报警系统的功能和要求,软件处理上也不是特别的复杂,驱动电路也相对简单。
从以上两种方案,综合考虑,采用方案二,虽然电路相对复杂一点,但在成本上却占了很大的优势,并可以完全实现本系统的要求,选择方案二。
2.2.3显示部分的整体框图
显示部分的整体框图如图2-2所示,主要由单片机主控系统控制74HC573锁存器来驱动数码管显示,软件部分主要采用动态扫描的算法。
图2-2显示部分框图
2.3键盘输入部分方案论证
2.3.1方案一
采用矩阵键盘的方式,此方案的优点是按键多,占用单片机I/O口少,比较节省资源,并可用多个按键来进行人机对话,缺点是硬件电路较为复杂,软件程序较为繁琐。
2.3.2方案二
采用独立按键的方式,优点是电路较为简单,软件程序也相对简单,缺点是按键占用I/O口多,占用单片机的资源较多。
由于本报警系统使用按键较少,不需要采用矩阵键盘,采用独立按键完全可以完成要求,并且实现起来也比较简单,综合考虑键盘输入部分选用方案二。
本章小结
本章主要给出了系统的整体设计方案,显示部分设计方案和键盘输入部分的设计方案,并对几种方案进行对比,比较各个方案的优点和缺点,确定最佳方案,为硬件以及软件的实现打下了基础。
第3章温度测量系统硬件部分
3.1单片机模块
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
3.1.1AT89S52功能及特性
AT89S52具有以下标准功能:
4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
与MCS-51单片机产品兼容
8K字节在系统可编程Flash存储器
10000次擦写周期
全静态操作:
0Hz~33Hz
三级加密程序存储器
32个可编程I/O口线
三个16位定时器/计数器
全双工UART串行通道
低功耗空闲和掉电模式
掉电后中断可唤醒
看门狗定时器
双数据指针
掉电标识符
3.1.2AT89S52各个管脚说明
VCC:
供电电压。
GND:
接地。
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.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
表3-1P1口的第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口作为AT89C52的一些特殊功能口,如表3-2所示:
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
表3-2P3的特殊功能
口管脚
备选功能
P3.0RXD
(串行输入口)
P3.1TXD
(串行输出口)
P3.2/INT0
(外部中断0)
P3.3/INT1
(外部中断1)
P3.4T0
(记时器0外部输入)
P3.5T1
(记时器1外部输入)
P3.6/WR
(外部数据存储器写选通)
P3.7/RD
(外部数据存储器读选通)
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.3单片机模块功能
该模块有以下几个部分组成:
复位电路:
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
图3-1复位电路
目前为止,单片机复位电路主要有四种类型:
(1)微分型复位电路;
(2)积分型复位电路;
(3)比较器型复位电路;
(4)看门狗型复位电路。
2、振荡电路:
晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化,震荡电路的电路图如图3-2所示.
图3-2晶振电路
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。
3.2温度采集部分硬件
3.2.1温度传感器DS18B20
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
TO-92封装的DS18B20的引脚排列见下图,其引脚功能描述见表3-3。
(底视图)
图3-3DS18B20引脚图
表3-3 DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时此引脚必须接地。
DS18B20的性能特点如下:
独特的单线接口仅需要一个端口引脚进行通信;
多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
无须外部器件;
可通过数据线供电,电压范围为3.0~5.5V;
零待机功耗;
温度以9或12位数字;
用户可定义报警设置;
报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3-4所示。
图3-4DS18B20内部结构
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3-4所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3-5所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度LSB
温度MSB
TH用户字节1
TL用户字节2
配置寄存器
保留
保留
保留
CRC
图3-5DS18B20字节定义
DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表2是一部分温度值对应的二进制温度数据。
表3-4DS18B20温度转换时间表
R1
R0
分辨率/位
温度最大转换时间/ms
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 温度计