基于DS18B20的数字温度监控系统的Proteus设计.docx

上传人:b****5 文档编号:4362968 上传时间:2022-11-30 格式:DOCX 页数:25 大小:685.33KB
下载 相关 举报
基于DS18B20的数字温度监控系统的Proteus设计.docx_第1页
第1页 / 共25页
基于DS18B20的数字温度监控系统的Proteus设计.docx_第2页
第2页 / 共25页
基于DS18B20的数字温度监控系统的Proteus设计.docx_第3页
第3页 / 共25页
基于DS18B20的数字温度监控系统的Proteus设计.docx_第4页
第4页 / 共25页
基于DS18B20的数字温度监控系统的Proteus设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于DS18B20的数字温度监控系统的Proteus设计.docx

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

基于DS18B20的数字温度监控系统的Proteus设计.docx

基于DS18B20的数字温度监控系统的Proteus设计

 

基于DS18B20的数字温度监控系统的Proteus设计

 

学院:

电子信息与电气工程学院

设计任务书

题目基于DS18B20的数字温度监控系统Proteus设计

一、设计的目的

1.将理论知识运用于实践当中,掌握模拟电路设计的基本方法、基本步骤以及基本要求。

在实践中了解电子器件的功能与作用。

2.学会信号发生器的设计方法,完成要求的性能和指标。

3.锻炼、提高在电子设计中发现问题、分析问题、解决问题的能力。

二、设计的内容及要求

1.测量温度值精度为±1℃;

2.系统允许的误差范围为1℃以内;

3.系统可由用户预设温度值,测温范围为-55℃~+125℃;

4.通过DS18B20传感器和系统连接,能实时准确检测到现场温度;

5.把现场实时检测到的温度通过LCD1602液晶显示出来;

6.报警温度设定和报警:

根据需要可以设置报警温度,并且当达到报警温度时会发出报警提示;

三、指导教师评语

四、成绩

指导教师(签章)

年月日

 

 

摘要

在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。

在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。

温度控制在生产过程中占有相当大的比例。

温度测量是温度控制的基础,技术已经比较成熟。

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

而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。

本文采用一种改进型温度传感器DS18B20作为检测元件,温度范围为-55~125ºC,最高分辨率可达0.0625ºC。

DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。

系统采用DS18B20作为温度监测元件,测量范围-55℃-~+125℃,使用LCD1602液晶模块显示测取的温度值,通过按键设置温度报警上下限。

若当前获取的温度不在设定温度上下限范围内时,蜂鸣器报警,LED灯点亮,指示当前报警信息。

关键词:

AT89C52;温度监测;DS18B20;LCD1602;温度上下限

 

1.绪论

1.1课题研究背景

随着社会的发展特别是工业的发展,人民生活的改善,安全问题变得更加重要。

目前,在许多情况下,都需要对环境的温度进行限定,其中包括人的生活工作环境、仪器设备的工作环境以及动植物的生长环境等。

如果环境温度超过或者低于限制值,必定对所处环境的人或设备造成影响,甚至给个人和社会造成巨大的损失。

因此,在某些特定环境内使用温度报警器来对温度进行实时监控并做到超温报警,而使用单片微型计算机实时控制温度报警系统则是其中的一种重要方式。

目的是了解了单片机微型计算机实时控制的温度测量报警系统的历史与现状,根据现实生活的需要以及已掌握的理论知识,制定出单片微型计算机实时控制的温度报警系统硬件、软件的设计方案,把温度传感器这个单独的器件,配以一些其他电路,让它实现探测温度、显示温度、并且超高温、低温报警,并进行调试验证方案的可行性,最终完成设计。

1.2课题内容及要求

本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集与监控,以单片机AT89C52芯片为核心,辅以温度传感器DS18B20、LCD1602液晶显示模块、按键设置模块以及报警模块,构成了一个多功能单片机数字温度监控系统。

该装置适用于人民的日常生活和工、农业生产的温度测量与报警,实现对温度的监测。

其主要研究内容包括两方面,一是对系统硬件部分的设计,包括温度采集、LCD显示、按键设置和LED、蜂鸣器报警;二是对系统软件部分的设计,应用C语言实现温度的采集与显示。

通过利用数字温度传感器DS18B20进行设计,能够满足实时监控温度的要求。

通过对本课题的设计能够熟悉数字温度监控系统的工作原理及过程,了解各功能器件(单片机、DS18B20、LCD1602)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度监控系统的总体设计。

其具体的要求如下:

1、根据设计要求,选用AT89C52单片机为核心器件;

2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的串行接口P2.3引脚相连;

3、显示电路采用LCD1602显示器接P0口并行显示温度值;

4、按键电路采用独立按键模式,用于设置温度报警的上下限值;

5、报警电路由LED指示灯和蜂鸣器组成,当测取的温度值不在设定上下限值内,报警电路工作;

 

2.温度测控方案论证

2.1热敏电阻测温

由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度的数值显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

因此,我们引出数字温度传感器测温。

2.2数字温度传感器测温

采用数字式温度传感器DS18B20测温,此传感器采用单根信号线,即可传输时钟,又能传输数据,而且数据传输时是双向的,因而这种单线技术具有线路简单,硬件开销少,成本低廉,便于扩展的优点。

另外,它可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案可以看出,两种都完全能够满足设计需要,但很容易看出,采用数字温度传感器测温,电路比较简单,软件设计也比较简单,故采用此设计方案。

 

3.系统方案概述

本设计主控制器使用的是51单片机AT89C52,AT89C52单片机在工控、测量、仪器仪表等领域被广泛应用。

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

显示是用液晶显示屏LCD1602实现温度显示。

蜂鸣器和LED灯用来实现当测量温度超过设定的上下限时的报警功能。

整个温度监控系统由4个部分组成,它们是AT89C52单片机最小系统(包括复位电路和晶振电路)、DS18B20传感器模块、LCD显示模块、按键设置模块和报警模块,其设计框架如图2所示。

图2系统总框架图

 

4.硬件部分

4.1单片机最小系统设计

4.1.1AT89C52单片机简介

AT89C52是一款低电压、高性能CMOS8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。

AT89C52单片机属于AT89C51单片机的增强型,其与另一款单片机80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。

其主要工作特性是:

1.片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;

2.片内数据存储器内含256字节的RAM;

3.具有32根可编程I/O口线;

4.具有3个可编程定时器;

5.中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;

6.串行口是具有一个全双工的可编程串行通信口;

7.具有一个数据指针DPTR;

8.低功耗工作模式有空闲模式和掉电模式;

9.具有可编程的3级程序锁定位;

10.AT89C52工作电源电压为5(1+0.2)V,其典型值为5V;

11.AT89C52最高工作频率为24MHz;

AT89C52各引脚分布如图4.1.1所示。

图4.1.1AT89C52单片机引脚分布图

其功能及管脚电压介绍如下所示:

•VCC:

电源电压

•GND:

接地线

•P0口:

P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为共阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在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),具体如下表4.1.1所示。

在Flash编程和校验时,P1口接收低8位地址字节。

引脚号

功能特性

P1.0

T2(定时/计数2外部计数脉冲输入),时钟输出

P1.1

T2EX(定时/计数2捕获/重装载触发和方向控制)

表4.1.1P1.0和P1.1的第二功能

•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口,p2输出缓冲器能驱动4个TTL逻辑电平.对P3端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

 

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时/计数器0)

P3.5

T1(定时,计数器1)

P3.6

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

P3.7

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

•RST:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位.看门狗计时完成后,RST脚输出96个晶振周期的高电平.特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效.DISRTO默认状态下,复位高电平有效。

•ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲.在flash编程时,此引脚(PROG)也用作编程输入脉冲.在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用.然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过.如果需要,通过将地址为8EH的SFR的第0位置"1",ALE操作将无效.这一位置"1",ALE仅在执行MOVX或MOVC指令时有效.否则,ALE将被微弱拉高.这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

•PSEN:

外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

•EA/VPP:

访问外部程序存储器控制信号.为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND.为了执行内部程序指令,EA应该接VCC。

在Flash编程期间,EA也接收12伏VPP电压。

•XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

•XTAL2:

振荡器反相放大器的输出端。

4.1.2晶振电路

单片机的工作过程要对各种指令在时间上有明确的次序,这种时间次序也叫做时序,所以单片机需要产生一个时钟信号。

晶振电路如图4.1.2所示。

图4.1.2晶振电路

产生时钟信号的方式是:

在XTAL1(18脚)和XTAL2(19脚)引脚接入一个振荡电路。

用两个22pF电容的作用是开启振荡器和调节振荡频率。

接入12M晶振来确定时钟周期,此时产生的信号为单片机最基本的时间单位,即时钟周期,用振荡频率的的倒数代表它的大小(1/Fosc)。

4.1.3复位电路

复位电路在单片机设计中是一个必不可少的部分。

单片机在刚开始运行的时候需要进行一次复位,以确保整个系统电路在要开始运行时保持一种最初状态,保证一开始的运行正常。

AT89C52单片机的第九引脚RESET,当这个引脚接收到两个机器周期(24个振荡脉冲周期)的高电平时,就会发生复位。

复位电路的实现方式有很多种方式。

常见的方式有上电、手动和自动复位三种。

电路连接图如图4.1.3所示:

图4.1.3复位电路

4.1.4排阻电路

AT89C52单片机P0口内部结构与其他三个I/O口(P1口、P2口和P3口)不同,由于P0口内部没有上拉电阻,当它用于通用I/O口使用时,其输出驱动级为漏极开路,不能正常的输出高低电平,因此必须外接上拉电阻。

一般我们选择接入阻值为10K的上拉电阻。

如图4.1.4所示。

图4.1.4排阻电路

4.2DS18B20温度传感器

4.2.1DS18B20简介

单线数字温度传感器DS18B20是一种新型的”一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。

其温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个传感器可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18B20的管脚排列、各种封装形式如图4.2.1所示。

其中,DQ为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。

图4.2.1各种封装的DS18B20传感器

DS18B20的性能特点如下:

(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条总线即可实现微处理器与DS18B20的双向通讯;

(2)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;

(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;

(4)适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电;

(5)测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;

(6)零待机功耗;

(7)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;

(8)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;

(9)用户可定义报警设置;

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

(11)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;

(12)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

以上特点使DS18B20非常适用与多点、远距离温度检测系统。

4.2.2DS18B20内部结构

DS18B20内部结构框如图4.2.2所示,其主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。

图4.2.2DS18B20内部结构图

 

其中,64bit闪速ROM的结构如下图4.2.3所示:

图4.2.364bit闪存ROM

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

温度报警触发器TH和TL,可通过软件写入户报警上下限。

主机操作ROM的命令有六种,如图4.2.4所示。

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

高速暂存RAM的结构为8字节的存储器,结构如图4.2.5所示。

图4.2.5高速暂存RAM结构图

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

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

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

暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下表所示:

0

MSB

R1

R2

1

1

1

1

1

LSB

其中R0和R1是温度值分辨率位,可按表4.2.2进行配置。

R1

R0

分辨率

最大转换时间(ms)

0

0

9位

93.75ms(tconv/8)

0

1

10位

183.50ms(tconv/4)

1

0

11位

375ms(tconv/2)

1

1

12位

750ms(tconv)

表4.2.2温度分辨率对应最大转换时间

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

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

单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625℃/LSB形式表示。

温度值格式如表4.2.3。

23

22

21

20

2-1

2-2

2-3

2-4

S

S

S

S

S

26

25

24

表4.2.3温度值格式表

这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

格式中,S表示位。

对应的温度计算:

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

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。

表4.2.4是部分温度值对应的二进制温度表示数据。

温度

数字输出(二进制)

数字输出(16进制)

+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

FFE5H

-25.0625℃

1111111001101111

FF6FH

-55℃

1111110010010000

FC90H

表4.2.4部分温度的二进制数表示

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

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

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

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

4.2.3DS18B20电路

本设计中DS18B20的连接电路如图4.2.6所示。

单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。

图4.2.6DS18B20连接电路

4.3LCD1602液晶显示电路

显示温、湿度需要较长的显示字码,在单片机的人机交流界面中,一般的输出方式有以下几种:

发光管、LED数码管、液晶LCD显示器。

在本文中采用液晶显示LCD1602作为显示模块。

在日常生活中,我们对液晶显示器并不陌生,当今液晶显示器已经成为市场上很多电子产品的显示器件,比如在电子表、计算器、万用表以及很多家用的电子产品中都可以看到,其显示主要是数字、符号和图形。

在单片机系统中应用晶液显示器作为输出器件有以下几个优点:

显示质量高、数字式接口、体积小、重量轻、功耗低。

LCD1602液晶显示模块可以和单片机AT89C52直接接口,电路如图4.3所示。

图4.3LCD1602与AT89C52电路连接

LCD1602主要技术参数为显示容量为16*2个字符;工作电压范围4.5-5.0V;工作电流在5.0V供电电压下位2mA;字符尺寸为2.95*4.35mm。

LCD1602引脚功能如表4.3所示:

引脚号

符号

状态

功能

1

Vss

电源地

2

Vdd

+5V逻辑电源

3

V0

液晶驱动电源

4

RS

输入

寄存器选择1:

数据;0:

指令

5

R/W

输入

读、写操作选择1:

读;0:

6

E

输入

使能信号

7

DB0

三态

数据总线(LSB)

8

DB1

三态

数据总线

9

DB2

三态

数据总线

10

DB3

三态

数据总线

11

DB4

三态

数据总线

12

DB5

三态

数据总线

13

DB6

三态

数据总线

14

DB7

三态

数据总线(MSB)

15

LEDA

输入

背光+5V

16

LEDK

输入

背光地

表4.3LCD1602引脚功能表

LCD1602指令集说明如下:

它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)

指令1:

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

当前位置:首页 > 高中教育 > 高中教育

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

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