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

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温度测量与控制实验报告

课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201 学号: ******** *名:***浙江交通职业技术学院机电学院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)报告

简易温度测量仪班级: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转换电路,感温电路比较麻烦。

基于DS18B20数字温度计设计报告正文

基于DS18B20数字温度计设计报告正文

基于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西华大学电气信息学院智能化电子系统设计报告积极小的芯片当中,实现了温度传感器的数字式输出、且免调试、免标定、免外围电路。

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实验报告

温度传感器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温度传感器具有较好的抗干扰能力,能够在干扰环境下保持稳定的测量结果。

温度传感器实验报告

温度传感器实验报告

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

二、实验仪器
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)。

课程设计说明书(论文)题目: 温度测量课程名称: 单片机课程设计专业: 电子信息工程班级: 电信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条指令,喊乘法指令和除法指令。

•较强的位处理能力。

•采用单一+5V电源。

对于89C52而言,不同之处在于:有256B的数据存储器、8K的程序存储器、全双工串行I/O接口、6个中断源、3个16位定时/计数器,工作频率可升直33Mhz。

比51拥有更高的性能。

单片机要对DS18B20进行读写,主要通过如下子程序进行驱动。

(1)复位:在使用DS18B20时,首先需要对单片机进行复位。

复位时,单片机给DS18B20的单总线至少480us的低电平信号。

当DS18B20检测到此复位信号后会在15-60us内给出一个一个存在脉冲。

该存在脉冲是是一个60-240us的低电平信号。

为了能够接收到此低电平,需要单片机在复位电平结束之后将总线拉高。

(2)ROM指令:包括读ROM指令,指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。

ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。

其主要目的是为了分辨总线上的多个器件。

不过,在本系统中由于只有一个DS18B20,所以不需要进行ID辨识,所以可以采用一条特殊的跳过指令。

具体指令可以参看其datasheet。

(3)发送存储器操作指令:在ROM指令发送给DS18B20后,紧接着需要向它发送存储器操作指令,操作指令同样为8位,共六条,分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。

(4)执行和读写操作:一个存储器操作指令结束后则将进行指令执行或数据读写。

如果是进行温度转换,需要等待DS18B20执行其指令,转换时间一般为500us。

DS18B20温度值格式默认的12位转化后得到的12位数据,存储在18B20的两个8比特的RAM 中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

如图:DS18B20常用ROM指令:指令约定代码功能二、系统总体设计方案1、基本设计思想基本设计方案:根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

于是,给DS18B20不同的时序,可以读取温度传感器的值,根据温度算法算出当时的温度值,在给显示部分,通过LCD显示出来。

2、实施方案论述这个课题主要实现温度的检测以及通过数码管显示这两个大功能,以及读取这个相对较为容易的功能。

因此在温度检测这一模块上,利用DS18B20这一目前比较先进的温度传感器,可以很精确地感测实时温度,对于DS18B20的通讯协议的控制,读取测量的温度值,经过一定的算法,可以把温度转化为十进制,分别为高位和低位,先暂存起来。

经显示模块调用,最终在LCD上显示。

电路方框图二、系统分析与设计1、程序流程图及说明主函数完成对DS18B20的初始化,读取温度的转换值,调用数据处理的子程序然后再生成显示代码,再将温度显示出来,然后根据温度显示的代码判断温度值可以判断它的值是否超出了预设的范围。

然后返回到主函数开始的位置,无论温度值是否超出预设值,程序都会返回开始的位置,重复循环。

主函数流程图DS18B20复位子程序温度值子程序2、温度计的的电路设计温度计采用AT89C51单片机作为微处理器,温度计系统的外围接口电路由晶振、LCD显示电路、复位电路、温度检测电路、LCD驱动电路。

温度计系统的的硬件电路图如下图所示。

温度计的工作过程是:初始化其接收需要检测的温度,并一直处于检测状态,并将检测到的温度值读取,并转化为十进制数值,通过LCD显示出来,再显示温度,方便用户来读数使用记录数据。

具体实现方法是:单片机将从P2.2管脚读进来的数据进行处理,P0.1到P0.7为数码管的段选端口,通过RP1的驱动对LCD进行驱动。

硬件电路原理图时钟电路复位电路显示电路温度检测电路三、源码清单#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned char#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}sbit DQ = P3^3;sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;uchar code Temp_Disp_Title[]={"Current Temp : "}; uchar Current_Temp_Display_Buffer[]={" TEMP: "};uchar code Temperature_Char[8] ={0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00};uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};uchar CurrentT = 0;uchar Temp_Value[]={0x00,0x00}; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_IS_OK = 1;void DelayXus(uint x){uchar i;while(x--){for(i=0;i<200;i++);}}bit LCD_Busy_Check(){bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0&0x80);LCD_EN=0;return result;}void Write_LCD_Command(uchar cmd) {while(LCD_Busy_Check());LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0;}void Write_LCD_Data(uchar dat) {while(LCD_Busy_Check());LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0;}void LCD_Initialise(){Write_LCD_Command(0x01);DelayXus(5);Write_LCD_Command(0x38);DelayXus(5);Write_LCD_Command(0x0c);DelayXus(5);Write_LCD_Command(0x06);DelayXus(5);}void Set_LCD_POS(uchar pos){Write_LCD_Command(pos|0x80); }void Delay(uint x){while(--x);}uchar Init_DS18B20(){uchar status;DQ = 1;Delay(8);DQ = 0;Delay(90);DQ = 1;Delay(8);DQ = 1;return status;}uchar ReadOneByte(){uchar i,dat=0;DQ = 1;_nop_();for(i=0;i<8;i++){DQ = 0;dat >>= 1;DQ = 1;_nop_();_nop_();if(DQ)dat |= 0X80;Delay(30);DQ = 1;}return dat;}void WriteOneByte(uchar dat) {uchar i;for(i=0;i<8;i++){DQ = 0;DQ = dat& 0x01;Delay(5);DQ = 1;dat >>= 1;}}void Read_Temperature(){if(Init_DS18B20()==1)DS18B20_IS_OK=0;else{WriteOneByte(0xcc);WriteOneByte(0x44);Init_DS18B20();WriteOneByte(0xcc);WriteOneByte(0xbe);Temp_Value[0] = ReadOneByte();Temp_Value[1] = ReadOneByte();DS18B20_IS_OK=1;}}void Display_Temperature(){uchar i;uchar t = 150, ng = 0;if((Temp_Value[1]&0xf8)==0xf8){Temp_Value[1] = ~Temp_Value[1];Temp_Value[0] = ~Temp_Value[0]+1;if(Temp_Value[0]==0x00)Temp_Value[1]++;ng = 1;}Display_Digit[0] = df_Table[Temp_Value[0]&0x0f];CurrentT = ((Temp_Value[0]&0xf0)>>4) | ((Temp_Value[1]&0x07)<<4);Display_Digit[3] = CurrentT/100;Display_Digit[2] = CurrentT%100/10;Display_Digit[1] = CurrentT%10;Current_Temp_Display_Buffer[11] = Display_Digit[0] + '0';Current_Temp_Display_Buffer[10] = '.';Current_Temp_Display_Buffer[9] = Display_Digit[1] + '0';Current_Temp_Display_Buffer[8] = Display_Digit[2] + '0';Current_Temp_Display_Buffer[7] = Display_Digit[3] + '0';if(Display_Digit[3] == 0)Current_Temp_Display_Buffer[7] = ' ';if(Display_Digit[2] == 0&&Display_Digit[3]==0)Current_Temp_Display_Buffer[8] = ' ';if(ng){if(Current_Temp_Display_Buffer[8] == ' ')Current_Temp_Display_Buffer[8] = '-';else if(Current_Temp_Display_Buffer[7] == ' ')Current_Temp_Display_Buffer[7] = '-';elseCurrent_Temp_Display_Buffer[6] = '-';}Set_LCD_POS(0x00);for(i=0;i<16;i++){Write_LCD_Data(Temp_Disp_Title[i]);}Set_LCD_POS(0x40);for(i=0;i<16;i++){Write_LCD_Data(Current_Temp_Display_Buffer[i]);}Set_LCD_POS(0x4d);Write_LCD_Data(0x00);Set_LCD_POS(0x4e);Write_LCD_Data('C');}void main(){LCD_Initialise();Read_Temperature();Delay(50000);Delay(50000);while(1){Read_Temperature();if(DS18B20_IS_OK)Display_Temperature();DelayXus(100);}}五、改进意见与收获体会:可以加入自动报警系统,方便用于实际的用途,可以在实际的应用中达到自动检测报警的效果,方便人们对于温度的检测。

相关文档
最新文档