基于DS18B20的数字温度计设计.docx

上传人:b****5 文档编号:6472250 上传时间:2023-01-06 格式:DOCX 页数:31 大小:205.97KB
下载 相关 举报
基于DS18B20的数字温度计设计.docx_第1页
第1页 / 共31页
基于DS18B20的数字温度计设计.docx_第2页
第2页 / 共31页
基于DS18B20的数字温度计设计.docx_第3页
第3页 / 共31页
基于DS18B20的数字温度计设计.docx_第4页
第4页 / 共31页
基于DS18B20的数字温度计设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于DS18B20的数字温度计设计.docx

《基于DS18B20的数字温度计设计.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的数字温度计设计.docx(31页珍藏版)》请在冰豆网上搜索。

基于DS18B20的数字温度计设计.docx

基于DS18B20的数字温度计设计

基于DS18B20的数字

温度计设计

学生姓名:

指导教师:

所在学院:

专业:

摘要

温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生活中的更加广泛应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于AT89S51的温度检测及报警系统。

该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工作、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

该系统设计和布线简单,结构紧凑,抗干扰能力强,在大型仓库、工厂、智能化建筑等领域的温度检测中有广泛的应用前景。

关键词:

单片机DS18B20温度传感器智能化

ABSTRACT

Temperaturemeasurementandcontrolofindustrialprocessisoneofthetypicalapplications,assensorshavemoreextensiveapplicationintoday,tousethenewdigitaltemperaturesensorsfortemperaturetestingandcontrollinggetfastdevelopment,thispaperdesignasystembasedonAT89S51fortemperaturetestingandalarming.Thesystemiseasytorealizethetemperaturegatheringanddisplaying,andcanaccordingtoneedsettemperatureforarming,itisveryconvenienttouseit,Ithastheadvantagesofhighprecision,rangingwide,highsensitivity,smallvolume,lowpower,itsuitsourdailylifeworkandagriculturetemperaturetesting,alsocanbeusedastemperatureprocessingmodulesinothersystemsasauxiliarypartinothermainsystem.Thesystemdesignandwiringsimple,compactstructure,stronganti-jammingcapability,ithasbroadapplicationprotestinlargewarehouse,factories,intelligentbuildingandotherareasoftemperaturetesting.

Keywords:

MicrocontrollerTemperaturesensorDS18B20Intelligent

前言

当今社会,温度检测系统被广泛应用到社会生产、生活等各个领域中。

在工业、环境检测、医疗、家庭等多方面都有应用。

日常生活及工农业生产中经常要用到温度的检测及控制,在冶金、食品加工、化工等工业生产过程中,广泛使用的各种加热炉、热处理炉、反应炉等,都要求对温度进行严格控制。

在日常生活中,电烤箱、微波炉、电热水器、烘干箱等电器也需要进行温度检测与控制。

传统的测温元件有热电偶和热电阻。

而热电偶和热电阻测出的一般是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。

而采用单片机对温度进行控制,不仅具有控制方便,简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。

并且单片机在电子产品中的应用已经越来越广泛。

测量温度的关键是温度传感器,温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。

随着温度检测理论与技术的不断更新,温度传感器的种类也越来越多,在测温电路中,可以使用热敏电阻之类的器件利用其感温效应,将随被测温度变化的电压或电流采集过来,先进行A/D转换,然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。

这种设计需要用到A/D转换电路,因此感温电路的设计比较复杂。

在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和单导体传感器等,每种传感器根据其自身特性,都有它自己的应用领域。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等优点,主要用于对温度要求比较精确的场所或科研实验室。

该设计控制器使用单片机AT89S51,温度传感器使用DS18B20,用4位共阴极LED数码管以串口显示数据,实现温度显示。

由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。

DS18B20温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。

1绪论

1.1多功能数字温度计设计的背景

温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。

在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、粮食储存、酒类生产等领域,温度常常是表征对象和过程状态的最重要的参数之一。

传统的水银或酒精温度计来测量温度,不仅测量时间长、读数不方便、而且功能单一,已经不能满足人们在数字化时代的要求。

本文提出了一种新型的数字式温度测量电路的设计方案,该方案集成了温度测量电路。

在此利用集成温度传感器DS18B20设计并制作了一款基于AT89S51的四位LED数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。

还采用了24MHz的晶振作为AT89S51的时钟源和4位的共阴极数码管作为温度的显示设备,通过编程的方式来实现实温度的显示、修改等功能,使产品更具实用性。

1.2课程设计的目的和意义

通过课程设计使我进一步熟悉了单片机的内部结构和工作原理,掌握了单片机应用系统设计的基本方法和步骤,通过学习MCS-51单片机,了解单片机在自动化装置中的作用以及掌握单片机的编程和调试方法,通过一个简单的实际应用输入控制以及显示系统,掌握protel和keil软件的使用。

目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它最重要的组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和应用领域等。

传感器应用及其广泛,目前已经研制出多种传感器。

但是,作为系统的设计人员需要根据系统的实际情况选用适宜的传感器,并与自己设计的系统相适应。

 

2总体设计方案

方案一:

由于本设计是测量电路,可以使用热电阻类的器件利用其感温效应,在将随时测得的温度转变为电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据处理,在显示在电路上就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

方案二:

考虑到用温度传感器,在单片机电路设计中,大多都使用传感器,所以可采用温度传感器DS18B20,这种传感器可以很容易直接读取被测量的温度值,用起来非常方便,进行转换后,就可以满足设计要求[1]。

从以上两种方案很容易看出,方案二电路比较简单,软件设计也相对简单,故本设计采用方案二。

2.1整体功能说明

以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。

数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。

温度测量间隔时间选择1s。

通过键盘扩展,实现温度上下限值的设定及温度报警功能。

对温度采样值实现数字滤波。

通过硬件或软件方法实现时间显示。

2.2硬件功能模块组成

温度计的控制器使用单片机AT89S51,温度传感器使用DS18B20,用4位共阴极LED数码管以动态扫描法实现温度显示。

主控制器:

单片机AT89S51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。

显示电路:

显示电路采用4位共阴极LED数码管,从P1口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用74LS04来驱动数码管[2]。

2.3软件功能组成模块

系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等[3]。

主程序:

主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。

温度测量每1s进行一次。

读出温度子程序:

主要功能是读出RAM中的9字节。

在读出时须进行CRC校验,校验有错时不进行温度数据的改写。

温度转换命令子程序:

主要是发温度转换开始命令。

计算温度子程序:

将RAM中读取值进行BCD码的转换运行,并进行温度值正负的判定。

显示数据刷新子程序:

主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。

2.4测试计划

(1)硬件测试:

主要测试各部分硬件是否能正常工作,每部分通过简单程序来检测。

(2)软件测试:

测试软件是否符合设计要求、是否存在BUG。

2.5本章小结

本章主要介绍了硬件电路的整体设计方案以及对整个设计的构思。

主要上包括硬件组成模块、软件组成模块两大部分。

3系统硬件电路的设计

3.1整体功能说明

硬件总体框图如图1所示。

以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。

数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。

温度测量间隔时间选择1s[4]。

图1硬件总体框图

3.2硬件功能模块组成

温度计硬件电路设计原理图见附录Ⅰ,温度计的控制器使用单片机AT89S51,温度传感器使用DS18B20,用4位共阴极LED数码管以动态扫描法来实现温度显示。

图中有3个独立式按键可以分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度显示,这时可以调整上下限,从而测出被测的温度值。

 

3.2.1主控制器

1.单片机的选择

单片机具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。

对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbyte的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚[5]。

它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。

单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用三节电池供电。

主要特性如下[6]:

●与MCS-51兼容

●4K字节可编程闪烁存储器

●寿命:

1000写/擦循环

●数据保留时间:

10年

●全静态工作:

0Hz-24Hz

●三级程序存储器锁定

●128*8位内部RAM

●32可编程I/O线

●两个16位定时器/计数器

●5个中断源

●可编程串行通道

●低功耗的闲置和掉电模式

●片内振荡器和时钟电路

2.引脚功能介绍

AT89S51单片机为40引脚双列直插式封装。

其引脚排列和逻辑符号如图2所示:

图2AT89S51引脚图

各引脚功能简单介绍如下[7]:

●VCC:

供电电压

●GND:

接地

●P0口:

P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。

当P1口的管脚写“1”时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

●P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

●P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。

作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

●P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入时,由于外部下拉为低电平,P3口将输出电流,也是由于上拉的缘故。

P3口也可作为AT89S51的一些特殊功能口:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2INT0(外部中断0)

P3.3INT1(外部中断1)

P3.4T0(计时器0外部输入)

P3.5T1(计时器1外部输入)

P3.6WR(外部数据存储器写选通)

P3.7RD(外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号。

●RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

●ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

●PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取址期间,每个机器周期PSEN两次有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

●EA/VPP:

当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

●XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

●XTAL2:

来自反向振荡器的输出。

3.2.2温度测量模块

主要用到的是DS18B20温度传感器,将采集到的温度模拟量(-55℃~125℃)转换成数字量,并接上一个上拉电阻后再送给单片机P2.0口。

3.2.3显示电路

显示电路采用4位共阴极LED数码管,从P1口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用74ls04。

 

3.2.4温度传感器工作原理

1.DS18B20的性能特点[8]

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器。

与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。

DS18B20的性能特点如下:

●独特的单线接口仅需要一个端口引脚进行通信;

●多个DS18B20可以并联在唯一的三线上,实现多点组网功能;

●不需要外部器件;

●可通过数据线供电,电压范围为3.0-5.5V;

●零待机功耗;

●温度以9-12位数字量读出;

●用户可定义的非易失性温度报警设置;

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。

2.DS18B20的内部结构[9]

DS18B20采用3脚PR-35封装或8脚SOIL封装,其内部结构框图如图3所示。

图3DS18B20内部结构框图

64位ROM的位结构如图4所示。

开始8位是产品类型的编号,接着是每个器件的唯一的序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。

非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据[10]。

8位检验CRC

48位序列号

8位工厂代码(10H)

MSBLSBMSBLSBMSBLSB

图464位ROM结构框图

DS18B20温度传感器的内部存储器还包括一个告诉暂存器RAM和一个非易失性的可擦除的EERAM。

高速暂存RAM的结构为8字节的存储器[11]。

头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。

该字节各位的定义如图5所示。

低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

1字节

温度LSB

温度MSB

TH用户字节1

TL用户字节2

配置寄存器

保留

保留

保留

CRC

2字节

TH用户字节1

TL用户字节2

EEPROM

3字节

4字节

5字节

6字节

7字节

8字节

9字节

TM

R1

R0

1

1

1

1

1

图5高速暂存RAM结构图与配置寄存器图

由表1可知,DS18B20温度转换的时间较长。

而且分辨率越高,所需的温度数据转换时间越长。

因此,在实际应用中要将分辨率和转换时间权衡考虑。

温度传感器DS18B20程序,采用器件默认的12位转化,最大转化时间750毫妙[12],可以将检测到的温度直接显示到的四位数码管上。

 

表1DS18B20温度转换时间表

R1

R0

分辨率/位

温度最大转换时间/MS

0

0

9

93.75

0

1

10

187.5

1

0

11

375

1

1

12

750

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。

第9字节读出前面的所有8字节的CRC码,可用来检测数据,从而保证通信数据的正确性。

当DS18B20接受到温度转化命令后,开始启动转换。

转换完成后的温度值就可以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。

单片机可以通过单线接口读出该数据,读出数据低位在先,高位在后,数据格式以0.0625C°/LSB式表示[13]。

温度值格式如表2所示。

表2温度值数据格式

LS字节

23

22

21

20

2-1

2-2

2-3

2-4

S

S

S

S

S

26

25

24

MS字节

当符号位S=0时,表示测得的温度为正直,可以直接将二进制维转换为十进制;当符号位S=1时,表示测得的温度值为负值要先将补码变成原码,在计算十进制数值。

表3为一部分温度值对应的二进制温度数据。

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。

若T>TH或T

因此,可用多只DS18B20同时测量温度并进行报警搜索。

在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。

主机ROM的前56位来计算CRC值,并和存入的DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。

 

表3DS18B20温度预测得值对应表

温度/C

二进制表示

十六进制数

+125

0000011111010000

07D0H

+85

0000010101010000

0550H

+25.0625

0000000110010001

0191H

+10.125

0000000010100010

00A2H

+0.5

0000000000001000

0008H

0

0000000000000000

0000H

-0.5

1111111111111000

FFF8H

-10.125

1111111101011110

FF5EH

-25.0625

1111111001101111

FE6FH

-55

1111110010010000

FC90H

另外,由于DS18B20单线通信功能是分时完成的,他有严格的时序概念,因此读写时时序很重要。

系统对DS18B20的各种操作按协议:

初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。

分别说明如下:

1.初始化:

单线的所有处理均从初始化开始。

初始化过程是主机通过向作为从主机的DS18B20芯片发一个有时间宽度要求的初始化脉冲实现的。

初始化后,才可进行读写操作。

2.ROM操作命令:

总线主机检测到DS18B20的存在便可以发出ROM操作命令之一[15]。

这些命令表4:

表4ROM操作命令

指令

代码

ReadROM(读ROM)

[33H]

MatchROM(匹配ROM)

[55H]

SkipROM(跳过ROM)

[CCH]

SearchROM(搜索ROM)

[F0H]

Alarmsearch(警告搜索)

[ECH]

存储器操作命令如表5:

表5存储器操作命令

指令

代码

WriteScratchpad(写暂存存储器)

[4EH]

ReadScratchpad(读暂存存储器)

[BEH]

CopyScratchpad(复制暂存存储器)

[48H]

ConvertTemperature(温度变换)

[44H]

RecallEPROM(重新调出)

[B8H]

ReadPowersupply(读电源)

[B4H]

3.DS18B20测温原理

如图6所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1。

高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。

图6DS18B20的测温原理图

图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1和温度寄存器中,减法计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1