基于ds18b20的数字温度计设计.docx
- 文档编号:179958
- 上传时间:2022-10-05
- 格式:DOCX
- 页数:27
- 大小:218.51KB
基于ds18b20的数字温度计设计.docx
《基于ds18b20的数字温度计设计.docx》由会员分享,可在线阅读,更多相关《基于ds18b20的数字温度计设计.docx(27页珍藏版)》请在冰豆网上搜索。
目 录
(一)设计内容及要求 2
(二)系统的硬件选择及设计 3
2.1核心处理器的设计 3
1、AT89C51引脚图 3
2、AT89C51引脚功能介绍 3
2.2温度采集电路的设计 5
1、单线技术 5
2、DS18B20的简介 6
3、DS18B20内部结构 8
4、DS18B20测温原理 11
5、温度采集电路 12
2.3温度显示电路的设计 13
1、LED数码管的操作 13
2、温度显示电路 13
(三)系统的软件设计 15
3.1概述 15
3.2DS18B20的单线协议和命令 15
(1)初始化 15
(2)ROM操作命令 15
(3)内存操作命令 16
3.3温度采集程序流程图的设计 18
3.4温度显示程序流程图的设计 19
(四)结论 19
(五)汇编代码 20
(六)参考文献 27
27
基于DS18B20的数字温度计设计
摘要:
在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过两位共阴极LED数码显示管并行传送数据,实现温度显示。
本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用汇编语言实现温度的采集与显示。
通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。
关键词:
单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计
(一)设计内容及要求
本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机AT89C51芯片为核心,辅以温度传感器DS18B20和LED数码管及必要的外围电路,构成了一个多功能单片机数字温度计。
本次设计的主要思路是利用51系列单片机,数字温度传感器DS18B20和LED数码显示器,构成实现温度检测与显示的单片机控制系统,即数字温度计。
通过对单片机编写相应的程序,达到能够实时检测周围温度的目的。
通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、DS18B20、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度计的总体设计。
其具体的要求如下:
1、根据设计要求,选用AT89C51单片机为核心器件;
2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的P2.2引脚相连;
3、显示电路采用两位LED数码管以串口并行输出方式动态显示。
(二)系统的硬件选择及设计
2.1核心处理器的设计
1、AT89C51引脚图
芯片AT89C51的引脚排列和逻辑符号如图2.1所示。
图2.1AT89C51单片机引脚图
2、AT89C51引脚功能介绍
单片机芯片AT89C51为40引脚双列直插式封装。
本设计使用的其各个引脚功能介绍如下:
(1)VCC:
供电电压;
(2)GND:
接地;
(3)P0口:
一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
本设计中使用P0作为两个共阴极LED数码管的位选和段选输出控制口,其中用到74HC573作为输出锁存,将段选和位选分开控制,由P2.7,P2.8开启。
电路图如下:
(4)P1口:
一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口被拉为低电平时将输出电流。
本设计中只用到P1.0管脚,当所测量温度超过预设报警温度时点亮LED灯,其中用到74HC573作为输出锁存,由P2.5开启该锁存器。
电路图如下:
(5)P2口:
一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
本设计中使用P2.2管脚和DS18B20的DQ管脚相连作为通信总线,AT89C51和DS18B20都能对该线电平拉高和拉低操作来进行通信,当电平为高时总线传输“1”,当电平为低时总线传输“0”;P2.7,P2.8开启数码管的位选和段选的P0口的锁存;P2.5开启报警LED灯的P1口的锁存。
(6)RST:
复位输入端。
当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
2.2温度采集电路的设计
1、单线技术
该技术采用单根信号线,即可传输时钟,又能传输数据,而且数据传输时是双向的,因而这种单线技术具有线路简单,硬件开销少,成本低廉。
便于扩展的优点。
单线技术适用以单主机系统,单主机能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单线器件,它们之间的数据交换,控制都由这根线完成。
主机或从机通过一个漏极开路或三态端口连至该数据线,以允许设备在不发
送数据时能够释放线,而让其它设备使用。
单线通常要求外接一个约5kΩ的上拉电阻,这样,当该线闲置时,器件状态为高电平。
主机和从机之间的通信主要分为3个步骤:
初始化单线器件,识别单线器件和单线数据传输。
由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件都必须严格遵循单线命令序列,从机遵守上述三个步骤的顺序。
如果命令序列混乱,单线器件将不会响应主机。
所有的单线器件都有遵循严格的协议,以保证数据的完整性。
单线协议有复位脉冲,其他均由主机发起,并且所有命令和数据都是字节的低位在前。
2、DS18B20的简介
DALLAS最新单线数字温度传感器DS18B20是一种新型的”一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
温度测量范围为-55~
+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的性能特点如下:
▲独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条总线即可实现微处理器与DS18B20的双向通讯;
▲DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;
▲DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
▲适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电;
▲测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
▲零待机功耗;
▲可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
▲在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在
750ms内把温度值转换为数字,速度更快;
▲用户可定义报警设置;
▲报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
▲测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
▲负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作以上特点使DS18B20非常适用与多点、远距离温度检测系统。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列、各种封装形式如图2.4所示。
其中,DQ为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。
其电路图2.5所示。
图2.4外部封装形式 图2.5传感器电路图
3、DS18B20内部结构
图2.6为DS1820的内部结构框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
图2.6DS18B20内部结构框图
DS18B20采用3脚PR-35封装或8脚SOIC封装。
(1)64bit闪速ROM的结构如下:
8bit校验CRC
48bit序列号
8bit工厂代码
MSBLSB MSBLSB
(10H)
MSBLSB
开始的8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
主机操作ROM的命令有五种,在软件设计时会提到。
(2)高速暂存RAM的结构为8字节的存储器结构如图2.7所示。
图2.7高速暂存RAM结构图
其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
0 R1 R01 1 1 1 1 1
暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下:
MSBLSB
其中R0和R1是温度值分辨率位,可按表2.3进行配置。
表2.3温度值分辨率配置表
最大转换时间
R1
R0
分辨率
0
0
9位
(ms)
93.75ms(tconv/8)
0
1
10位
183.50ms(tconv/4)
1
0
11位
375ms(tconv/2)
1 1 12位 750ms(tconv)
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625℃/LSB形式表示。
温度值格式如下:
低
23
22 21 20 2-1 2-2 2-3 2-4
高 S S S S S
2
6
2
5
2
4
MSBLSB
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ds18b20 数字 温度计 设计