浅析基于DS18B20与AT89C2051的温度测量器设计方案

发布者:温柔之风最新更新时间:2012-10-19 来源: 21ic 关键字:DS18B20  AT89C2051  温度测量器 手机看文章 扫描二维码
随时随地手机看文章

一、设计概况

本制作采用USB口作为供电端口,用DS18B20温度传感器进行温度信息采集,用AT89C2051单片机进行控制,采用四位共阳数码管显示,从而实现对温度的测量显示(系统框图如图1所示)。本设计可培养学生对单片机学习的兴趣,提高其制作与编程能力。

 

系统框图

 

图1 系统框图

二、电路原理

采用PROteUS仿真软件进行原理图设计与程序仿真。电路如图2所示。

22.jpg

图2 电路图

1、电源

采用USB口供电,可将USB适配器接人电路板的USB口或直接接计算机USB口。这样,既节省了资源,又能够获得较为理想的工作电压。USB口的外形及电源口定义如图3所示。

 

USB口的外形及电源口定义

 

图3 USB口的外形及电源口定义

2、温度信号采集

采用DS18B20(外形见图4)智能型数字温度传感器作为温度信号采集装置。[page]

44.jpg

图4 DS18B20外形

(1)DS18B20工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数不同,且温度转换的延时时间由2s减为750ms。DS18B20测温原理如图5所示。其中,低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振的振荡频率随温度变化改变明显,所产生的信号作为计数器2的脉冲输人。计数器1和温度寄存器被预置在-55℃所对应的—个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0日寸,温度寄存器的值将加1,计数器1将重新被装人预置,并重新开始对低温度系数晶振产生的脉冲信号进行计数。如此循环,直到计数器2计数到OH寸停止温度寄存器值的累加。此时,温度寄存器中的数值即为所测温度。图5中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

55.jpg

图5 DS18B20测温原理图

(2)DS18B20的主要特性

1)适应电压范围3.0V~5.5V,在寄生电源方式下可由数据线供电。

2)DS18B20与微处理器之间仅需要—条口线即可双向通讯。

3)支持多点组网功能,多个DS18B20可以并联在唯—的三线上,实现组网多点测温。

4)不需要任何外围元件,全部传感元件及转换电路集成在外形如一只三极管的电路内。

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

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

7)在9位分辨率时,最多93.75ms便可把温度转换为数字,12位分辨率时最多750ms便可把温度值转换为数字。

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

9)电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

DS18B20遵循单总线协议,每次测温时必须有初始化、传送ROM命令、传送RAM命令、数据交换等4个过程。

3、AT89C2051单片机

采用AT89C2051单片机作为主控元件(参见图2)。

4、数码管显示

采用四位共阳数码管进行动态显示,温度显示保留到小数点后一位。编程时,利用P3.2~P3.5作为数码管动态显示的位选端,Pl.0~Pl.7作为数码管动态显示的段选位。当P3.2输出高电平时选中“1”号数码管,P3.3输出高电平时选中“2”号数码管,以此类推。在电路中,P3.2~P3.5外接4只NPN三极管作为驱动。Pl.0~Pl.7外接8只电阻限流。

三、参考程序

本设计采用单片机C语言进行编程,限于篇幅,其参考程序此处不一一列出。

四、制作与调试

本设计调试较为简单,只要安装、焊接正确,程序编写准确完整,一般较为容易实现功能。

调试好的实物如图6所示。

 

图6 实物图

 

图6 实物图

关键字:DS18B20  AT89C2051  温度测量器 引用地址:浅析基于DS18B20与AT89C2051的温度测量器设计方案

上一篇:基于LM032L液晶的电子时钟显示程序
下一篇:基于单片机实现短距离无线通信设计

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

AT89C2051单片机在无线门铃报警器的应用
  门铃在中国古代较少听说,有钱的大户人家是在大门上装有装饰性的门环,叫门的人可用门环拍击环下的门钉发出较大的响声,有现代"门铃"的作用。   当今,无线门铃与无线 门铃 报警器比比皆是,但同时按照门铃与报警器还是给家庭带来了些许麻烦。而无线门铃报警器就是将门铃与报警器集于一身。它的体积小,性价比高等特点得到了人们的好评。而现在市场上许多产品的遥控器与接收器件的数据传输都是采用非编码式,因而互相的影响较大,一旦一个院子两户人家同时安装时,就很容易出现错误响应。而基于单片机的无线门铃报警器,将发射器发送的数据进行编码,只有收到与接收机相配套的遥控器发射出的信号时,接收机才会做出反应。从而在降低成本的同时达到了方便实用的目的。  
[单片机]
<font color='red'>AT89C2051</font>单片机在无线门铃报警器的应用
基于AT89C2051芯片的直流PTC热敏电阻恒温控制系统
  1、引言   现有的加热器大都采用电热管、电热丝等传统器件加热,电热管的外壳为不锈钢制成的钢管,内有发热元件电阻丝,加热时通过电阻丝及钢管向外界传热,当空气不流动时,电热管的热量就散不出去,温度会越来越高,严重时会烧毁电热管,甚至发生火灾。而PTC热敏电阻作为发热材料,具有节能恒温、无明火、安全性好、发热量较易调节、受电源电压的波动影响小、升温迅速等特点,因此,设计使用PTC热敏电阻做加热材料的恒温加热系统对安全度要求较高的应用是很有意义的。   2、系统总体设计方案   本系统采用AT89C2051为控制核心,PTC热敏电阻对加热区域进行加热,数字温度计DS18B20实时采集温度,由外设键盘设定所要加热温度值的上
[单片机]
单片机单总线挂2片ds18b20传感器,8位数码同时管显示
计划做个同时检测室内外温度,并用数码管显示出来的温度计。从网上找到获得ds18b20序列码的程序,用开发板1602显示出来,记录备用。下面数组str1,2就是获得的64位序列码。如果不能获得自己1820的序列码,当然以下代码就不能完成正常功能。以下代码大部分网上获得加以整理而成。第一传感器 前4位,第2传感器后4位,中间无隔断。在开发板上正常显示变化,但大于100和小于0并未实验看到。 单片机源程序如下: #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar code SEG = { 0
[单片机]
基于AT89C2051的步进电机驱动器系统电路及软件设计
步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。 本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。 1. 步进电机的工作原理 该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。 图1是该四相反应式步进电机工作原理示意图 图1 四相步进电机步进示意图 开始时,开关SB接通电源,SA、SC、SD断开
[单片机]
基于<font color='red'>AT89C2051</font>的步进电机驱动器系统电路及软件设计
简单的DS18B20温度测试
DS18B20是目前比较常用的一种温度测试芯片。其具有微型化、低功耗、高性能、抗干扰强等优点。同时可以直接将温度转化为数字信号提供给处理器。详细的资料请参见芯片的资料说明。 本实验是一个简单的温度检测实验。单片机将检测到的温度用数码管显示。程序如下: ================================================================================================= #include reg52.h #define uchar unsigned char #define uint unsigned int int a,b,c,tem
[单片机]
完美实现STM32单总线挂多个DS18B20
一般常见的STM32的关于DS18B20的例程都是检测一个传感器,代码一般都是跳过ROM检测,直接获取温度值。这种写法并不适用于单总线上挂载多个DS18B20的情况,Sandeepin的这个代码就是针对这种情况完善的单总线挂多个DS18B20检测,实现获取每个DS18B20的ID和温度。 主要的DS18B20时序代码没变,增加了搜索ROM函数,获取温度时先匹配ID。 核心代码如下: DS18B20.c文件代码: #include DS18B20.h #include Delay.h #include stdio.h // printf用 #define DS18B20_GPIO_NUM
[单片机]
完美实现STM32单总线挂多个<font color='red'>DS18B20</font>
PC遥控器电路
电路的基本原理就是通过红外接收头收集红外信号,当有红外信号进来时,单片机AT89C2051软件执行中断并对采集到的红外信号进行解码,并从串口送到PC,PC软件Girder收到串口发来的字符再根据定义做出相应的命令操作(Girder的基本使用方法请查看 打造超级PC遥控器 )。电路中使用了几个简单的元件做成串口窃电电路,使这个遥控器不需要再外接电源,插到串口上就可以使用了,可以说是即插即用呀:)。安装好后,运行Girder后,指示灯LED1就开始闪烁,表明电路正常工作了,这时就可以使用你的遥控器了,当关闭Girder后电路板的电源也会被切断,指示灯熄灭。图是这个遥控接收器的全部电原理图: script src="/gg/a
[单片机]
PC遥控器电路
【51单片机快速入门指南】6.3.1:使用1-WIRE搜索算法搜索单总线上所有DS18B20的ID
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 移植自1-WIRE搜索算法 串口部分见【51单片机快速入门指南】3.3:USART 串口通信 DS18B20驱动程序见【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取 源码 OWSearch.c #include DS18B20.h #include stdio.h // TMEX API TEST BUILD DECLARATIONS // long session_handle; // END
[单片机]
【51单片机快速入门指南】6.3.1:使用1-WIRE搜索算法搜索单总线上所有<font color='red'>DS18B20</font>的ID
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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