DS18B20数字温度计设计实验报告
- 格式:doc
- 大小:6.57 MB
- 文档页数:18
数字温度计DS18B20课程设计报告1. 课程设计背景数字温度计是一款可以测量温度并输出数字信号的电子设备。
它具有高精度、可编程、低功耗等优点,因此在很多领域都有广泛应用,比如环境温度监测、工业控制、食品加工等。
DS18B20是一款数字温度传感器,它以数字方式输出采集到的温度值,精度高达±0.5℃,提供了多种通信协议,应用灵活。
在本次课程设计中,我们将学习如何使用DS18B20来制作一款数字温度计。
2. 课程设计目标在本次课程设计中,我们的目标是:1.学习数字温度计的工作原理和基本构成;2.掌握DS18B20的使用方法和通信原理;3.制作一款数字温度计,并进行温度测量和数据传输。
3. 课程设计内容3.1 数字温度计的工作原理数字温度计的工作原理是利用温度传感器采集温度信息,然后通过模数转换器(ADC)将模拟信号转换成数字信号,并且通过数字信号处理单元进行处理,并显示在屏幕上。
温度传感器一般分为两种类型,即模拟温度传感器和数字温度传感器。
3.2 DS18B20的使用方法和通信原理DS18B20可以通过多种通信协议与主控板进行通信,如1-wire协议、I2C协议等。
1-wire协议是一种仅使用单个总线的串行协议,利用单总线实现数据传输。
3.3 制作数字温度计我们可以通过编程语言来控制DS18B20进行温度采集,并用LCD屏幕显示温度值。
首先要准备所需的材料和工具,包括Arduino开发板、DS18B20传感器、LCD显示屏、杜邦线、面包板等。
具体步骤如下:•连接DS18B20传感器•连接LCD显示屏•编写程序4. 课程设计成果经过学习和实际操作,我们可以掌握数字温度计的工作原理和基本构成,以及DS18B20的使用方法和通信原理。
同时,我们可以独立制作一款数字温度计,在温度测量和数据传输方面有了实际经验。
这些知识和技能对于我们学习和研究电子技术都非常有帮助。
5.通过本次课程设计,我们学习了数字温度计的工作原理和基本构成,以及DS18B20的使用方法和通信原理。
温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言温度传感器在现代生活中扮演着重要的角色,它们被广泛应用于各种领域,包括工业、医疗、农业等。
DS18B20是一种数字温度传感器,具有精准的测量能力和数字输出,因此备受青睐。
本实验旨在通过对DS18B20温度传感器的测试和分析,探讨其性能和应用。
实验目的1. 了解DS18B20温度传感器的工作原理和特性。
2. 测试DS18B20温度传感器的测量精度和响应速度。
3. 探讨DS18B20温度传感器在实际应用中的优缺点。
实验器材1. DS18B20温度传感器2. Arduino开发板3. 4.7kΩ电阻4. 连接线5. 电脑实验步骤1. 将DS18B20温度传感器连接到Arduino开发板上,并接入4.7kΩ电阻。
2. 编写Arduino程序,通过串口监视器输出DS18B20传感器的温度数据。
3. 将DS18B20传感器置于不同的温度环境中,记录其输出的温度数据。
4. 分析DS18B20传感器的测量精度和响应速度。
5. 探讨DS18B20传感器在实际应用中的优缺点。
实验结果经过实验测试,DS18B20温度传感器表现出了较高的测量精度和响应速度。
在不同温度环境下,其输出的温度数据与实际温度基本吻合,误差较小。
此外,DS18B20传感器具有数字输出,易于与各种微控制器和单片机进行连接,应用范围广泛。
然而,DS18B20传感器在极端温度环境下可能出现测量误差,且价格较高,需要根据实际需求进行选择。
结论DS18B20温度传感器具有较高的测量精度和响应速度,适用于各种温度测量场景。
然而,在选择和应用时需要考虑其价格和适用范围,以确保满足实际需求。
希望本实验能够为DS18B20温度传感器的应用提供参考和借鉴,推动其在各个领域的发展和应用。
课程设计说明书(论文)题目: 温度测量课程名称: 单片机课程设计专业: 电子信息工程班级: 电信0901学生姓名:学号: 31 16 10设计地点: 3#北603指导教师:设计起止时间:2012年5月2日至2012年5月22日目录一、设计功能要求: (3)二、系统总体设计方案: (5)1、基本设计思想: (5)2、实施方案论述: (6)三、系统分析与设计: (6)1、程序流程图及说明 (6)2、温度计的的电路设计 (9)四、源码清单: (12)五、改进意见与收获体会: (18)六、主要参考资料: (19)一、设计功能要求:本次的设计主要是利用了数字温度传感器DS18B20测量温度信号,计算后可以在LCD数码管上显示相应的温度值。
其温度测量范围为-55~125℃,精确到0.5℃。
本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
数字温度计所测量的温度采用数字显示,控制器使用单片机89C51,测温传感器使用DS18B20,用LCD1602实现温度显示。
从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。
本次使用的单片机89C51和MCS-51是完全兼容的,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器。
其主要特点如下:• 8位CPU。
•工作频率最高为24M。
• 128B数据存储器。
• 4KB程序存储器。
•程序存储器的寻址空间为64KB。
•片外数据存储器的寻址空间为64KB。
• 128个用户位寻址空间。
• 21个字节特殊功能寄存器。
• 4个8位的并行I/O接口:P0、P1、P2、P3。
•两个16位定时/计数器。
•两个优先级别的5个中断源。
• 1个全双工的串行I/O接口,可多机通信。
• 111条指令,喊乘法指令和除法指令。
简易温度测量仪班级:0120902队员:指导老师:摘要温度测量仪主要有以DS18B20为核心的温度采集电路,以蜂鸣器为核心的报警电路以及学习板电路三部分电路构成。
软件实现方面包括三个模块:温度采集模块、报警模块、按键与显示模块。
本温度测试仪采用数码管显示温度测试范围0~+125℃,可实现两点温度测量、摄氏温度华氏温度相互转换、设置温度显示精度、设置报警温度上下限、蜂鸣器报警等五个功能。
关键词:温度测量仪 DS18B20 蜂鸣器分辨率多点测量目录目录……………………………………………………1第一章设计目的 (3)第二章方案的选取 (3)第三章DS18B20测温电路系统设计要求 (4)第四章DS18B20测温电路系统设计 (5)1.DS18B20测温电路的组成框图 (5)2. DS18B20的简介 (5)2.1 DS18B20的内部结构 (6)2.2 DS18B20的工作过程及时序 (7)3. 系统硬件电路 (10)3.1 DS18B20温度传感器与单片机的接口电路 (10)3.2 蜂鸣器电路 (11)4. 系统软件设计 (11)4.1系统主程序流程图 (11)4.2重点模块程序分析 (12)第五章系统测试和结论 (14)6.1测试条件及方案 (14)6.2测试结果和分析 (15)第六章设计体会 (15)一、设计目的1.进一步熟悉和掌握DS18B20芯片的结构及工作原理。
2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。
6.了解 DS1820数字温度传感器特性7. 掌握单片机基本功能的运用、简单接口电路如键盘、数码管显示电路设计及其相应驱动软件的编制软、硬件系统的调试二、方案的选取方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
第1章引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。
其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。
因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。
本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。
本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。
该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.第2章任务与要求2.1测量范围-50~110°C,精确到0.5°C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章方案设计及论证3.1温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。
而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。
3.2显示模块的设计及论证LED是发光二极管Light Emitting Diode 的英文缩写。
LED显示屏是由发光二极管排列组成的一显示器件。
通信工程学院课程设计任务书题目DS18B20数字温度计设计课程名称单片机原理及应用B专业班级学生姓名学号设计地点指导教师设计起止时间:年月日至年月日目录一、绪论 (2)1.1 设计目的 (2)1.2设计内容 (2)1.3设计要求 (2)二、基本设计 (3)2.1 基本思路 (3)2.2系统设计原理…………………………………………………………………………….,32.3系统组成 (3)三、系统硬件设计 (6)3.1系统电路接线图 (6)3.2 主系统 (6)3.3 显示电路LM016L (9)3.4 蜂鸣器报警 (10)3.5 DS18B20传感器 (10)四、系统软件设计 (14)4.1具体步骤和设计内容 (14)4.1程序流程图................................................................................................. ..1234.2源程序清单.................................................................................................... 16.五、结果验证5.1测试结果 (23)5.2仿真结果 (23)六、学习小结错误!未定义书签。
、参考文献……………………………………………………………绪论1.1 设计目的1.掌握单总线协议的基本特点及通信过程;2. 掌握数字温度传感器DS18B20的基本特点及单总线控制协议;3. 掌握单片机IO端口模拟单总线时序控制程序的编写方法;4.掌握LCD液晶显示器的显示驱动方法。
1.2设计内容(1)基本内容:在nKDE51单片机实验教学系统上,利用DS18B20数字温度传感器连续测试环境温度,对测试数据进行处理计算,在RT-1602字符点阵LCD上实时显示环境温度值;(2)附加内容:实现环境温度越限告警功能。
基于DS18B20数字温度计设计报告正文西华大学电气信息学院智能化电子系统设计报告目录1 前言 ................................................ .. (1)设计背景 ................................................ ......... 1 设计目标 ................................................ ......... 1 实施计划 ................................................ ......... 1 2 总体方案设计 ................................................ (2)方案比较 ................................................ (2)方案一基于热敏电阻的温度计设计 .............................. 2 方案二基于SHT71的数字温度计设计 ............................ 2 方案三基于DS18B20的数字温度计设计.......................... 3 方案论证 ................................................ ......... 3 方案选择 ................................................ ......... 4 3 硬件设计 ................................................ . (5)单元模块设计 ................................................ .. (5)时钟和复位电路 (5)报警电路 ................................................ .... 5 数码显示电路 ................................................6 电源电路 ................................................ ....7 按键电路 ................................................ .... 7 串口通信电8 核心器件介绍 ................................................ .. (8)单片机STC89C52介绍 (8)DS18B20介绍 (9)4 软件设计 ................................................ (11)温度采集模块 ................................................ .... 11 温度设定模块 ................................................ .... 14 报警模块 ................................................ ........ 15 5 系统整合调试 ................................................ .. (16)硬件调........ 16 软件调试 ................................................ .. (16)I西华大学电气信息学院智能化电子系统设计报告 6 系统功能、指标参数 ................................................ .. 18系统功能 ................................................ ........ 18 系统指标参数测试 ................................................18 系统功能及指标参数分析.......................................... 19 7 结论 ................................................ ................ 20 8 总结与体会 ................................................ .......... 21 9西华大学电气信息学院智能化电子系统设计报告积极小的芯片当中,实现了温度传感器的数字式输出、且免调试、免标定、免外围电路。
课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201学号: 10420134姓名:杨泽润浙江交通职业技术学院机电学院2012年5月29日目录一、DS18B20温度测量与控制实验目的……………………二、DS18B20温度测量与控制实验说明……………………三、DS18B20温度测量与控制实验框图与步骤……………………四、DS18B20温度测量与控制实验清单……………………五、DS18B20温度测量与控制实验原理图…………………六、DS18B20温度测量与控制实验实训小结………………一、实验目的1.了解单总线器件的编程方法。
2.了解温度测量的原理,掌握 DS18B20 的使用。
二、实验说明本实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。
Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。
DS18B20 的管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。
光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。
单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名:李成学号:0指导教师:周灵彬设计时刻: 2015年1月目录DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,常常要用到温度的检测及操纵,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一样都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:●硬件电路复杂;●软件调试复杂;●制作本钱高。
本数字温度计设计采纳美国DALLAS半导体公司继DS1820以后推出的一种改良型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达℃。
DS18B20能够直接读出被测温度值,而且采纳三线制与单片机相连,减少了外部的硬件电路,具有低本钱和易利用的热点。
1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在0~125℃,误差在±1℃之内,采纳LED数码管直接读显示。
2.方案设计依照系统设计功能的要求,确信系统由3个模块组成:主操纵器、测温电路和显示电路。
数字温度计整体电路结构框图如下图:图3. 硬件设计温度计电路设计原理图如下图所示,操纵器利用单片机AT89C2051,温度传感器利用DS18B20,利用四位共阳LED数码管以动态扫描法实现温度显示。
主操纵器单片机AT89C51具有低电压供电和小体积等特点,两个端口恰好知足电路系统的设计需要,很适合便携手持式产品的设计利用。
系统可用两节电池供电。
AT89C51的引脚图如右图所示:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被概念为高阻输入。
P0能够用于外部程序器,它能够被概念为数据/地址的第八位。
在FIASH编程时,P0 口作为输入口,当FIASH进行校验时,P0输出,此刻P0外部必需被拉高。
P1口:P1口是一个内部提供的8位双向I/O口,P1口能接收输出4TTL门电流。
数字温度计DS18B20课程设计报告专业名称:自动化专业班级:全文结束》》级自动化1班学号:全文结束》》4786 摘要本设计采用的主控芯片是ATMEL公司的AT89C51单片机,数字温度传感器是DALLAS公司的DS18B20。
本设计用数字传感器DS18B20测量温度,测量精度高,传感器体积小,使用方便。
所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。
单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技术。
51单片机是最常用的一种单片机,而且在高校中都以51单片机教材为蓝本,这使得51单片机成为初学单片机技术人员的首选。
本次设计采用的AT89C51是一种flash型单片机,可以直接在线编程,向单片机中写程序变得更加容易。
本次设计的数字温度计采用的是DS18B20数字温度传感器,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本设计根据设计要求,首先设计了硬件电路,然后绘制软件流程图及编写程序。
本设计属于一种多功能温度计,温度测量范围是-55℃到125℃。
温度值的分辨率可以被用户设定为9-12位,可以设置上下限报警温度,当温度不在设定的范围内时,就会启动报警程序报警。
本设计的显示模块是用液晶显示屏1602实现温度显示。
在显示实时测量温度的模式下还可以通过查询按键查看设定的上下限报警温度。
一、实验设计概述本系统所设计的数字温度计采用的是DS18B20数字温度传感器测温,测温上下限为10°C~40°C。
DS18B20直接输出的就是数字信号,与传统的温度计相比,具有读数方便,测温范围广,测温准确,上下限报警功能。
其输出温度采用LCD1602显示,主要用于对测温比较准确的场所。
该设计控制器使用的是51单片机AT89C51,AT89C51单片机在工控、测量、仪器仪表中应用还是比较广泛的。
实训五 DS18B20温度检测控制实训一、实训目的1.温度传感器电路的工作原理。
2.了解温度控制的基本原理。
3.掌握一线总线接口的使用。
二、实训说明1.DALLAS最新单线数字温度传感器DS18B20简介Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
DS18B20测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校训码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
目录1 前言 (1)1.1 设计背景 (1)1.2 设计目标 (1)1.3 实施计划 (1)2 总体方案设计 (2)2.1 方案比较 (2)2.1.1 方案一基于热敏电阻的温度计设计 (2)2.1.2 方案二基于SHT71的数字温度计设计 (2)2.1.3 方案三基于DS18B20的数字温度计设计 (3)2.2 方案论证 (3)2.3 方案选择 (4)3 硬件设计 (5)3.1 单元模块设计 (5)3.1.1 时钟和复位电路 (5)3.1.2 报警电路 (5)3.1.3 数码显示电路 (6)3.1.4 电源电路 (7)3.1.5 按键电路 (7)3.1.6 串口通信电路 (8)3.2 核心器件介绍 (8)3.2.1 单片机STC89C52介绍 (8)3.2.2 DS18B20介绍 (9)4 软件设计 (11)4.1 温度采集模块 (11)4.2 温度设定模块 (14)4.3 报警模块 (15)5 系统整合调试 (16)5.1 硬件调试 (16)5.2 软件调试 (16)6 系统功能、指标参数 (18)6.1 系统功能 (18)6.2 系统指标参数测试 (18)6.3 系统功能及指标参数分析 (19)7 结论 (20)8 总结与体会 (21)9 参考文献 (22)10 附录一:基于DS18B20数字温度计的设计原理图 (23)11 附录二:基于DS18B20数字温度计的设计PCB图 (24)12 附录三:基于DS18B20数字温度计的设计的实物图 (25)13 附录四:基于DS18B20数字温度计的设计C语言程序 (26)1前言自动控制领域中,温度检测与控制占有很重要的地位。
温度检测在工农业生产、科研和在人们的生活中得到广泛的运用。
目前,温度传感器正从模拟式向数字集成式方向飞速发出,单片机也是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好更方便的设施就需要从单片机技术入手,一切向着数字化、智能化方向发展。
温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言:温度传感器是一种用于测量环境温度的设备,它在许多领域都有广泛的应用,如气象学、工业控制、冷链物流等。
本实验报告将介绍DS18B20温度传感器的原理、实验装置和实验结果,并对其性能进行评估。
一、实验原理DS18B20温度传感器是一种数字温度传感器,采用单总线接口进行通信。
它采用了最新的数字温度传感器技术,具有高精度、低功耗、抗干扰等特点。
其工作原理是利用温度对半导体材料电阻值的影响,通过测量电阻值的变化来确定温度。
二、实验装置本实验使用的实验装置包括DS18B20温度传感器、Arduino开发板、杜邦线和计算机。
Arduino开发板用于读取传感器的温度数据,并通过串口将数据传输到计算机上进行处理和显示。
三、实验步骤1. 连接电路:将DS18B20温度传感器的VCC引脚连接到Arduino开发板的5V 引脚,GND引脚连接到GND引脚,DQ引脚连接到Arduino开发板的数字引脚2。
2. 编写代码:使用Arduino开发环境编写代码,通过OneWire库和DallasTemperature库读取DS18B20传感器的温度数据。
3. 上传代码:将编写好的代码上传到Arduino开发板上。
4. 监测温度:打开串口监视器,可以看到DS18B20传感器实时的温度数据。
四、实验结果在实验过程中,我们将DS18B20温度传感器放置在不同的环境中,记录了其测得的温度数据。
实验结果显示,DS18B20温度传感器具有较高的精度和稳定性,能够准确地测量环境温度。
五、实验评估本实验评估了DS18B20温度传感器的性能,包括精度、响应时间和抗干扰能力。
实验结果表明,DS18B20温度传感器具有较高的精度,能够在0.5℃的误差范围内测量温度。
响应时间较快,能够在毫秒级别内完成温度测量。
同时,DS18B20温度传感器具有较好的抗干扰能力,能够在干扰环境下保持稳定的测量结果。
温度传感器DS18B20实验报告一、实验目的1.复习掌握Protues,keil软件的使用2.了解掌握DS18B20的工作原理以及编程方法二、实验器材单片机开发板温度传感器芯片DS18B20串口线三、实验原理一应用背景概述测量温度的关键是温度传感器。
随着技术飞速发展,传感器已进入第三代数字传感器。
本测温系统采用的DS18B20就是属于这种传感器。
DS18B20是美国DALLAS半导体公司生产的单总线数字温度传感器,它可以实现数字化输出和测试,并且有控制功能强、传输距离远、抗干扰能力强、接口方便、微功耗等优点,因而被广泛应用在工业、农业、军事等领域的控制仪器、测控系统中。
二 DS18B20的原理及特性介绍1.DS18B20的几个特点:a. DS18B20因为采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接接传感器直接输出被测温度值(二进制数)。
b.其测量温度范围为:-55℃————+125℃,c.测量分辨率为:0.0625℃,是其他传感器无法相比的。
图1 DS18B20外部形状及管脚d.内含64位只读存储器ROM,(内存出厂序列号,是对应每一个器件的唯一号),还又RAM 存有温度当前转换值及符号。
e.用户可分别设定每个器件的温度上、下限。
f.内含寄生电源。
2. DS18b20的结构:a. 64位光刻ROM ,可以看作是DS18B20的地址序列号,如表一所示。
表1b.高速暂存器RAM共占0、1两个单元:表2两个8位的RAM中,存放二进制的数,高五位是符号位,如果温度大于0OC,这五位数为0,将测到的数值乘以0.0625,即得到实际的温度值;如果温度小于0OC,高五位为1,测到的数值需要取反加1,再乘以0.0625 ,才得到实际的温度值。
c. 九个寄存器的名称及作用:表3三 DS18B20 的控制方法DS18B20的操作是通过执行操作命令实现的,其控制程序是按照DS18B20的通讯协议编制的。
基于ds18b20的数字温度计设计报告
一、引言
随着科技的进步,温度的测量和控制变得越来越重要。
DS18B20是一款数字温度传感器,具有测量准确度高、体积小、接口简单等优点,广泛应用于各种温度测量场合。
本报告将介绍基于DS18B20的数字温度计设计。
二、DS18B20简介
DS18B20是一款由美国Dallas公司生产的数字温度传感器,可以通过数据线与微处理器进行通信,实现温度的测量。
DS18B20的测量范围为-55℃~+125℃,精度为±0.5℃。
三、数字温度计设计
1.硬件设计
数字温度计的硬件部分主要包括DS18B20温度传感器、微处理器、显示模块等。
其中,DS18B20负责采集温度数据,微处理器负责处理数据并控制显示模块显示温度。
2.软件设计
软件部分主要实现DS18B20与微处理器的通信和控制显示模块显示。
首先,微处理器通过数据线向DS18B20发送命令,获取温度数据。
然后,微处理器将数据处理后发送给显示模块,实现温度的实时显示。
四、测试结果
经过测试,该数字温度计的测量精度为±0.5℃,符合设计要求。
同时,该温度
计具有测量速度快、体积小、使用方便等优点,可以广泛应用于各种温度测量场合。
五、结论
基于DS18B20的数字温度计具有高精度、低成本、使用方便等优点,可以实现高精度的温度测量和控制。
随着科技的发展,数字温度计的应用将越来越广泛,具有广阔的市场前景。
机电系统控制电路设计实验实验项目:现场温度测量与显示实验日期:2013年12月21日指导教师:张志安学号:1001500356姓名:周健专业:机电工程实验要求1.实验目的:(1)熟悉atmega128单片机输入输出,数码管的显示等。
(2)掌握DS18B20温度传感器的使用,包括ROM编码读取、温度测量、暂存器读取与写入、复制暂存器内容到EEPEOM的操作。
2.实验器材:(1)带有DS18B20的A Tmega128单片机开发板(2)JTAG仿真器3.实验内容:编写程序控制DS18B20温度传感器,实现64位ROM编码的读取、现场温度测量与显示(利用数码管显示)、暂存器读取与写入、复制暂存器内容到EEPEOM。
4.实验原理图:5.实验步骤:(1)查看开发板原理图,了解连接接口。
(2)GCC下编写源程序,检查无误后编译,生成仿真文件。
(3)打开A VRStdio,导入生成的*.cof仿真文件,软件仿真,调试程序。
(4)程序调试无误后,通过JTEG在线仿真,在开发板上检验程序运行结果,并记录。
(5)按照(1)—(4)步骤,依次实现64位ROM编码的读取、现场温度测量与显示(利用数码管显示)、暂存器读取与写入、复制暂存器内容到EEPEOM。
6.实验现象分析:(1)64位ROM编码的读取:28 13 E4 57 04 00 00 19关键程序:(2)现场温度测量与显示(利用数码管显示):20.5(3)暂存器读取与写入写入TH=0x40 TL=0x04(4)复制暂存器内容到EEPEOM。
数字温度计实验报告一、实验目的1.通过温度计的设计,了解DS18B20芯片的基本功能和用法,另外更加熟练地运用人眼的视觉暂留效应实现温度的动态显示等。
二、实验要求1.能够实时显示环境温度。
2.能够保存使用时间内的最大值和最小值,能够查阅。
3.有温度报警功能,能够设置报警温度。
用绿灯表示正常温度,红灯表示报警同时发声。
三、实验基本原理DS18B20是美国Dallas公司生产的单总线数字输出型集成温度传感器,能够直接读出被测温度值,并且可根据实际要求通过编程实现9~12位的数字量输出,将温度值转化为9位数字量所需时间为93.75 ms,转化为12位数字量所需时间为750 ms。
测试温度范围为-55~+125,精度可达0.0675℃。
本电路包含了单片机最小系统(包括复位按钮、晶振电路)、单总线接口的温度传感器芯片DS18B20、LED数码管显示电路的设计。
本电路采用8位单片机A T89C51,工作原理图如下页所示:1. AT89S52单片机引脚资源及分配如下:2. 晶振电路:在89S52内部有一个高增益反相放大器,其输入端为引脚XTAL1,其输出端为引脚XTAL2。
只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器或在引脚与地之间加接微调电容,形成反馈电路,振荡器即可工作。
振荡电路的工作原理如下图:由于电容的大小影响振荡器震荡的稳定性和起振的快速性,通常选择范围10~30 pF。
当由外部输入时钟信号时,外部信号接入XTAL1端,XTAL2端悬空不用。
对外部信号的占空比没有要求,高低电平持续时间不小于20 ns。
3. 温度传感器的接口:前面已经略微介绍过芯片DS18B20,下面主要介绍其使用方法:(1)引脚分配图如下:GND……地,DQ……数据I/O,VDD……电源(2)软件操作:a、主机先作复位操作b、主机再写跳过ROM的操作(CCH)命令c、然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。
DS18B20温度传感器设计报告
温度传感器DS18B20是由Dallas Semiconductor发明,是常用的一种单总线数字温度传感器。
它使用专有的1-Wire协议,既可以提供温度传感功能,也可以与其他外设进行通信。
DS18B20采用单总线通信技术,可以同时安装多个芯片,DS18b20工作电压范围3.0V-5.5V,可以提供
9bits 0.5°C精度的温度测量,可以提供-55°C到+125°C(-67°F到+257°F)温度范围,拥有丰富的软件功能。
温度敏感器是DS18B20的核心模块,它具有传感温度的功能,负责检测外界温度,DS18B20采用了CMOS制程,CMOS硅加热器消耗电流小,精度高,可以精确的检测温度变化,低工作电压,且在2.8V时也可工作,适合多种应用场景。
滤波器是由多个RC元件组成,用于权衡输入信号的频率和抑制外部噪声,实现输出信号更加稳定和清晰。
放大器是在滤波器的输出信号上起放大作用,使温度信号输入数模转换器(ADC)时,有足够的输入电平,放大器采用的是OTA(欧拉环路)放大器,具有低噪声,低失真,低漂移,低静态电流特性。
DS18B20数字温度计设计实验报告文档推荐本实验旨在设计并实现一款数字温度计,利用DS18B20数字温度传感器测量环境温度并通过LCD1602液晶屏幕实时显示温度值。
实验设计1.材料准备:Arduino UNO控制板LCD1602液晶显示屏面包板、面包线10K电阻2.配置DS18B20数字温度传感器将DS18B20数字温度传感器与Arduino UNO控制板连接。
按下面连接方式进行连接: DS18B20传感器的红色线连接到Arduino UNO的+5V输出端口接完线后在Arduino IDE软件中,依次点击工具-示例-DS18B20-Temperature-Resolution,打开示例程序。
将程序复制到新建文本文件中进行修改,此处我将分辨率改为了12位。
然后将程序上传到Arduino UNO控制板中。
LCD1602液晶显示屏的VO引脚连接到一个10K电位器的中间引脚LCD1602液晶显示屏的D4-D7引脚依次连接到Arduino UNO的数字4-7个针脚4.最终的连接方式将连接完DS18B20数字温度传感器和LCD1602液晶显示屏后的Arduino UNO控制板,和面包板和面包线通过另一个10K电阻连接,其中用到的端口引脚如下:Arduino UNO的5V端口连接了一个10K电阻,这个电阻的另一端通过面包线连接到面包板的一个面包网络面包板的另一个面包网络再通过面包线连接到LCD1602液晶显示屏的K端口最后将设备连接完整后,将实验代码上传到Arduino UNO控制板中,然后就可以通过LCD1602液晶显示屏上实时显示环境温度值。
实验总结通过本次实验,我们成功地实现了数字温度计,并能够通过LCD1602液晶显示屏上实时显示温度值。
实验中温度传感器和LCD显示屏的连接更加直观和清晰,容易理解,实验成功率较高。
通过此次实验,我们学习到了数字温度传感器的连接方式、温度检测方法和温度的精度和分辨率等基本知识,同时也熟悉了Arduino UNO控制板和LCD1602液晶显示屏的使用方法,提高了对物联网应用的理解和掌握,为后续学习打下坚实的基础。
单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名学号:*********** 赵晓磊20130123096 段石磊20133522028 付成指导老师:**设计时间: 2015年12月电子与信息工程学院目录1.引言 (3)1.1.设计意义 (3)1.2.系统功能要求 (3)2.方案设计 (4)3.硬件设计 (2)4.软件设计 (5)5.系统调试 (7)6.设计总结 (8)7.附录 (9)8.作品展示 (15)9.参考文献 (17)DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:●硬件电路复杂;●软件调试复杂;●制作成本高。
本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。
DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。
1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在-55~125℃,误差在±0.5℃以内,采用LED数码管直接读显示。
2. 方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如4.1图所示:图4.13. 硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED 数码管以动态扫描法实现温度显示。
主控制器 单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需AT89C2051 主 控制器 DS18B20 显示电路 扫描驱动要,很适合便携手持式产品的设计使用。
系统可用两节电池供电。
AT89C2051的引脚图如右图所示:1、VCC:电源电压。
2、GND:地。
3、P1口:P1口是一个8位双向I/O口。
口引脚P1.2~P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。
P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(ANI0)和反相输入(AIN1)。
P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。
当P1口引脚写入“1”时,其可用作输入端,当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的写入“1”时,其可用作输入端。
当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。
4、P3口:P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的七个双向I/O 口引脚。
P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。
P3口缓冲器可吸收20mA电流。
当P3口写入“1”时,它们被内部上拉电阻拉高并可用作输入端。
用作输入时,被外部拉低的P3口脚将用上拉电阻而流出电流。
5、RST:复位输入。
RST一旦变成高电平所有的I/O引脚就复位到“1”。
当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。
每一个机器周期需12个振荡器或时钟周期。
6、XTAL1:作为振荡器反相器的输入和内部时钟发生器的输入。
7、XTAL2:作为振荡器反相放大器的输出。
总线驱动器 74LS24474LS244为3态8位缓冲器,一般用作总线驱动器。
引脚图见上图。
显示电路显示电路采用4位共阳极LED数码管,从P1口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用8055三极管。
温度传感器 DS18B20DS18B20的性能特点:1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
5、温范围-55℃~+125℃,在-10~+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与单片机的接口电路(引脚图见右图)DS18B20可以采用电源供电方式,此时DS18B20的第1 脚接地,第2脚作为信号线,第3脚接电源。
4. 软件设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。
4.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。
温度测量每1s进行一次。
主程序流程图如图4.1所示。
4.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。
在读出时必须进行CRC 校验,校验有错时不能进行温度数据的改写。
读出温度子程序流程图如下图所示:现实5. 系统调试系统的调试以程序调试为主。
硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。
软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。
本程序采用单片机汇编或C 语言编写用Wave3.2或Keil C51编译器编程调试。
软件调试到能显示温度值,并且在有温度变化时显示温度能改变,救基本完成。
性能测试可用制作的温度机和已有的成品温度计同时进行测量比较。
由于DS18B20的精度很高,所以误差指标可以限制在0.5℃以内。
另外,-55~+125℃的测温范围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。
DS18B20温度计还可以在高低温报警、远距离多点测温控制等方面进行应用开发,但在实际设计中应注意以下问题;1、DS18B20工作时电流高大1.5mA ,总线上挂接点数较多且同时进行转换时要考虑增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET 供电。
2、连接DS18B20的总线电缆是有长度限制的,因此在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配等问题。
3、在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号。
一旦某个DS18B20接触不好或断线,当程序读DS18B20时,将没有返回信号,程序进入死循环。
这一点在进行DS18B20硬件连接和软件设计时要给予一定的重视。
6.设计总结历时2个星期的单片机课程设计已经结束了,在这两个星期的时间里,我们在老师的指导下完成了基于DS18B20的数字温度计的设计和制作。
在进行实验的过程中,我们了解并熟悉DS18B20、AT89C2051以及74LS244的工作原理和性能。
并且通过温度计的制作,我们将电子技能实训课堂上学到的知识进行运用,并在实际操作中发现问题,解决问题,更加增加对知识的认识和理解。
在课程设计的过程中,也遇到了一些问题。
比如最开始根据课本上的电路图进行合理的设计布局和布线。
有些同学的布局不合理,导致焊接的过程中任务相当繁重,并且不美观。
在之后的烧程序调试的时候,出现问题之后,没有合理布线的同学在查找问题的过程中相当棘手。
在焊接过程中,出现最多的就是虚焊问题。
对于这个问题,在焊接的过程中,我尽量依照书中的指导,尽量将焊点焊成水滴状,最后接电后再根据数码管的显示情况进行逐个排查。
在将程序烧到单片机之后,接上电源,发现数码管没有出现正常的“000.0”,而是出现了“666.6”,在检查线路无误之后,和其他的同学讨论之后得出结论:书中程序是对于单片机、电阻及数码管是直接连接而设计的,而在加入了74LS244之后,要将8个输入输出端口进行掉序。
于是,我便将8个端口进行调换,之后再次接通电源,数码管显示“000.0”,调试成功。
在自己的温度计制作完成之后,我还帮助其他没有完成的同学进行检修,并且成功帮助2位同学找到问题进行解决,最后都调试成功。
总之,在这2个星期中,通过自己在实验室动手制作数字温度计,不仅将课本的知识与实践相结合,而且在实践中更加深入了解书中原本抽象的知识。
这也是整个课程设计中最有收获的地方。
7.附录源程序代码/**************************************************************** *****///// DS18B20温度计C程序// 2005.2.28通过调试/**************************************************************** *****///使用AT89C2051单片机,12MHZ晶振,用共阳LED数码管//P1口输出段码,P3口扫描//#pragma src(d:\aa.asm)#include "reg51.h"#include "intrins.h" //_nop_();延时函数用#define Disdata P1 //段码输出口#define discan P3 //扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P3^7; //温度输入口sbit DIN=P1^0; //LED小数点控制uint h;//////*******温度小数部分用查表法**********//Uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x0 7,0x08,0x08,0x09,0x09}uchar codedis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xb f};/* 共阳LED段码表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-" */uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; // 列扫描控制字uchar data temp_data[2]={0x00,0x00}; // 读出温度暂放uchar data display[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据,一个运算暂存用///////***********11微秒延时函数**********///void delay(uint t){for(;t>0;t--);}///***********显示扫描函数**********/scan(){char k;for(k=0;k<4;k++) //四位LED扫描控制{Disdata=dis_7[display[k]];if(k==1){DIN=0;}discan=scan_con[k];delay(90);discan=0xff;}}/////***********18B20复位函数**********/ ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();DQ=0; //delay(50); // 550usDQ=1; //delay(6); // 66uspresence=DQ; // presence=0继续下一步 }delay(45); //延时500uspresence = ~DQ;}DQ=1;}/////**********18B20写命令函数*********/ //向 1-WIRE 总线上写一个字节void write_byte(uchar val){uchar i;for (i=8; i>0; i--) //{DQ=1;_nop_();_nop_();DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us DQ = val&0x01; //最低位移出delay(6); //66usval=val/2; //右移一位}DQ = 1;delay(1);}///*********18B20读1个字节函数********///从总线上读取一个字节uchar read_byte(void){uchar i;uchar value = 0;for (i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ = 0; //_nop_();_nop_();_nop_();_nop_(); //4usDQ = 1;_nop_();_nop_();_nop_();_nop_(); //4usif(DQ)value|=0x80;delay(6); //66us}DQ=1;return(value);}///***********读出温度函数**********///read_temp(){ow_reset(); //总线复位write_byte(0xCC); // 发Skip ROM命令write_byte(0xBE); // 发读命令temp_data[0]=read_byte(); //温度低8位temp_data[1]=read_byte(); //温度高8位ow_reset();write_byte(0xCC); // Skip ROMwrite_byte(0x44); // 发转换命令}///***********温度数据处理函数**********/work_temp(){uchar n=0; //if(temp_data[1]>127){temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1; }//负温度求补码display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]];display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);// display[3]=display[4]/100;display[1]=display[4]%100;display[2]=display[1]/10;display[1]=display[1]%10;if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;} }//最高位为0时都不显示if(n){display[3]=0x0B;}//负温度时最高位显示"-"}/////**************主函数****************/main(){Disdata=0xff; //初始化端口discan=0xff;for(h=0;h<4;h++){display[h]=8;}//开机显示8888ow_reset(); // 开机先转换一次write_byte(0xCC); // Skip ROMwrite_byte(0x44); // 发转换命令for(h=0;h<500;h++){scan();} //开机显示"8888"2秒while(1){read_temp(); //读出18B20温度数据work_temp(); //处理温度数据for(h=0;h<500;h++){scan();} //显示温度值2秒}}////*********************结束**************************//作品展示【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!】。