没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机控制的数字温度计.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
37 浏览量
2022-06-25
11:14:00
上传
评论
收藏 399KB DOCX 举报
温馨提示
基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx基于单片机控制的数字温度计.docx
资源推荐
资源详情
资源评论





















数字温度计
1 设计要求
■基本范围-50℃-110℃
■精度误差小于 0.5℃
■LED 数码直读显示
2 扩展功能
■实现语音报数
■可以任意设定温度的上下限报警功能
数字温度计
摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟
的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温
度不在设置范围内时,可以报警。
关键词:单片机,数字控制,温度计, DS18B20,AT89S51
1 引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也
是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工
作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智
能化控制方向发展。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其
输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用
单片机 AT89S51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度
显示,能准确达到以上要求。
2 总体设计方案
2.1 数字温度计设计方案论证
2.1.1 方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化
的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可
以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。
2.1.2 方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想
到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行
转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了
方案二。
2.2 方案二的总体设计框图
温度计电路设计总体设计方框图如图 1 所示,控制器采用单片机 AT89S51,温度传感器采用
DS18B20,用 3 位 LED 数码管以串口传送数据实现温度显示。

LED
温
度
传
感
器
图 1 总体设计方框图
2.2.1 主控制器
单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的
设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
2.2.2 显示电路
显示电路采用 3 位共阳 LED 数码管,从 P3 口 RXD,TXD 串口输出段码。
2.2.3 温度传感器
DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传
统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现
9~12位的数字值读数方式。DS18B20 的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为 3.0~5.5 V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20 采用3脚 PR-35 封装或8脚 SOIC 封装,其内部结构框图如图 2 所示。
I/O
ROM
C
单
Vdd
8 位 CRC 发生器

图 2 DS18B20 内部结构
64 位 ROM 的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最
后8位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。温度报警
触发器TH和TL,可通过软件写入户报警上下限。
DS18B20 温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的
EERAM。高速暂存 RAM 的结构为8字节的存储器,结构如图 3 所示。头2个字节包含测得的温度
信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配
置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为
相应精度的温度数值。该字节各位的定义如图 3 所示。低5位一直为1,TM是工作模式位,用于
设置 DS18B20 在工作模式还是在测试模式,DS18B20 出厂时该位被设置为0,用户要去改动,R1
和R 0 决定温度转换的精度位数,来设置分辨率。
温度 LSB
温度 MSB
TH 用户字节 1
TL 用户字节 2
配置寄存器
保留
保留
保留
CRC
. .
TM R1 R0 1 1 1 1
1
. .
图 3 DS18B20 字节定义
由表 1 可见,DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间
越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字
节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。
当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符号扩
展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,
读数据时低位在先,高位在后,数据格式以 0.0625℃/LSB 形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位
S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表 2 是一部分温
度值对应的二进制温度数据。
.
.
表 1 DS18B20 温度转换时间表
R1 R0
0 0
分辨率/位 温度最大转向时间/ms
9
0 1 10
1 0 11
1 1 12
187.5
375
750
. .
DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、T L字节内容作比较。若T>TH
或 T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用
多只 DS18B20 同时测量温度并进行报警搜索。
剩余12页未读,继续阅读
资源评论


G11176593
- 粉丝: 6169
- 资源: 3万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
