数字式温度计的设计.docx
《数字式温度计的设计.docx》由会员分享,可在线阅读,更多相关《数字式温度计的设计.docx(21页珍藏版)》请在冰点文库上搜索。
![数字式温度计的设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/09ceb935-c541-44f9-a7d8-d69f0973af83/09ceb935-c541-44f9-a7d8-d69f0973af831.gif)
数字式温度计的设计
数字式温度计的设计
摘要
随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感原件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,监测系统也有一定的误差。
与传统的温度计相比,这次设计的是基于DS18B20的数字温度计。
它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
在本设计中选用AT89C系列单片机为核心器件,采用DS18B20数字传感器为测温元件,通过3位LED数码管显示并进行传送数据,实现温度显示。
本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,对温度的采集与实现进行编程,通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。
关键词:
单片机AT89C2051;温度传感器DS18B20;LED数码管;数字温度计
DigitalThermometerDesign
Summary
Withtherapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealize,abletoworkindependentlytemperaturedetectionanddisplaysystemappliedtomanyfields.Thetraditionaltemperaturetestingtothermistorsfortemperaturesensitiveparts.Fortementlowcost,requireadditionalsignalprocessingcircuitsarerelativelypoor,andreliability,lowtemperaturemeasurementaccuracy,monitoringsystemalsohasthecertainerror.Comparedwiththetraditionalthermometer,thisdesignisbasedondigitalthermometer.ThechipDS18B20Ithasreadingsconvenient,measuringtemperaturerange,temperaturemeasurementprecision,thedigitaldisplaycharacteristics,wideapplicationscope.
InthisdesignchoosesAT89C2051seriesmicrocontrollerasthecorecomponent,usingDS18B20digitalsensorsfortemperaturemeasuringelement,throughthreeLEDdigitalpipedisplayandtransmitdata,realizetemperaturedisplay.Themaincontentofthisdesigncanbedividedintotwoparts,oneisthedesignofsystemhardwareparts,includingthetemperatureacquisitioncircuitanddisplaycircuit;2itisthedesignofsystemsoftwarepartofthecollectionoftemperature,andimplementprogramming,throughDS18B20directlyreadtemperaturebeingmeasureddataprocessing,intoSCM,outputshownafter,eventuallycompletedtheoveralldesignofdigitalthermometer.Thesystemstructureissimple,signalacquisitioneffectisgood,dataprocessingspeed,facilitatepracticaldetectionusing.
Keywords:
SCMAT89C2051;TemperaturesensorDS18B20;LEDdigitaltube;Digitalthermometer
目录
摘要…………………………………………………………………1
一绪论…………………………………………………………………3
1.1国内外测温状况
1.2温度检测技术介绍
1.3课题研究主要内容
二设计方案
2.1设计要求
2.2设计思路
三系统设计
系统硬件设计。
3.1硬件电路设计框图与器件选择
3.2DS18B20及其引脚
3.3DS18B20的内部结构及功能
3.4DS18B20命令集
3.5DS18B20的的通信协议
3.6DS18B20的编程
四程序设计
4.1系统存储空间的分配
4.2主程序设计
4.3程序设计框图
4.4设计程序
五总结与体会
六致谢
七参考文献
绪论
“工欲善其事,必先利其器”,这是中国的一句古话,人们早就知道工具的重要性。
随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。
作为工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。
而温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。
随着工业的不断发展,对温度测量的要求越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高。
因此温度测量与温度测量技术的研究也是一个重要的研究课题。
1.1国内外测温情况
随着国内外工艺的日益发展,温度检测技术也不断的进步,目前的温度检测使用的温度计种类繁多、应用范围也较广泛,大致包括一些几种方法:
利用物体热胀冷缩原理制成的温度计,包括玻璃温度计、双金属温度计、压力温度计等;
(2)利用热电效应技术制成的温度检测元件
利用此项技术制成的温度检测元件主要是热电偶。
热电偶发展较早,比较成熟,至今仍未应用最广泛的检测元件。
热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。
常用热电偶镍铬-镍硅、镍铬-康铜、铂铑-铂、铂锗30-铂锗6等;
(3)利用热阻效应制成的温度计
可分为电阻测温元件、导体测温元件、陶瓷热敏测温元件;
(4)利用热幅原理制成的高温计
辐射测温在近年相对其他的测温领域显得活跃些,热辐射高温计通常分为两种:
一种是单色辐射高温计,一般称为光学高温计;另一种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射,。
而受热物体放出的辐射能的多少,与他的温度有一定的关系。
热辐射式高温计就是根据这种热辐射原理制成的。
(5)利用声学原理进行温度测量
声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布进行检测,判断炉的燃烧状况,进行实时调节和控制。
声学温度检测技术的基本原理是通过测量声波传感器之间的声波传播时间以最小二乘原理重建温度的测量方法。
1.2温度检测技术介绍
近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重大进展。
新一代的温度检测元件正在不断地出现和完善化。
(1)晶体管温度检测元件
半导体温度检测元件是具有代表性的温度检测元件。
半导体的电阻温度系数比金属打1-2个数量级,二极管和三极管的PN结电压、电容对温度灵敏度很高。
基于上述测温原理已研制了各种温度检测元件。
(2)集成电路温度检测元件
利用硅结晶管基极——发射极间电压与温度关系(即半导体PN结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。
目前,国内外业进行了生产。
(3)磁核共振温度检测器
所为磁核共振现象是指具有核自旋的物质置于静磁场中时,当于静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。
利用共振吸收频率随温度上升而减少的原理研制成的温度检测器,成为核磁共振温度检测器。
这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号是用于数字化运算处理,故是一种性能十分良好的温度检测器。
在常温下,可做理想的标准温度计之用。
(4)热噪声温度检测器
他的原理是利用热电阻元件产生的噪声电压与温度的相关性,
其特点是:
1.输出噪声电压大小与温度是正比例关系;
2.不受压力影响;
3.感温元件的阻值几乎不影响测量精确度。
所以它是可以直接读出绝对温度值而不受材料和条件限制的温度检测器。
(5)石英晶体温度检测器
它采用LC或Y型切割的石英晶片的共振频率随温度的变化来制作的。
它利用P技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到0.001℃,所以可做标准检测之用。
(6)激光温度检测器
激光测温特别适用于远程测量和特殊环境下的温度测量,用氦氖激光源的激
光作反射计可测得很高的温度,精度达1%;用激光干涉和反射原理制作的温度检测器可测得更高温度,上限可达3000℃,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。
(7)微波温度检测器
采用微波测温可以达到快速测量高温的目的。
它是利用在不同的温度下,温度与控制电压呈线性关系的原理制成的。
这种检测器的灵敏度为250kHZ/℃,精度为1%左右,检测范围为20℃-1400℃。
(8)纯贵金属热电偶的研究
由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性好得多。
在铂铑合金热电阻(S,R型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替S和R型热电偶,作为传递的标准。
(9)信息技术时代自动化系统中的温度检测仪表
现代的工业进程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一大自动控制系统。
现场总线是安装在制造或过程区域的现场装置与控制室内的自动化装置之间的数字式、串行、多点通信的数据总线。
所有的现场仪表(温度检测仪表是其中一种)均接到现场总线上。
在这样的系统中,通常不应使用各种不同输出的温度计,必须将输出转变成统一的电信号,这样的“温度计”就变成了“温度变送器”。
在现场总线控制系统中的温度变送器主要是有热电偶和热电阻变送器,也有辐射温度变送器。
1.3课题研究的主要内容
温度传感器是当前温度检测的主要器件,本课题的主要出发点式设计出测量温度检测的温度连续监测的仪器。
本文主要讲述了用温度传感测温的主要远离、实际硬件电路的设计、软件设计和调试分析。
2设计方案
2.1设计要求
(1)以MCS-51系列单片机为核心器件,组成一个数字式温度计。
(2)采用数字是温度传感器为检测器件,进行单点温度检测,检测精度为±0.5℃。
(3)温度显示采用3为LED数码管显示,两位整数,一个小数。
(4)具有键盘上下输入上下限功能,超过上下限温度时,进行声音报警。
2.2设计思路
(1)根据设计要求,选择AT89C2051单片机为核心器件。
(2)温度检测器件采用DS18B20数字式温度传感器。
与单片机的接口为P3.7引脚。
(3)键盘采用独立式按键,由3个按键组成,分别为:
设置键(SET)、加一键(+1)、确认键(RET)。
※SET键(上下限温度设置键):
当该键按下时,进入上下限温度设置功能。
※+1键(加一调整键):
在输入上下限温度时,该键按下一次,被调整位加一。
※RET键(确认键):
当该键按下时,指向下一个要调整的位。
按键的接入方式
SER键:
通过P3口INT0引脚接入,中断工作方式。
+1键:
通过P3口P3.0引脚接入,查询工作方式。
RET键:
通过P3口P3.1引脚接入,查询工作方式。
(4)声音警报翁鸣器通过P1.7引脚接入。
三系统设计
3.1硬件电路设计框图
根据设计要求与设计思路,硬件电路设计框图如图1所示。
AT89C系列与MCS-51系列单片机相比有两大优势:
第一,片内程序存储器采用闪速存储器,是程序的写入更加方便;第二,提供了更小尺寸的芯片,是整个硬件电路的体积更小。
89C2051芯片采用DIP-20封装,引脚配置如图1所示,与8051进行对比后可发现,AT89C2051减少了两个对外端口(即P0、P2口),因而芯片尺寸有所减少。
AT89C2051
LED数码管的位驱动电路是由三个ONO型晶体管VT2、VT3、VT4和6个电阻组成,基极与单片机的P1.4、P1.5、P1.6连接。
其工作原理是,当某个晶体管的基极为低电平时,该晶体管道通,对应位的LED被点亮,反之则不亮。
二是加入了一直温度传感器DS18B20进行温度检测,DS18B20的数据I/O端与单片机的P3.7引脚连接。
硬件电路原理图如图2所示。
3.2DS18B20及其引脚
DS18B20是美国DALLAS公司生产地单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很好的集成电路芯片上,传感器直接输出的就是温度数字信号值。
信号传输采用两芯(或三芯)电缆构成的单总线结构。
一条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。
微控制器通过对器件的寻址,就可以读取某一个传感器上的温度值,从而简化了信号采集系统的电路结构。
DS18B20功能特点是:
采用单总线技术,与单片机通信只要一根I/O线,在一根线上挂接多DS18B20。
每只DS18B20只有一个独有的、不可修改的64位序列号,根据序列号访问对应的器件。
低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电)。
测量范围为-55℃~+125℃,在-10℃~85℃范围内误差为±0.5℃。
可编程数据为9~12位,转换12位温度时间为750ms(最大)。
用户可设定报警上下限温度。
报警搜索命令可识别和寻址哪个器件的温度超出预定值。
DS18B20的分辨率可由用户通过EEPROM设置为9~12位。
DS18B20可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。
DS18B20的引脚:
DS18B20采用3脚(或8脚)封装,如图3所示。
其中,VCC和GND是电源和接地引脚,DQ是数据引脚。
从图中看到,DS18B20以串行通信方式与微控制器进行数据通信,读出或写入数据仅需要一根I/O接口线。
3.3DS18B20的内部结构及功能
DS18B20的内部结构如图4所示。
主要包括:
寄生电源、温度传感器、64位激光ROM和单总线接口、存放中间数据的暂存器RAM、用于存储用户设定温度上下限值的TH和TL触发器、存储于控制逻辑、8位循环冗余校验码(CRC)发生器等7部分。
温度传感器
DS18B20测量温度时使用特有的温度测量技术,将被测温度转换成数值信号,测量结果存入温度寄存器中。
温度和数字量的关系如表1所示。
寄生电源
寄生电源有二极管VD1、VD2、寄生电容C和电源检测电路组成,如图5所示。
电源检测电路用于判定供电方式。
DS18B20有两种供电:
3.0~5.5V的电源供电方式和寄生电源供电方式(直接从数据线获取电源)。
若采用外部电源给器件供电,外部电源接VCC引脚通过VD2向器件供电,如图6所示。
寄生电源宫殿式,VCC端接地,器件从单线总线上获取电源,如图7所示。
在I/O线呈低电平时,改由电容C上的电压继续向电器供电。
该寄生电源有两个有点:
第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读RAM。
3.64位只读存储器ROM
ROM由64位二进制数字组成,共分为8个字节,字节0的内容是该产品的厂家代号28H,字节1~6的内容是48位器件序列号,字节7是ROM前56位的CRC校验码。
由于64位ROM码具有唯一性,在使用时作为该器件的地址,通过读ROM命令可以将它读出来。
DS18B20内部存储器由ROM、RAMH和E²ROM组成,如图8所示。
4.高速暂存器RAM
RAM是由9个字节的高速暂存器和非易失性电擦写E²ROM组成。
其中字节0、1存储当前温度,字节2、3存储上线先报警温度TH、TL字节4是配置存储器,字节8时RAM前64位的CRC校验码。
RAM中E²ROM用于存储TH、TL配置寄存器的值。
数据先写入RAM,经校验后再传给E²ROM。
通过DS18B20功能命令对RAM进行操作。
DS18B20的温度测量范围是-55~+125℃,分辨率的默认值是12位。
表2温度存储格式与配置寄存器控制字的格式。
由表2可知,检测温度有两个字节组成,字节1的高5位S代表符号位,字节0的低4位是小数部分,中间7位是整数部分;字节4是配置寄存器控制字的格式,当R0R1的值为00B、10B、11B时,对应的分辨率位9、10、11、12位,转换时间为93ms、187ms、375ms、750ms。
当主机发出温度转换命令(44H)时,启动温度转换过程,转换时间最长750ms。
主机通过读暂存器功能命令(BEH),将温度值读出。
通过写暂存器功能命令,改变分辨率的设置。
5.温度报警信号
DS18B20完成温度转换后,就把测得的温度值与TH、TL作比较,若T>TH或T<TL,则将该器件内的报警标志置位,并对主机发出的告警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
一旦某测温点越线,主机利用报警搜索命令,即可识别正在报警的器件,并读出其序号,而不必考虑非报警器件。
6.CRC发生器
在64位ROM的最高有效字节中存有循环冗余校验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值作比较,以判断主机收到的ROM数据是否正确。
CRC的函数表达式为:
CRC=X8+X5+X4+1
此外,DS18B20尚需依上式为暂存器中的数据来产生一个8位CRC传送给主机,作为数据校检用。
3.4DS18B20命令集
1.ROM操作指令
ROM操作指令如表所示。
2.RAM操作指令
RAM操作指令如表所示。
3.5DS18B20的的通信协议
数字是温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号,然后通过传信通信的方式输出。
因此掌握DS18B20的通信协议是使用该器件的关键。
所有的DS18B20器件要求采用严格的通信协议,以保证数据的完整性。
该协议定义了几种信号类型:
复位脉冲、应答脉冲时隙;写“0”、读“1”时隙。
与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。
发送所有的命令和数据时,都是字节的低位在前,高位在后。
复位和应答脉冲时隙
每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,如图所示。
在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。
在每一个时隙,总线只能传输一位数据。
写时隙
当主机将单总线DQ从逻辑高(空闲状态)拉为逻辑低时,即启动一个写时隙。
所有的写时隙必须在60~120μs完成,且在每个循环之间至少需要1μs的恢复时间。
写0和写1时隙如图所示在写0时隙器件,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15μs之内释放总线。
读时隙
DS18B20器件仅在主机发出读时隙时,才向主机传输数据。
所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。
所有读时隙至少需要60μs。
且在两次独立的读时隙期间,至少需要1μs的恢复时间。
每个读时隙都由主机发起,至少拉低总线1μs。
读时隙如图所示,在主机发起读时隙之后,DS18B20器件才开始在总线上发送“0”或“1”。
若DS18B20发送“1”,则保持总线为高电平。
若发送“0”,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至空闲高电平状态。
DS18B20发出的数据,在起始时隙之后保持有效时间15μs。
因而主机在读时隙期间,必须释放总线。
并且在时隙起始后的15μs之内采样总线状态。
3.6DS18B20的编程
设置合适的时隙,是保证传感器工作的前提条件。
下面是时钟频率=12MHz,DS18B20的复位、读一个字节和写一个字节的程序:
1.DS18B20的复位程序
DQEQUP1.0
RST:
NOP
L0:
CLRDQ
MOVR2,#160
L1:
NOP
DJNZR2,L1
SETBDQ
MOVR2,#20
L4:
DJNZR2,L4
CLRC
ORLC,DQ
JCL3
MOVR6,#30
L5:
ORLC,DQ
JCL3
DJNZR6,L5
SJMPL0
L3:
MOVR2,#120
L2:
DJNZR2,L2
RET
2.读一个字节子程序;读入数据在A累加器中
READ:
MOVR6,#8
RE1:
CLRDQ
MOVR4,#4
NOP
SETBDQ
RE2:
DJNZR4,RE2
MOVC,DQ
RRCA
MOVR5,#20
RE3:
DJNZR5,RE3
DJNZR6,RE1
MOV3DH,A
SETBDQ
RET
3.写一个字节子程序;要写入DS18B20的数据在A累加器中
WR:
MOVR3,#8
WR1:
SETBDQ
MOVR4,#6
RRCA
CLRDQ
WR2:
DJNZR4,WR3
MOVDQ,C
MOVR4,#20
WR3:
DJNZR4,WR3
DJNZR3,WR1
SETBDQ
RET
延时1000ms子程序
YS1000:
MOV50H,#08H
YS125:
MOV51H,#0FAH
YS5:
MOV52H,#0FAH
YS1:
DJNZ52H,YS1
DJNZ51H,YS5
DJNZ50H,YS125
RET
四程序设计
数字式温度计的应用程序由主程序、LED显示子程序、键盘输入程序和温度检测程序组成。
其中,LED显示子程序、键盘输入程序可以参考电子时钟系统的程序,稍加修改即可使用。
下面主要介绍温度检测程序和主程序的设计。
4.1系统存储空间的分配
本系统在运行中所需存储容量不是很大,所以不再扩展外部数据存储器,只用内部的RAM即可。
其中,00H~1FH作为通用寄存器使用,20H~2FH作为位标志使用,60H~7FH作为堆栈区使用,30H~3FH作为系统运行时的存储单元使用,40H~4FH作为系统的显示缓冲区。
4.2主程序设计
系统的主程序主要用来初始化一些系统参数,对DS18B20的配置数据进