DS18B20温度传感器实验

合集下载

温度传感器ds18b20实验报告

温度传感器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温度传感器的应用提供参考和借鉴,推动其在各个领域的发展和应用。

温度通信系统实验报告(3篇)

温度通信系统实验报告(3篇)

第1篇一、实验目的1. 了解温度通信系统的基本组成和工作原理。

2. 掌握温度传感器的使用方法和信号采集技术。

3. 熟悉温度信号的传输和通信协议。

4. 分析温度通信系统的性能,优化系统设计。

二、实验原理温度通信系统主要由温度传感器、信号采集电路、通信模块和数据终端组成。

温度传感器用于测量环境温度,信号采集电路将温度信号转换为标准信号,通信模块负责将信号传输到数据终端,数据终端则对温度数据进行处理和分析。

三、实验仪器与设备1. 温度传感器:DS18B202. 信号采集电路:包括电阻、电容、运算放大器等3. 通信模块:ESP8266 Wi-Fi模块4. 数据终端:PC或智能手机5. 连接线、电源等四、实验步骤1. 搭建实验平台:将温度传感器、信号采集电路和ESP8266 Wi-Fi模块连接到PC 或开发板上。

2. 编程:使用C语言编写程序,实现以下功能:- 温度传感器数据采集- 信号处理与转换- Wi-Fi模块连接与数据传输3. 测试:- 连接Wi-Fi模块到路由器,测试通信是否正常。

- 通过数据终端接收温度数据,观察数据是否准确。

4. 性能分析:- 分析温度通信系统的延迟、带宽和稳定性。

- 优化系统设计,提高通信效率和可靠性。

五、实验结果与分析1. 数据采集:通过实验,成功采集到温度传感器数据,并将其转换为标准信号。

2. 通信测试:通过Wi-Fi模块,成功将温度数据传输到数据终端,通信稳定可靠。

3. 性能分析:- 延迟:实验中温度数据传输延迟约为1秒,满足实际应用需求。

- 带宽:根据实验条件,通信带宽约为500kbps,可满足数据传输需求。

- 稳定性:在测试过程中,通信系统表现出良好的稳定性,未出现中断或数据丢失现象。

六、实验结论1. 温度通信系统可以有效地将温度数据传输到数据终端,实现远程监控和控制。

2. 实验中使用的DS18B20温度传感器具有高精度、低功耗等优点,适用于温度监测领域。

3. ESP8266 Wi-Fi模块具有良好的通信性能,可满足实际应用需求。

温度监测系统实验报告

温度监测系统实验报告

一、实验目的1. 熟悉温度监测系统的基本组成和原理。

2. 掌握温度传感器的应用和数据处理方法。

3. 学会搭建简单的温度监测系统,并验证其功能。

二、实验原理温度监测系统主要由温度传感器、数据采集器、控制器、显示屏和报警装置等组成。

温度传感器将温度信号转换为电信号,数据采集器对电信号进行采集和处理,控制器根据设定的温度范围进行控制,显示屏显示温度信息,报警装置在温度超出设定范围时发出警报。

本实验采用DS18B20数字温度传感器,该传感器具有体积小、精度高、抗干扰能力强等特点。

数据采集器采用单片机(如STC89C52)作为核心控制器,通过并行接口读取温度传感器输出的数字信号,并进行相应的处理。

三、实验器材1. DS18B20数字温度传感器2. STC89C52单片机3. LCD显示屏4. 电阻、电容等电子元件5. 电源模块6. 连接线四、实验步骤1. 搭建温度监测系统电路,包括温度传感器、单片机、显示屏、报警装置等。

2. 编写程序,实现以下功能:(1)初始化单片机系统;(2)读取温度传感器数据;(3)将温度数据转换为摄氏度;(4)显示温度数据;(5)判断温度是否超出设定范围,若超出则触发报警。

3. 连接电源,启动系统,观察温度数据变化和报警情况。

五、实验结果与分析1. 系统搭建成功,能够稳定运行,实时显示温度数据。

2. 温度数据转换准确,显示清晰。

3. 当温度超出设定范围时,系统能够及时触发报警。

六、实验总结1. 本实验成功地搭建了一个简单的温度监测系统,实现了温度数据的采集、处理和显示。

2. 通过实验,加深了对温度传感器、单片机、显示屏等电子元件的理解和应用。

3. 实验过程中,学会了如何编写程序,实现温度数据的处理和显示。

七、实验建议1. 在实验过程中,注意电路连接的准确性,避免因连接错误导致实验失败。

2. 在编写程序时,注意代码的简洁性和可读性,便于后续修改和维护。

3. 可以尝试将温度监测系统与其他功能结合,如数据存储、远程传输等,提高系统的实用性和功能。

DS18B20温度测量与控制实验报告

DS18B20温度测量与控制实验报告

课程实训报告《单片机技术开发》专业:机电一体化技术班级: 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在体温检测中的应用

数字温度传感器DS18B20在体温检测中的应用

收稿日期:2005-02-08数字温度传感器DS18B20在体温检测中的应用韦 哲,程自峰(兰州军区兰州总医院器械科,甘肃兰州730050)〔中图分类号〕T N79 〔文献标识码〕A 〔文章编号〕1002-2376(2005)04-00010-03 〔摘 要〕本文主要介绍美国DA LLAS公司的一线数字温度传感器DS18B20结构原理及特点,并给出了与单片微机较详细的接口电路及读写时序,结合它在体温检测系统中的应用,对出现的硬件和软件的有关问题给出解决方法。

〔关键词〕DS18B20;体温检测;单片微机1 DS18B20结构特点DS18B20是DA LLAS公司生产的一线式数字温度传感器,具有3引脚T O-92小体积封装形式;温度测量范围为-55~+125℃,可编程为9~12位A/D 转换精度,测温分辨率可达010625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

以上特点使DS18B20适合于多点温度检测系统中。

本系统将其引入人体温度检测。

(1)DS18B20的性能参数(a)可用数据线供电,电压范围:310~515V;(b)测温范围:-55~+125℃,在-10~+85℃时精度为±015℃;(c)可编程的分辨率为9~12位,对应的可分辨温度分别为015℃、0125℃、01125℃和010625℃;(d)12位分辨率时最多在750ms内把温度值转换为数字;(e)负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(2)DS18B20的外形及引脚说明外形如图1所示。

其体积只有DS1820的一半,引脚定义相同。

(3)DS18B20内部结构(a)DS18B20的内部结构如图2所示。

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告

温度传感器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.2 所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。

高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器 1 和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到0时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。

图 1.1 测温原理图二、测温系统硬件电路图本测温系统选择体积小、成本低、内带2KEEPROM的89C2051作为控制芯片,晶振采用12MHZ,用74LS07驱动四个LED数码管和一个继电器线圈从而驱动电加热设备。

P3.5口作为采集温度信号线,P1口作为显示数据线,与P3.3,P3.4组成显示的个位、十位及符号位,采用动态扫描显示。

在本系统中测控一路温度信号,DS18B20通过单总线方式连接在单片机的P3.5引脚上,可设定所需的温度测定值(包括上限值和下限值),P3.1引脚控制电热设备启动与停止,从而达到控制温度效果。

整个系统的硬件原理图如图2.1所示:图2.1 测温系统硬件原理图二、实验过程记录3.1 DS18B20控制过程DS18B20的操作是通过执行操作命令实现的,其中包含复位脉冲、响应脉冲、读、写时序,时序的具体要求如下:(1)复位脉冲:单片机发出一个宽为480—960μs的负脉冲之后再发出5—60μs的正脉冲,此时DS18B20会发出一个60—240μs的响应脉冲,复位时序结束。

也就是呼应阶段。

(2)写时间片:写一位二进制的信息,周期至少为61μS,其中含1μS的恢复时间,单片机启动写程序后15—60μs期间DS18B20自动采样数据线,低电平为“0”,高电平为“1”。

温度传感器实验报告

温度传感器实验报告

温度传感器实验报告
一、实验目的
本实验旨在通过使用温度传感器来检测不同环境下的温度变化,并通过实验数据分析温度传感器的性能和准确度。

二、实验仪器
1. Arduino Uno控制板
2. DS18B20数字温度传感器
3. 杜邦线
4. 电脑
三、实验步骤
1. 连接DS18B20温度传感器到Arduino Uno控制板上。

2. 使用Arduino软件编写读取温度传感器数据的程序。

3. 通过串口监视器读取传感器采集到的温度数据。

4. 将温度传感器放置在不同环境温度下,记录数据并进行分析。

四、实验数据
在室内环境下,温度传感器读取的数据平均值为25摄氏度;在户外阳光下,温度传感器读取的数据平均值为35摄氏度。

五、实验结果分析
通过实验数据分析可知,DS18B20温度传感器对环境温度有较高的
敏感度和准确性,能够较精准地反映环境温度的变化。

在不同环境温
度下,传感器能够稳定地输出准确的温度数据。

六、实验结论
本实验通过对DS18B20温度传感器的测试和分析,验证了其在温
度检测方面的可靠性和准确性。

温度传感器可以广泛应用于各种领域,如气象监测、工业控制等。

通过本次实验,我们对温度传感器的性能
有了更深入的了解。

七、参考文献
1. DS18B20温度传感器数据手册
2. Arduino Uno官方网站
以上为实验报告内容,谢谢!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DS18B20温度传感器实验TEMP1 EQU 5AH ;符号位和百位公用的存放单元TEMP2 EQU 5BH ;十位存放单元TEMP3 EQU 5CH ;个位存放单元TEMP4 EQU 5DH ;TEMP5 EQU 5EHTEMP6 EQU 5FH ;数据临时存放单元TEMP7 EQU 60HTEMP8 EQU 61HORG 0000HAJMP MAINORG 0020HMAIN:MOV SP,#70HLCALL INT ;调用DS18B20初始化函数MAIN1:LCALL GET_TEMP ;调用温度转换函数LCALL CHULI ;调用温度计算函数LCALL DISP ;调用温度显示函数AJMP MAIN1 ;循环INT:L0:SETB P3.7 ;先释放DQ总线MOV R2,#250 ;给R2赋延时初值,同时可让DQ保持高电平2us L1:CLR P3.7 ;给DQ一个复位低电平DJNZ R2,L1 ;保持低电平的时间至少为480usSETB P3.7 ;再次拉高DQ释放总线MOV R2,#25L2:DJNZ R2,L2 ;保持15us-60usCLR CORL C,P3.7 ;判断是否收到低脉冲JC L0MOV R6,#100L3:ORL C,P3.7DJNZ R6,L3 ;存在低脉冲保持保持60us-240us; JC L0 ;否则继续从头开始,继续判断SETB P3.7RET;调用温度转换函数GET_TEMP:CLR PSW.4SETB PSW.3 ;设置工作寄存器当前所在的区域CLR EA ;使用DS18B20前一定要禁止任何中断LCALL INT ;初始化DS18B20MOV A,#0CCH ;送入跳过ROM命令LCALL WRITEMOV A,#44H ;送入温度转换命令LCALL WRITELCALL INT ;温度转换完成,再次初始化18b20MOV A,#0CCH ;送入跳过ROM命令LCALL WRITEMOV A,#0BEH ;送入读温度暂存器命令LCALL WRITELCALL READMOV TEMP4,A ;读出温度的低字节存在TEMP4LCALL READMOV TEMP5,A ;读出温度的高字节存在TEMP5SETB EARETCHULI : MOV A,TEMP5 ;将温度的高字节取出JNB ACC.7,ZHENG;判断最高位是否为0,为0则表示温度为正,则转到ZHENGMOV A,TEMP4 ;否则温度为负,将温度的低字节取出CPL A ;求反INC A ;加1MOV TEMP8,A ;存到TEMP8中ANL A,#0FH ;保留低四位LCALL MULD ;调用乘以625子程序LCALL HB2 ;调用双字节16进制数转换成BCD码子程序MOV A,R4 ;将结果的千位百位取出ANL A,#0F0H ;保留千位SWAP A ;MOV TEMP7,A ;把小数结果保存在TEMP7中MOV A,TEMP4 ;再次取出温度的低字节ANL A,#0FFH ;判断是否为0JZ XX ;为0则转到XX执行MOV A,TEMP5 ;CPL A ;不为0则直接将温度的高字节取反SJMP YY ;XX: MOV A,TEMP5 ;为0则求补码CPL A ;INC A ;YY: ANL A,#0FH ;保留高字节的低四位SWAP A ;将其换到高4位MOV R5,A ;暂时保存于R5中MOV A,TEMP8 ;取出求反后的低位字节ANL A,#0F0H ;取其高4位SWAP A ;将其换到低4位ORL A,R5 ;合并成温度的整数部分MOV TEMP6,A ;将整数部分存到TEMP6中LCALL HBCD ;调用一字节的16进制数转换BCD数的子程序MOV TEMP1,#0BH ;将"-"号的段选值存到符号位MOV A,TEMP2 ;取出十位CJNE A,#00H,NEXTMOV TEMP2,#0CH ;十位为0不显示RETZHENG: MOV A,TEMP4 ;将温度的低字节取出ANL A,#0FH ;保留低四位LCALL MULD ;调用乘以625子程序LCALL HB2 ;调用双字节16进制数转换成BCD码子程序MOV A,R4 ;将结果的千位百位取出ANL A,#0F0H ;保留千位SWAP A ;MOV TEMP7,A ;把小数结果保存在TEMP7中MOV A,TEMP4 ;再次取出温度的低字节ANL A,#0F0H ;保留高4位SWAP A ;换到低4位MOV R5,A ;暂时保存于R5中MOV A,TEMP5 ;取出温度的高字节ANL A,#0FH ;保留低4位SWAP A ;换到高4位ORL A,R5 ;合并成温度的整数部分MOV TEMP6,A ;整数部分存到TEMP6中LCALL HBCD ;单字节的16进制数转换成BCD码MOV A,TEMP1 ;取出百位CJNE A,#00H,NEXT ;百位不为0则转NEXTMOV TEMP1,#0CH ;为0则不显MOV A,TEMP2 ;取出十位CJNE A,#00H,NEXTMOV TEMP2,#0CH ;十位为0也不显NEXT: RET;小数部分乘以625转换子程序MULD:MOV B,#71HMUL ABMOV R7,AMOV R6,BMOV B,#02HMUL ABADD A,R6MOV R6,ARET;写字节到18b20子程序WRITE:MOV R3,#8 ;一个字节共8位WR1: SETB P3.7 ;先释放总线MOV R4,#8RRC A ;把要写的字节的最低位右环移到C中CLR P3.7 ;写开始WR3: DJNZ R4,WR3 ;保持低电平0-15us,等待MOV P3.7,C ;将C中的位写到DQ总线上MOV R4,#20DJNZ R4,$ ;18b20在15us-60us期间对DQ总线进行采样DJNZ R3,WR1 ;判断8位是否写完,没完则继续写下一位SETB P3.7 ;写完了一个字节,则释放总线RET;从18b20里读取一个字节子程序READ:MOV R6,#8 ;一个字节有8位RE1: SETB P3.7 ;先释放总线NOPCLR P3.7 ;拉低总线,读前总线保持为低NOP ;保持1-2usMOV R4,#4 ;设置读时间隙SETB P3.7 ;读开始RE2: DJNZ R4,RE2 ;产生读时间隙MOV C,P3.7 ;将总线上的位读到CMOV R5,#30 ;DJNZ R5,$ ;持续60usRRC A ;将C里的位右环移到A里DJNZ R6,RE1 ;读下一位SETB P3.7RET;单字节16进制数转换成BCD码子程序HBCD: MOV A,TEMP6MOV B,#10DIV ABMOV TEMP3,B ;将个位存到TEMP3MOV B,#10DIV ABMOV TEMP2,B ;将十位存到TEMP2MOV TEMP1,A ;将百位存到TEMP1RET;双字节的16进制数转换成BCD码子程序HB2: CLR AMOV R3,AMOV R4,AMOV R5,AMOV R2,#10HHB3: MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,A.MOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,ADJNZ R2,HB3RET;显示子程序DISP: MOV DPTR,#DISPTABMOV R0,#4DP1: MOV R1,#140LOOP: MOV A,TEMP7 ;取出小数部分MOVC A,@A+DPTR ;取出相应的字型码MOV P1,A ;显示在数码管上SETB P3.0 ;数码管位选ACALL DELAY100 ;延时CLR P3.0 ;清数码管位选MOV A,TEMP3 ;取个位MOVC A,@A+DPTRANL A,#7FH ;显示小数点MOV P1,ASETB P3.1ACALL DELAY100CLR P3.1MOV A,TEMP2 ;取十位MOVC A,@A+DPTRMOV P1,ASETB P3.2ACALL DELAY100CLR P3.2MOV A,TEMP1 ;取符号位或百位MOVC A,@A+DPTRMOV P1,ASETB P3.3ACALL DELAY100CLR P3.3DJNZ R1,LOOP ;循环显示DJNZ R0,DP1RETDELAY100: MOV R7,#180 ;延时DJNZ R7,$RETDISPTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0FFH END如有侵权请联系告知删除,感谢你们的配合!。

相关文档
最新文档