基于DS18B20的温度测量和显示系统设计与仿真

发布者:Changfeng520最新更新时间:2012-12-18 来源: 现代电子技术 关键字:单片机  AT89C52  DS18B20  温度测量 手机看文章 扫描二维码
随时随地手机看文章
0 引言
   
传统的温度检测大多以热敏电阻为温度传感器,而热敏电阻的可靠性差,测量温度准确率低,且必须转换为数字信号后才能由单片机进行处理,在高精度要求的温度检测应用中,热敏电阻已经被精度高、准确性好的集成温度采集设备所代替。DS18B20是美国DALLAS半导体公司推出的一种改进型数字温度传感器。它在温度精度、转换时间、传输距离、分辨率等方面有很大改进,因而被广泛应用于温度采集与处理、数字温度计及各种温控系统中。本文采用DS18B20设计的温度测量与显示系统,可以实时测量并显示的温度范围为-55~125℃。系统可设置温度上限和温度下限,当测量温度高于上限或者低于下限温度时,系统将发出报警。

1 温度传感器DS18B20
   
DS18B20是美国DALLAS半导体公司推出的一种改进型智能温度传感器,该传感器的可测温度范围为-55~125℃,可编程分辨率为9~12位,对应的可分辨温度为0.5℃、0.25℃、0.125℃和0.062 5℃。DS18B20的测量输出为数字信号,并可单线串行发送给CPU,并支持多点组网。DS18B20有3脚和8脚两种结构,而8脚的结构又有不同的封装形式,图1所示是DS18B20的引脚图。本文采用三极管形状的3脚DS18B20。
事实上,无论是3脚结构还是8脚的结构,DS18B20在实际电路中都只有3个引脚参与连接,即电源(VDD)、地(GND)和信号输入输出(DQ)。

a.JPG



2 系统仿真电路
   
基于DS18B20的温度测量与显示系统仿真电路图如图2所示。

c.JPG


    电路中的单片机采用AT89C52,DS18B20采用外部电源供电方式,其DQ端子与单片机的P3.7相连。采用两个4连排共阳极数码管显示实时温度,分别用于显示整数部分和小数部分。数码管的段选线与单片机的P1口相连,位选线与P2口相连。图中显示的正是最高温度125℃,由于在proteus软件中DS18B20无法设置小数,所以小数部分只能显示零了。DS18B20的最高分辨率为0.0625℃,所以理论上应该能显示4位小数。[page]

3 软件设计
   
本系统的软件设计主要包括三部分,一是温度测量部分,二是温度显示部分,还有一个是报警部分。
    DS18B20通过严格的单线通信协议来保证数据完整。该协议中定义了复位脉冲、存在脉冲、写0、写1、读0、读1等几种信号形式。其中,只有存在脉冲是由总线受控(即DS18B20)发出,其他的全部由总线主控(即单片机)发出。
3.1 初始化
   
DS18B20的初始化包括来自单片机的复位脉冲和接下来由DS18B20发出的存在脉冲。其初始化时序图如图3所示。
    当DS18B20响应单片机的复位而发出存在脉冲时,单片机便知道DS18B20在线上并已准备好。单片机发送复位脉冲,即拉低总线至少480 μs,然后单片机释放总线并进入接收模式。当DS18B20检测到复位脉冲后,等待15~60 μs,然后发送存在脉冲,即拉低总线60~240μs。由于DS18B20的DQ引脚接了一个上拉电阻,所以,总线的空闲状态为高电平,存在脉冲结束后,总线自动恢复到高电平状态。单片机所要做的就是发出复位脉冲并检测DS18B20的存在脉冲,其参考程序如下:
    b.JPG
3.2 写时序
   
单片机可在写时隙向DS18B20写入数据,在读时隙从DS18B20读出数据,每个时隙总线上只传送一位数据。写时隙有“写1”时隙和“写0”时隙两种。单片机通过写1时隙向DS18B20写入一个逻辑1,并通过写0时隙向DS18B20写入一个逻辑0。所有的写时隙必须至少持续60 μs,并在每个独立的写时隙之间至少有1 μs的恢复时间。两种写时隙都是由单片机拉低总线开始的,如图3所示。

d.JPG

[page]

    要产生写1时隙,单片机在拉低总线后必须在15 μs之内释放总线。总线被释放后,上拉电阻将把总线拉高。要产生写0时隙,单片机在拉低总线后必须继续保持总线低电平使时隙至少60μs。DS18B20在时隙开始后15~60 μs之间的时间段内对总线进行采样,如果总线是高电平,则向DS18B20写入一个1,如果总线是低电平,则向DS18B20写入一个0。
    下面是向DS18B20写入一个字节数据的程序代码:
    e.JPG
3.3 读时序
   
所有的读时隙必须至少持续60μs,并在每个独立的读时隙之间至少有1μs的恢复时间。读时隙开始后,先由单片机拉低总线至少1μs,然后单片机释放总线。读时隙开始后,DS18B20将开始向总线发送1或0。发送0时,DS18B20释放总线直到时隙结束,此后上拉电阻将把总线拉回到高电平的空闲状态。DS18B20的数据在读时隙开始之后15μs之内有效,因此,单片机在时隙开始后,必须释放总线,然后在15 μs之内对总线进行采样。下面是从DS18B20读出一个字节数据的程序:
    f.JPG
   
3.4 主要命令
   
DS18B20有5个ROM操作命令,6个存储器操作命令,表1所列是DS18B20的操作命令。
    本系统主要使用了表1中的3个命令,即跳过ROM、温度变换和读暂存器命令。

h.JPG


3.5 显示程序
   
DS18B20提供的温度数据有两个字节,其中低8位的末4位是小数部分,因此,程序中对温度数据的整数部分和小数部分要分别进行处理。如t=t>>4;即得到温度值的整数部分,t=t&0x0f;则得到温度值的小数部分,然后分别在数码管上进行显示。
3.6 报警部分
   
在程序中设置温度上限和温度下限后,测量温度将与门限值进行比较。如果测量温度高于温度上限或者低于温度下限,系统就发出报警。

4 结语
   
本文基于数字温度传感器DS18B20设计并仿真了一个温度测量与显示系统,同时,系统设置了温度上限和温度下限,当测量温度超出温度门限值时,系统便会报警。事实上,具有显示与报警功能的温度测量系统的应用非常广泛,而且DS18B20可以支持多点组网,因此可以同时测量多点温度。

关键字:单片机  AT89C52  DS18B20  温度测量 引用地址:基于DS18B20的温度测量和显示系统设计与仿真

上一篇:校内自行车防盗跟踪系统的设计
下一篇:如何构造一个51单片机的实时操作系统

推荐阅读最新更新时间:2024-03-16 13:15

基于单片机的波形发生器仿真设计
单片机源程序如下: #include reg52.h #define uchar unsigned char #define uint unsigned int #define DAdata P0 //DA数据端口 sbit DA_S1= P2^0; // 控制DAC0832的8位输入寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存 sbit DA_S2= P2^1; // 控制DAC0832的8位DAC寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存 sbit key= P3^2; uchar wavecount; //'抽点'计数 uchar THt
[单片机]
基于<font color='red'>单片机</font>的波形发生器仿真设计
在对PIC单片机进行程序设计时应注意的四个问题
美国微芯公司开发的CMOS工艺PIC系列单片机,特别是采用内置第二代Flash存储器的微控制器在快速应用方面具有独到之处。PIC单片机系列内大都包含运算器、存储器、A/D、PWM、输入和输出I/O、通信等常用接口。自由灵活的定义功能可以适应不同的控制要求。 PIC单片机采用精简指令集,例如对于PIC16F716单片机,只有35条单字节指令。要用这么少的指令实现复杂的控制或计算,显然要在程序设计上多做文章,以下就程序设计需要注意的问题谈一些看法。 一、区分指令的大小写 编写PIC单片机的源程序,除了源程序的开始处需要严格的列表指令外,还须注意源程序中字母符号的大小写规则,否则在PC机上汇编程序时不会成功。在源程序中都会使用伪指
[单片机]
在对PIC<font color='red'>单片机</font>进行程序设计时应注意的四个问题
PIC单片机在ICD做lcd显示时钟演示程序
;************************************************* ;* CLKTEST.ASM * ;************************************************* ;* ICDDEMO教学实验板 lcd显示时钟演示程序 * ;************************************************* include p16f877.inc ;*---- ; 定义 LCD数据& 控制I/O口 LCD_DATA equ PORTB LCD_CNTL1 equ PORTB LCD_CNTL2 equ PORTA ; 定义 LCD控制相应的I
[单片机]
51单片机四位数数字温度计设计
1.温度传感器AD590基本知识 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。 AD590温度与电流的关系如下表所示 2.电路原理图 图4.30.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。 (2).把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 (3).把“单片机系统”区域中的P3.0与“模数转换
[单片机]
51<font color='red'>单片机</font>四位数数字温度计设计
两种简单、精确、灵活的热电偶温度测量方法
简介 热电偶是一种广泛用于温度测量的简单元件。本文简单概述了热电偶,介绍了利用热电偶进行设计的过程中常见的挑战,并提出 两种信号调理解决方案。第一种方案将参考接合点补偿和信号调理集成在一个模拟IC内,使用更简便;第二种方案将参考接合点补偿和信号调理独立开来,使数字 输出温度感应更灵活、更精确。 热电偶原理 如图1所示,热电偶由在一头相连的两根不同金属线组成,相连端称为测量( 热 )接合点。金属线不相连的另一头接到信号调理电路走线,它一般由铜制成。在热电偶金属和铜走线之间的这一个接合点叫做参考( 冷 )接合点。 图1.热电偶 *我们使用术语 测量接合点 和 参考接合点 而不是更传统的 热接合点 和 冷接合点 。传统命名体系可
[测试测量]
两种简单、精确、灵活的热电偶<font color='red'>温度测量</font>方法
基于瑞萨单片机的交流感应电机驱动电路的设计
0 引言 随着电力电子技术和微控制器技术的飞速发展,现代交流变频调速系统技术在电机控制系统中的应用也越来越广,采用全控型器件IGBT的全数字控制的变频调速器已经实现了通用化,具有调速范围宽、调速精度高、动态响应快、运行效率高、操作方便等优点。变频调速器的普及应用提高了现代工业的自动化水平,提高了产品质量和劳动效率,最大限度地节约了能源,因此符合国家发展建设和谐、节约型社会的方针。 本文选用瑞萨公司推出的性价比较高的微控制器R5F21246 seties,嵌入R8C/Tiny系列CPU内核,R8C/Tiny系列中的所有MCU都集成了片上闪存,具有高性能和很好的易用性,1 MB地址空间,2 KB片上数据存储FLASH,非常适合
[单片机]
基于瑞萨<font color='red'>单片机</font>的交流感应电机驱动电路的设计
一种新的单片机“看门狗”电路软件设计方法
    摘要: 单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于如何正确给“看门狗”电路进行复位(即“喂狗”),文章在介绍了一种采用MAX706和89C52构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。     关键词: 抗干扰  单片机  看门狗  MAX706  89C52     随着MCS-51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机”。笔者通过近几年的设计实践及不断试验,总结了一套可靠的“看门狗”硬件电路及软件设计方法。由于一些专业期刊曾经刊登过许多关于“看门
[工业控制]
80C51单片机的定时计数器的结构和工作原理
单片机怎么学,先从哪入手开始学,怎么开始入门 无论是对于新手还是已经在行内的朋友,学习单片机技术,实战动手能力十分重要,如果只知道从网络上的视频以及配套教材来入手开始学,很肯定的说,你永远也学不会。为何?单片机的学习最重要的一点是需要去动手实战实操,单单只看培训教材,也许看的时候能懂一些,但过了一段时间就会遗忘得一干二净,中国有句成语交“纸上谈兵”,经常用来嘲讽一些完全没有实践过的人,单凭从书上了解的知识就胸有成竹的长篇大论。 在这里建议大家,一定要给自己构建一个合适的动手实战试验场所,结合具体的实操对象就很容易理解单片机的电路组态原理,以及理解单片机的程序编制原理,对于入行不深的人,建议给自己出一道居家智能化的物联网课题,采
[单片机]
80C51<font color='red'>单片机</font>的定时计数器的结构和工作原理
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved