基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx

上传人:b****7 文档编号:10544633 上传时间:2023-02-21 格式:DOCX 页数:35 大小:439.79KB
下载 相关 举报
基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx_第1页
第1页 / 共35页
基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx_第2页
第2页 / 共35页
基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx_第3页
第3页 / 共35页
基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx_第4页
第4页 / 共35页
基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx

《基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx》由会员分享,可在线阅读,更多相关《基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx(35页珍藏版)》请在冰豆网上搜索。

基于AT89S51单片机的DS18B20数字温度传感器的毕业材料.docx

基于AT89S51单片机的DS18B20数字温度传感器的毕业材料

摘要……………………………………………………………………2

第一章绪论……………………………………………………………4

1.1传感器发展的三个阶段……………………………………………4

1.2传感器发展趋势……………………………………………………4

1.3传感器在在系统中的应用…………………………………………4

1.4设计研究意义………………………………………………………5

1.5设计的目标任务……………………………………………………5

第二章方案选择………………………………………………………6

2.1引言…………………………………………………………………6

2.2方案设计……………………………………………………………6

2.2.1控制模块…………………………………………………………6

2.2.2温度采集模块……………………………………………………6

2.2.3显示模块…………………………………………………………7

2.3系统框图……………………………………………………………7

第三章硬件设计………………………………………………………7

3.1温度传感器…………………………………………………………7

3.1.1温度传感器选用细则……………………………………………7

3.1.2DS18B20传感器简介……………………………………………9

3.2DS18B20的测温原理………………………………………………11

3.3DS18B20与微处理器的接口技术…………………………………13

3.4DS18B20的测温流程………………………………………………16

3.5系统硬件电路设计………………………………………………16

3.5.1设计原则………………………………………………………16

3.5.2设计中的各种电路……………………………………………17

第四章系统软件设计………………………………………………21

4.1系统软件设计整体思路…………………………………………21

4.2系统软件设计的一般原则………………………………………21

4.3系统软件设计的一般步骤………………………………………22

4.4系统程序流程图……………………………………………………22

第五章小结……………………………………………………………27

结束语…………………………………………………………………28

参考文献………………………………………………………………28

致谢……………………………………………………………………28

 

摘 要

随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。

在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。

本课题以AT89C51单片机系统为核心,能对多点的温度进行实时巡检。

DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。

本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。

关键词:

温度测量;单总线;数字温度传感器;单片机  

 

第一章 绪论

课题的背景

在人类的生活环境中,温度扮演着极其重要的角色,都无时无刻不在与温度打交道。

自18世纪工业革命以来,工业发展与是否掌握温度有着紧密的联系。

在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。

温度对于工业如此重要,由此推进了温度传感器的发展。

1.1传感器三个发展阶段:

一是模拟集成温度传感器。

该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。

此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行非线性校准,且外围电路简单。

它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。

二是模拟集成温度控制器。

模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。

某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。

但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。

三是智能温度传感器。

智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。

有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,当然,其智能化程度也取决于软件的开发水平。

1.2温度传感器的发展趋势

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。

1.3传感器在温控系统中的应用

目前市场主要存在单点和多点两种温度测量仪表。

对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。

此种产品测温范围大都在-200℃~800℃之间,分辨率12位,最小分辨温度在0.001~0.01之间。

自带LED显示模块,显示4位到16位不等。

有的仪表还具有存储功能,可存储几百到几千组数据。

该类仪表可很好的满足单个用户单点测量的需要。

多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。

针对目前市场的现状,本设计提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。

1.4设计研究意义

随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、家用电器等各种温度控制系统中被广泛应用,且由过去的单点测量向多点测量发展。

目前温度传感器有模拟和数字两类传感器两种,为克服模拟传感器与微处理器接口时所需的信号调理电路或A/D转换器的缺点,多点检测温度控制系统多采用智能数字温度传感器,是系统的设计更加方便。

常用的智能数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635等等。

在传统的温度测量系统设计中,往往采用模拟技术,这样就不可避免地遇到引线误差补偿、多点测量中的切换误差和信号调整电路的误差等问题;而其中某一环节处理不当,就会导致系统性能的降低。

随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。

美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需占用一个通用I/0端口即可完成与微处理器间的通信;在-10~+85℃温度范围内具有

0.5℃精度;用户可编程设定9~12位的分辨率。

这些特性使得DS18B20非常适用于高精度、多点温度测量系统的设计。

1.5设计的任务目标

本设计主要是实现对温度进行多点同时测量并准确显示。

整个系统由MCU(单片机)控制,用于接收传感器采集的温度数据并加以显示出来,还可以从键盘设定温度报警值,系统根据命令,选择对应的传感器采集温度数据,并由驱动电路驱动温度显示。

利用一个单片机设计一个能够对多点温度同时进行测量的温度检测系统。

该系统能够同时对多个点的温度进行测量和进行显示,并且能够对异常情况进行声光报警。

 

第二章方案选择

2.1引言

温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。

对于控制系统可以采用计算机、单片机等。

2.2方案设计

本系统主要由三个模块组成:

控制模块、温度采集模块、显示模块。

2.2.1控制模块

本设计采用单片机基于数字温度传感器DS18B20的系统。

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

温度传感器DS18B20利用单总线的特点可以方便的实现多点温度的测量,组建传感器网络,且系统的抗干扰性好、设计灵活、方便,而且能在恶劣的环境下进行现场温度检测。

本系统可以应用在大型工业及民用常温多点监测场合。

如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械…等。

2.2.2温度采集模块

这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。

DS18B20智能温度温度传感器进行温度采集和转换输出数字型的温度值,然后通过数据引脚传到单片机的P1.1口,单片机接受温度并存储。

DS18B20是美国DALLAS半导体公司最新推出的一种单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,它可将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理和A/D转换等复杂模/数转换电路。

DS18B20构成的温度采集模块电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。

它具有集成度高、模拟输入数字输出、抗干扰能力强、体积小、接口方便、传输距离远测温误差小等特点。

DS18B20有PR-35和SOSI两种封装方式,本次设计采有PR-35式封装,如图1.2所示。

图(a)PR-35封装图(b)SOSI封装

图2-1DS18B20的两种封装

2.2.3温度显示模块

本课程设计的显示模块采用3位共阴极LED数码管显示温度数据,两位整数,一位小数进行显示,从P0口送数,P2口扫描。

2.3系统框图

系统的系统设计方框图如图1.1所示,它主要由三部分组成:

①控制部分主芯片采用单片机AT89S51;②显示部分采用3位共阴极LED数码管以动态扫描方式实现温度显示;③温度采集部分的温度传感器采用DS18B20智能温度温度传感器。

还有按键设置报警温度值和加热降温电路。

图2-2多路温度检测与控制总体设计框图

第三章硬件设计

本课程设计的多点测温系统是以单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及智能温度传感器DS18B20的优越性能构成一个完备的测温系统,实现对温度的多点测量。

整个系统由单片机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。

本课程设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。

由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。

本课题的整个系统是由单片机、显示电路、键盘电路、声光报警电路等构成。

3.1 温度传感器

3.1.1温度传感器选用细则

现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。

当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。

测量结果的成败,在很大程度上取决于传感器的选用是否合理。

(1)根据测量对象与测量环境确定传感器的类型

要进行—个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。

因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:

量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。

(2)灵敏度的选择

通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。

因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。

但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。

因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号

(3)频率响应特性

传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有—定延迟,希望延迟时间越短越好。

传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。

(4)线性范围

传感器的线形范围是指输出与输入成正比的范围。

以理论上讲,在此范围内,灵敏度保持定值。

传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。

在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。

但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。

当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。

(5)稳定性

传感器使用一段时间后,其性能保持不变化的能力称为稳定性。

影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。

因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。

在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。

(6)精度

精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。

传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。

这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。

如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。

对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。

自制传感器的性能应满足使用要求。

3.1.1DS18B20性能特点

(1)独特的单线接口方式,只需一个接口引脚即可通信;

(2)每一个DS18B20都有一个唯一的64位ROM序列码;

(3)在使用中不需要任何外围元件;

(4)可用数据线供电,电压范围:

+3.0V-+5.5V;

(5)测温范围:

-55℃-+125℃,在-10℃-+85℃范围内精度为+0.5℃,分辨率为0.0625℃;

(6)通过编程可实现9-12位的数字读数方式。

温度转换成12位数字信号所需时间最长为750ms,而在9位分辩模式工作时仅需93.75ms;

(7)用户可自设定非易失性的报警上下限值;

(8)告警搜索命令可识别和定位那些超过报警限值的DS18B20;

(9)多个DS18B20可以并联在惟一的三线上,实现多点测温;

(10)电源极性接反时,DS18B20不会因发热而烧毁,但不能正常工作;

3.1.2DS18B20内部存储器及温度数据格式

对于DS18B20内部存储器结构(如图3.1),它包括一个暂存RAM和一个非易失性电可擦除EERAM,后者存放报警上下限TH、TL。

当改变TH、TL中的值时,数据首先被写进暂存器的第二、三字节中,主机可再读出其中内容进行验证。

如果正确,当主机发送复制暂存器命令,暂存器的第二、三字节将被复制到TH、TL中,这样处理有利于确保该数据在单总线上传输的完整性[7]。

暂存器结构EERAM结构

温度低字节(BYTE0)

温度高字节(BYTE1)

上限报警温度TH(BYTE2)

下限报警温度TL(BYTE3)

结构寄存器(BYTE4)

保留(BYTE5)

保留(BYTE6)

保留(BYTE7)

CRC(BYTE8)

 

图3.1DS18B20结构框图

暂存存储器作用是在单线通信时确保数据的完整性,它由8字节组成,头两个字节表示测得的温度读数。

以12位转化为例说明温度高低字节存放形式(温度的存储形式如表3.1)及计算:

12位转化后得到的12位数据,存储在18B20的两个高低8位的RAM中,二进制中的前面5位是符号位。

如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1,再乘于0.0625才能得到实际温度[8]。

表3.1温度的存储形式

高8位

S

S

S

S

S

26

25

24

低8位

23

22

21

20

2-1

2-2

2-3

2-4

S=1时表示温度为负,S=0时表示温度为正,其余低位以二进制补码形式表示,最低位为1时表示0.0625℃。

温度/数字对应关系如表3.2所示。

表3.2DS18B20温度/数字对应关系表

温度(℃)

输出的二进制码

对应的十六进制码

+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

1111111101101110

FF5EH

-25.0625

1111111001101111

FF6FH

-55

1111110010010000

FC90H

DS18B20有六条控制命令,如表3.3所示:

表3.3控制命令

指   令

约定代码

操     作   说     明

温度转换

44H

启动DS18B20进行温度转换

读暂存器

BEH

读暂存器9个字节内容

写暂存器

4EH

将数据写入暂存器的TH、TL字节

复制暂存器

48H

把暂存器的TH、TL字节写到E2RAM中

重新调E2RAM

B8H

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

读电源供电方式

B4H

启动DS18B20发送电源供电方式的信号给主CPU

3.1.3DS18B20操作命令及时序特性

DS18B20对读写的数据位有着严格的时序要求,它是在一根I/O线上读写数据的。

同时,DS18B20为了保证各位数据传输的正确性和完整性,它有着严格的通信协议。

DS18B20每一步操作都要遵循严格的工作时序和通信协议,如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

该协议定义了几种信号的时序:

初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始的,如果要单总线器件送回数据,在进行写命令后,主机需启动读时序完成数据的接收。

另外,数据和命令的传输都是低位在先[9]。

(1)DS18B20的复位时序

主机控制DS18B20完成任何操作之前必须先初始化,即主机发一复位脉冲(最短为480µs的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/0引脚上的上升沿之后,等待15~60µs,然后发出存在脉冲(60~240)µs的低电平。

如图3.2所示。

(2)DS18B20的读时序

DS18B20的读时序分为读0时序和读1时序两个过程。

DS18B20的读时序是从主机把单总线拉低后,在15秒之内就得释放单总线,从而让DS18B20把数据传输到单总线上。

DS18B20完成一个读时序的过程,至少需要60µs。

如图3.3所示。

图3.2DS18B20的复位时序

图3.3DS18B20的读时序

(3)DS18B20的写时序

DS18B20的写时序同读时序一样,仍然分为写0时序和写1时序两个过程。

DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60µs,保证DS18B20能够在15µs到45µs之间能正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15µs之内就得释放单总线。

如图3.4所示。

图3.4DS18B20的写时序

由DS18B20的通讯协议得知,主机控制DS18B20完成温度转换的过程必须经过三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,从而对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500µs,然后释放,DS18B20收到信号后等待16~60µs左右,然后发出60~240µs的存在低脉冲,主CPU收到此信号表示复位成功。

3.3DS18B20与微处理器的接口技术

1.DS18B20与单片机的链接有两种方法,如图3-2所示:

一种是VDD接外部电源,GND接地,I/O与单片机的任一条I/O线相连;另一种是用寄生电源供电,此时VDD、GND并联接地,I/O接单片机的任一条I/O。

无论是内部寄生电源供电还是外部供电,I/O接口都要接漏极开路或三态输出以提高负载驱动能力。

本设计采用寄生电源供电模式,I/O口接5KΩ左右的上拉电阻。

实际应用中,DS18B20可以距单片机150m远,测量数据不会产生误差,在同一条数据总线上可以并接许多片DS18B20实现多路温度采集。

2.DS18B20控制命令

(1)暂存器命令访问DS18B20的暂存器共有6条命令,如表3-5所示。

表3-5DS18B20暂存器命令

指令

约定代码

操作说明

温度变换

44H

启动DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中

读暂存器

0BEH

读内部RAM中9字节的内容

写暂存器

4EH

发出向内部RAM的第3,4字节写上、下限温度数据命令,紧跟读命令之后,是传送两字节的数据

复制暂存器

48H

将E2PRAM中第3,4字节内容复制到E2PRAM中

重调E2PRAM

0BBH

将E2PRAM中内容恢复到RAM中的第3,4字节

读供电方式

0B4H

读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”

(2)对ROM的5种操作命令。

如表3-6所示:

1读ROM命令(代码为33H):

该命令允许主CPU读取DS18B20中的8位产品序列编号、48位产品序列号及8位CRC值。

该命令值适用于总线上只挂接一片DS18B20,对总线上挂有多片DS18B20时不适用。

2符合ROM命令(代码为55H):

该指令适合在一条总线上挂接多片DS18B20的情况。

具体应用是这样的,主CPU先向总线发这条命令,然后再发64位的ROM数据。

再总线上,只有符合所发的64位ROM的DS18B20

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

当前位置:首页 > 初中教育 > 其它课程

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

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