DS18B20温度测量电路的设计与仿真

更新时间:2023-05-25 22:07:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学术论坛

数字技术与应用

DS18B20温度测量电路的设计与仿真

刘玉洁

(珠海城市职业技术学院 广东珠海 519090)

摘 要:设计了一款采用DS18B20作为温度采集器的温度测量电路,可实现温度的实时显示、超限报警功能。本文主要介绍了电路硬件结构设计和软件设计,并借助PROTUES电路分析与实物仿真软件展示电路功能效果。

关键词:DS18B20 单片机 PROTUES中图分类号:TH-3文献标识码:A文章编号:1007-9416(2011)04-0151-02Abstract: A temperature measurement circuit was designed with DS18B20 as temperature collector, it can achieve real-time display of temperature, over-limit alarm function. The paper mainly introduces the hardware structural design and software mentality,and shows circuit functions with the effect of the PROTUES software which analysises circuit and simulates physical.

Keywords: DS18B20 single-chip computer PROTUES

1、引言

温度是日常生活和工农业生产中经常需要测试的重要参数。传统的方式一般采用热电偶或热电阻,其输出的模拟信号,需经A/D转换后才能送入单片机等微处理器,这样的硬件电路结构复杂,制作成本较高。近年来,各种新型温度传感器和测量方法大量出现并成功应用。单总线数字式智能型传感器技术彻底改变了传统的温度测量方法,直接将温度物理量转化为数字信号并以总线方法传送到微处理器进行数据处理。其中以美国DALLAS公司生产的DS18B20为代表的数字式智能温度传感器凭借其突出优点广泛使用于各种环境的自动化测量及控制系统中。

本文根据某温控设备的控制要求设计了以DS18B20作为温度采集器的温度测量电路,可实现温度的实时显示、超限报警等功能,并借助PROTUES电路分析与实物仿真软件展示电路功能效果。

2、电路结构及工作原理

基于DS18B20的温度测量电路主要由四部分组成:AT89C51单片机、DS18B20温度传感器、四位一体的共阴数码管、发光二极管构成的报警指示模块。其结构框图如图1所示。

DS18B20工作电压为3~5V,测量温度范围为一55~+ 125℃,用户设置的报警温度存储在芯片内部EEPROM中,可掉电保

持。它具有3引脚,当采用外部电源供电时,GND脚接地,VCC脚接电源,DQ脚作为信号端接单片机I/O口,电源脚和DQ脚间还需要外接一个约4.7k的上拉电阻,保证总线闲置时其状态为高电平。DS18B20可以将所采集到的温度转换为数字信号,然后通过DQ传送至单片机,单片机从而启动程序存储器中的控制程序,驱动数码管显示温度值,并控制高、低温报警指示二极管的亮灭。

3、软件设计

电路是在程序的控制下,完成对温度测量、显示和超限报警。软件程序设计包含DS18B20温度测量、数码管显示、超限报警程序、主程序四部分。

3.1 DS18B20温度测量程序

单片机对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,然后发送存储器操作指令,一个存储器操作命令结束后则将进行指令执行或数据的读写。

由于DS18B20采用的是单总线协议方式, 即在一根数据线实现数据的双向传输,而对AT89C51单片机来说,硬件并不支持单总线协议。因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DSl8B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。

根据DS18B20的通讯协议,温度测量需经三个步骤:每一次读写之前都要对DS18B

151

图1 温度测量电路结构框图

图2 主程序流程图

Digital  technology  and  application    数字技术与应用

数字技术与应用

学术论坛

图3 测温电路原理图

20进行复位,复位成功后发送一条ROM指令(指令代码CCH)并置标志位,根据标志位来判断是否初始化成功,最后发送RAM 指令(指令代码44H)DS18B20开始转换,再读出温度转换值(指令代码BEH),读取的温度值高位字节送27H单元,低位字节送26H 单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。

处理以实现数据交互。主程序首先完成初始化工作,初始化后进入循环处理,在循环过程中获得温度采集的数据,并将数据进行处理,根据处理后的结果进行显示。主程序流程图如图2显示。

行按钮,进入模拟调试状态,观察仿真实验结果,如图3所示数码管显示DS18B20所测量的外部温度,当温度超过80℃,高温报警发光二极管闪烁。

5、结语

4、电路仿真效果

Proteus仿真软件是英国Labcenter公司

开发的一种功能强大的电子设计自动化软件,提供智能原理图设计、SPICE模拟电路、数字电路及MCU器件混合仿真系统和PCB设计功能,不仅可以仿真传统的电子基础实验等,其最大的特色在于可以提供单片机应用系统的仿真实验,这是其它任何仿真软件无力所及的。Proteus是目前世界上最先进最完整的嵌入式系统设计与仿真平台;是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有硬件电路时就可对系统进行调试、测试与验证。

启动Proteus ISIS 7 Professional,在Proteus元件库中选择所需元件,在原理图编辑窗口绘出如图3所示的电路原理图。将在Keil中编写的源程序经编译、调试、修改后生成Hex文件,加载到AT89C51中,点击运

利用DS18B20设计的温度测量电路最大的特点是容易实现,体积小,成本低。经Proteus软件验证,该电路的硬件电路和软件程序设计均满足控制设计要求,能实现正常测温、显示、超限报警功能,可将仿真验证后的电路直接应用到实际项目中。

3.2 数码管显示程序

采用动态扫描的方法,其中P2.0~P2.3是位选控制端,P0口控制段选,在数码管和P0口之间增加的缓冲驱动器芯片74LS245,是为了提高P0口输出电流,保证数码管亮度。向P2.0~P2.3各位选端轮流输出扫描信号,使每一瞬间只有一个数码管被选通,然后向P0口送出相应的字形码,便可使得各位数码管轮流点亮显示各自的字形。

参考文献

[1]周学军.基于AT89C2051的数字温度计

设计[J].现代电子技术,2010,17:164-165.

[2]魏大慧.基于AT89S52单片机的数字温

度控制系统软件设计[J].黑龙江科技信息,2010,33:92.

[3]刘伟,陈盛云,郭毅刚.基于DS18B20的温

度测量系统的设计与仿真[J].中国科技信息,2008,19:128-129.

[4]张军.智能温度传感器DS18B20及其应

用[J].

仪表技术

,2010,4:68-70.

3.3 超限报警程序

本设计将报警温度设为高:80℃,低:-10℃。通过与DS18B20读取当前温度值的比较,自定义的两个位变量bit HI_Alarm,bitLO_Alarm得到对应值,再通过对该值判断,从而控制发光二极管状态。

3.4 主程序

主程序主要是将各个子程序进行协调

152数字技术与应用    Digital  technology  and  application

本文来源:https://www.bwwdw.com/article/d654.html

Top