温度检测与控制实验报告
温度控制的实验报告

温度控制的实验报告1. 引言温度是物体分子热运动的表现,是许多实验和工业过程中需要精确控制的一个变量。
本实验旨在研究温度控制的原理和方法,通过实验验证不同温控设备的性能,并对温度控制的误差进行分析。
2. 实验目的1. 了解温度控制的基本原理和方法;2. 掌握温度控制设备的操作方法;3. 分析温度控制的误差来源,并提出改进方案。
3. 实验装置和材料- 温度控制设备:恒温水浴器、温度计;- 反应容器:玻璃烧杯、烧杯夹;- 实验溶液:蒸馏水。
4. 实验步骤1. 将恒温水浴器放在实验台上,接通电源并调整温度设置;2. 在玻璃烧杯中加入适量蒸馏水;3. 将烧杯夹固定在温水浴器外壁上,并将玻璃烧杯置于夹子中,使其与恒温水浴器中的水接触;4. 等待一段时间,使烧杯中的水温稳定在设定的温度;5. 用温度计测量烧杯中水的实际温度,并记录下来;6. 根据测量结果,分析温度控制设备的误差和准确度。
5. 实验结果设置温度() 实际温度():: ::30 29.540 39.850 49.960 59.76. 结果分析通过实验结果可以看出,温度控制设备在大部分情况下能够实现较为准确的温度控制,但仍存在一定的误差。
可能的误差来源包括:1. 温度计的准确度:温度计本身存在一定的误差,会对实际温度测量结果产生影响;2. 温度控制设备的稳定性:恒温水浴器在调整温度过程中可能存在波动,导致实际温度与设定温度不完全一致;3. 烧杯和夹子的传热性能:烧杯与恒温水浴器之间的传热效果可能存在差异,影响实际温度的稳定性。
为减小温度控制误差,可以采取以下改进措施:1. 使用更加精准的温度计进行测量,减小温度计本身误差对实验结果的影响;2. 对恒温水浴器进行进一步调试,提高其温度控制的稳定性;3. 优化烧杯与夹子之间的接触条件,改善传热效果。
7. 结论通过本实验的探究,我们对温度控制的原理和方法有了更深入的了解,并掌握了温度控制设备的操作方法。
自动温度检测实验报告

一、实验目的1. 理解自动温度检测系统的基本原理和组成。
2. 掌握温度传感器的应用及其工作原理。
3. 学习自动温度检测系统的搭建与调试方法。
4. 了解温度检测系统在实际应用中的重要性。
二、实验原理自动温度检测系统主要由温度传感器、信号处理电路、显示单元和控制单元组成。
温度传感器将温度信号转换为电信号,信号处理电路对电信号进行放大、滤波等处理,显示单元将处理后的信号显示出来,控制单元根据温度信号对系统进行调节和控制。
本实验采用PT100铂电阻温度传感器作为温度检测元件,其具有精度高、稳定性好等特点。
PT100铂电阻温度传感器的温度-电阻特性满足以下关系式:\[ R = R_0 \times (1 + \alpha \times (t - t_0)) \]其中,\( R \)为温度传感器在温度\( t \)下的电阻值,\( R_0 \)为温度传感器在参考温度\( t_0 \)下的电阻值,\( \alpha \)为温度传感器的温度系数。
三、实验仪器与设备1. 自动温度检测系统实验平台2. PT100铂电阻温度传感器3. 数字多用表4. 示波器5. 数据采集卡6. 计算机7. 电源四、实验步骤1. 搭建实验电路根据实验平台提供的原理图,连接PT100铂电阻温度传感器、信号处理电路、显示单元和控制单元。
连接电源,确保电路连接正确。
2. 调试实验电路打开计算机,运行数据采集软件,设置采集参数。
将温度传感器放入恒温槽中,调整恒温槽温度,观察显示单元和控制单元的输出。
根据实验要求,调整电路参数,确保系统稳定运行。
3. 采集温度数据将温度传感器放入恒温槽中,调整恒温槽温度。
启动数据采集软件,采集温度数据。
记录不同温度下的电阻值、电压值和电流值。
4. 分析实验数据将采集到的温度数据导入计算机,利用数据分析软件进行数据处理和分析。
绘制温度-电阻曲线、温度-电压曲线和温度-电流曲线,分析温度传感器的响应特性。
5. 验证实验结果将实验结果与理论计算值进行比较,验证实验结果的准确性。
温度控制系统实验报告

温度控制系统实验报告温度控制系统实验报告一、引言温度控制系统作为现代自动化领域的重要组成部分,广泛应用于工业生产、家电和环境控制等领域。
本实验旨在通过搭建一个简单的温度控制系统,了解其工作原理和性能特点。
二、实验目的1. 了解温度控制系统的基本原理;2. 掌握温度传感器的使用方法;3. 熟悉PID控制算法的应用;4. 分析温度控制系统的稳定性和响应速度。
三、实验装置本实验使用的温度控制系统由以下组件组成:1. 温度传感器:用于测量环境温度,常见的有热敏电阻和热电偶等;2. 控制器:根据温度传感器的反馈信号,进行温度控制;3. 加热器:根据控制器的输出信号,调节加热功率;4. 冷却装置:用于降低环境温度,以实现温度控制。
四、实验步骤1. 搭建温度控制系统:将温度传感器与控制器、加热器和冷却装置连接起来,确保各组件正常工作。
2. 设置控制器参数:根据实际需求,设置控制器的比例、积分和微分参数,以实现稳定的温度控制。
3. 测量环境温度:使用温度传感器测量环境温度,并将测量结果输入控制器。
4. 控制温度:根据控制器输出的控制信号,调节加热器和冷却装置的工作状态,使环境温度保持在设定值附近。
5. 记录数据:记录实验过程中的环境温度、控制器输出信号和加热器/冷却装置的工作状态等数据。
五、实验结果与分析通过实验数据的记录和分析,我们可以得出以下结论:1. 温度控制系统的稳定性:根据控制器的调节算法,系统能够在设定值附近维持稳定的温度。
但是,由于传感器的精度、控制器参数的选择等因素,系统可能存在一定的温度波动。
2. 温度控制系统的响应速度:根据实验数据,我们可以计算出系统的响应时间和超调量等参数,以评估系统的控制性能。
3. 温度传感器的准确性:通过与已知准确度的温度计进行对比,我们可以评估温度传感器的准确性和误差范围。
六、实验总结本实验通过搭建温度控制系统,探究了其工作原理和性能特点。
通过实验数据的分析,我们对温度控制系统的稳定性、响应速度和传感器准确性有了更深入的了解。
温度监测系统实验报告

一、实验目的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. 可以尝试将温度监测系统与其他功能结合,如数据存储、远程传输等,提高系统的实用性和功能。
实验报告

第I 页课程设计说明书数字显示温度控制器设计制作摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
本次设计一个数字显示温度的测量与控制装置.应用温度敏感元件和二次仪表的组合,对温度进行调节、控制,且能直接读数.经实验验证此控制器的性能指标达到要求,为温度测量与控制的工业应用奠定了一定的基础。
关键词:温度传感器数字电压表温度控制执行机构。
第II 页课程设计说明书目录1设计任务及要求 (1)2数字温度控制器设计方案 (1)3温度控制器电路的设计 (3)3.1温度传感器的选择 (3)3.2采样电路及校准电路 (4)3.3上下限采集电路 (5)3.4温度比较电路 (6)3.5 温度控制电路 (7)3.7 显示温度电路 (10)3.8 直流电源电路 (12)3.8.1稳压电源设计 (12)3.8.2 电路设计 (14)4整机工作原理 (14)5整体电路图 (16)致谢 (18)参考文献 (18)课程设计说明书1 设计任务及要求采用热敏电阻作为温度传感器,由于温度变化而引起的电压变化,在利用比较运算放大器与设置的温度值对应的电压进行比较,输出高或低电平从而对控制对象加热器进行控制。
其电路可分为三部分:测温电路,比较/显示电路,控制电路。
设计要求:(1):实现题目要求的内容(2):电路在功能相当的情况下越简单越好(3):要求输入电压为5V,红绿发光二极管为负载(4):调节电位器,使红,绿发光二极管交替点亮2 数字温度控制器设计方案方案1:此电路是一种数字温度控制器的参考设计方案图1 方案流程图原理:温度检测电路通过热敏电阻检测温度并将温度信号转化成电压信号,时钟发生器产生的脉冲启动A/D转换电路。
通过A/D转换电路将模拟信号转化成数字信号,利用4课程设计说明书线——7段显示译码器/驱动器将得到的BCD码送至LED数码显示管显示。
温度测量控制系统的设计与制作实验报告

北京电子科技学院课程设计报告( 2010 – 2011年度第一学期)名称:模拟电子技术课程设计题目:温度测量控制系统的设计与制作学号:学生姓名:指导教师:成绩:日期:2010年11月17日目录一、电子技术课程设计的目的与要求 (3)二、课程设计名称及设计要求 (3)三、总体设计思想 (3)四、系统框图及简要说明 (4)五、单元电路设计(原理、芯片、参数计算等) (4)六、总体电路 (5)七、仿真结果 (8)八、实测结果分析 (9)九、心得体会 (9)附录I:元器件清单 (11)附录II:multisim仿真图 (11)附录III:参考文献 (11)一、电子技术课程设计的目的与要求(一)电子技术课程设计的目的课程设计作为模拟电子技术课程的重要组成部分,目的是使学生进一步理解课程内容,基本掌握电子系统设计和调试的方法,增加集成电路应用知识,培养学生实际动手能力以及分析、解决问题的能力。
按照本专业培养方案要求,在学完专业基础课模拟电子技术课程后,应进行课程设计,其目的是使学生更好地巩固和加深对基础知识的理解,学会设计小型电子系统的方法,独立完成系统设计及调试,增强学生理论联系实际的能力,提高学生电路分析和设计能力。
通过实践教学引导学生在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。
(二)电子技术课程设计的要求1.教学基本要求要求学生独立完成选题设计,掌握数字系统设计方法;完成系统的组装及调试工作;在课程设计中要注重培养工程质量意识,按要求写出课程设计报告。
教师应事先准备好课程设计任务书、指导学生查阅有关资料,安排适当的时间进行答疑,帮助学生解决课程设计过程中的问题。
2.能力培养要求(1)通过查阅手册和有关文献资料培养学生独立分析和解决实际问题的能力。
(2)通过实际电路方案的分析比较、设计计算、元件选取、安装调试等环节,掌握简单实用电路的分析方法和工程设计方法。
(3)掌握常用仪器设备的使用方法,学会简单的实验调试,提高动手能力。
PLC实验报告温度传感器应用与控制

PLC实验报告温度传感器应用与控制一、引言在工业自动化领域中,传感器起着至关重要的作用,它们能够将各种物理量转换为可供PLC(可编程逻辑控制器)进行处理的电信号。
温度传感器是其中一种常见的传感器,广泛应用于工业生产中的温度监测和控制系统。
本实验报告旨在探讨温度传感器的原理、应用以及与PLC的协同工作。
二、温度传感器原理温度传感器是一种能够感知周围温度变化的设备。
常见的温度传感器包括热敏电阻、热电偶和半导体温度传感器。
这些传感器根据物理效应将温度变化转换为电信号。
1. 热敏电阻热敏电阻的电阻值会随温度发生变化。
常见的热敏电阻有铂电阻和热敏电阻两种。
通过测量热敏电阻的电阻值,我们可以间接获取所测量的温度值。
2. 热电偶热电偶是由两种不同金属导线组成的接头,当接头两端存在温度差时,会产生电势差。
这个电势差与温度变化成正比。
通过测量热电偶的电势差,我们可以获得所测量的温度值。
3. 半导体温度传感器半导体温度传感器利用材料的温度特性,将温度变化转换为电信号。
这类传感器具有体积小、响应快、精度高等特点,广泛应用于工业自动控制领域。
三、温度传感器应用与控制温度传感器在工业领域的应用非常广泛。
它们可以实现实时温度监测和温度控制,保证工业生产过程的安全和稳定。
1. 温度监测利用温度传感器,可以对工业生产中的设备和物料进行温度监测。
例如,在冶金行业,温度传感器可以用于监测炉温,确保金属材料的正常加热和熔化过程。
在食品加工行业,温度传感器可以用于监测食品的加热和冷却过程,确保食品的质量和安全。
2. 温度控制温度传感器与PLC的协同工作可以实现温度的自动控制。
根据实际需求,可以通过PLC对温度传感器采集到的温度数据进行分析和判断,控制执行机构,实现温度的自动调节。
例如,在某个化工生产过程中,温度超过设定阈值时,PLC可以控制冷却设备启动,将温度控制在安全范围内,避免损坏设备或产生危险物质。
四、实验结果与讨论针对温度传感器的应用与控制,我们进行了一系列的实验。
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 的地址序列码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三十二温度传感器温度控制实验一、实验目的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为符号位。
LS Byte:Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0232221202-12-22-32-4 MS Byte:Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8S S S S S 262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节。
低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
2.本实验在读取温度的基础上,完成类似空调恒温控制的实验。
用加热电阻代替加热电机,制冷采用自然冷却。
温度值通过LED静态显示电路以十进制形式显示出来,同时显示电路还将显示设定的恒温值,通过键盘可以改变设定值。
按一次‘升高’键,恒温值加1℃,按一次‘降低’键,恒温值减小1℃。
恒温值在2℃~50℃范围内可调。
当实际温度低于设定的恒定温度2℃时,单片机发出指令信号,继电器吸合,红色LED点亮,加热电阻开始加热。
当温度超过设定的恒温值2℃时,单片机发出指令信号,继电器断开,红色LED熄灭,加热电阻停止加热,制冷采用自然冷却。
三、实验内容及步骤1.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
2.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“DS18B20.ASM”源程序,编译无误后,全速运行程序。
3.程序正常运行后,按下自锁开关‘控制’。
5LED数显为“ XX20”,“XX”为十进制温度测量值,当气温低于0℃,或者模拟信号输入端的电位器没有逆时针旋到底时,温度值前面出现“-”号。
“20”为十进制温度设定值,按设定键‘升高’、‘降低’可以改变设定值。
当测量值小于设定值2个字时,加热启动,当实际值超过设定值2个字时,加热停止。
4.可把源程序编译成可执行文件,烧录到89C51芯片中。
四、源程序LEDBUF EQU 60H ;显示缓存1TEMP EQU 65H ;显示缓存2UP EQU 1 ;1键定义为增加键DOWN EQU 2 ;2键定义为减小键LOWLIMIT EQU 2 ;设定值最低为2HIGHLIMIT EQU 50 ;设定值最高为50FLAG1 EQU 38H ;是否检测到DS18B20标志位SETTEMP EQU 50H ;温度设定值缓存CURTEMP EQU 29H ;温度实际值缓存DIN BIT P3.0 ;串行显示数据口CLK BIT P3.1 ;串行显示时钟口ORG 0000HLJMP STARTORG 0100HSTART: MOV SETTEMP, #20 ;设定值初值20MLOOP: LCALL TESTKEY ;测试键盘是否有键按下CJNE A,#03H,KEYPRESSED ;有键按下,处理按键MLOOP1: ACALL DISPLAYRESULT ;无键按下,调显示ACALL DISPLAYLEDACALL GET_TEMPER ;调用读温度子程序MOV A, CURTEMPJB ACC.7, LE0 ;为负值CLR CMOV B, SETTEMP ;为正值时与设定值比较DEC BDEC BSUBB A, BJNC GN2 ;小于(设定值-2),加热LE0: SETB P3.2SJMP GN4GN2: MOV A, CURTEMPSETB CMOV B, SETTEMPINC BINC BSUBB A, BJC GN4 ;大于(设定值+2),停止加热CLR P3.2SJMP GN4GN4: ACALL DELAY1LJMP MLOOP ;大循环KEYPRESSED: ;处理按键LCALL GETKEY ;读取键值MOV B, AXRL A, #DOWNJNZ KEY0MOV A, SETTEMPXRL A, #LOWLIMITJZ KEY1DEC SETTEMPSJMP KEY1KEY0: MOV A, BXRL A, #UPJNZ KEY1MOV A, SETTEMPXRL A, #HIGHLIMITJZ KEY1INC SETTEMPKEY1: LJMP MLOOP1INIT_1820: ;这是DS18B20复位初始化子程序SETB P2.0NOPCLR P2.0 ;主机发出延时537微秒的复位低脉冲 MOV R1,#3TSR1: MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P2.0 ;然后拉高数据线NOPNOPNOPMOV R0,#25HTSR2: JNB P2.0,TSR3 ;等待DS18B20回应DJNZ R0,TSR2LJMP TSR4 ;延时TSR3: SETB FLAG1 ;置标志位,表示DS1820存在LJMP TSR5TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6 ;时序要求延时一段时间TSR7: SETB P2.0RETGET_TEMPER: ;读出转换后的温度值SETB P2.0LCALL INIT_1820 ;先复位DS18B20JB FLAG1,TSS2RET ;判断DS1820是否存在?若DS18B20不存在则返回TSS2: MOV A,#0CCH ;跳过ROM匹配LCALL WRITE_1820MOV A,#44H ;发出温度转换命令LCALL WRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束 LCALL DELAY1LCALL INIT_1820 ;准备读温度前先复位MOV A,#0CCH ;跳过ROM匹配LCALL WRITE_1820MOV A,#0BEH ;发出读温度命令LCALL WRITE_1820LCALL READ_18200 ;将读出的温度数据保存到35H/36HMOV A,CURTEMPMOV C,40H ;将28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV CURTEMP,ARETWRITE_1820: ;写DS18B20的子程序(有具体的时序要求)MOV R2,#8 ;一共8位数据CLR CWR1: CLR P2.0MOV R3,#6DJNZ R3,$RRC AMOV P2.0,CMOV R3,#23DJNZ R3,$SETB P2.0NOPDJNZ R2,WR1SETB P2.0RETREAD_18200: ;读DS18B20的程序,从DS18B20中读出两个字节的温度数据 MOV R4,#2 ;将温度高位和低位从DS18B20中读出 MOV R1,#CURTEMP ;低位存入29H,高位存入28HRE00: MOV R2,#8 ;数据一共有8位RE01: CLR CSETB P2.0NOPNOPCLR P2.0NOPNOPNOPSETB P2.0MOV R3,#9RE10: DJNZ R3,RE10MOV C,P2.0MOV R3,#23RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RETDISPLAYLED: ;数码管显示MOV R0,#LEDBUFMOV R1,#TEMPMOV R2,#5DP10: MOV DPTR,#LEDMAPMOV A,@R0MOVC A,@A+DPTRMOV @R1,AINC R0INC R1DJNZ R2,DP10MOV R0,#TEMPMOV R1,#5DP12: MOV R2,#8MOV A,@R0DP13: RLC AMOV DIN,CCLR CLKSETB CLKDJNZ R2,DP13INC R0DJNZ R1,DP12RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , - DB 63H,39H ;℃DISPLAYRESULT: ;十六进制转换为十进制MOV A, CURTEMPJNB ACC.7, GE0MOV LEDBUF, #11H ;'-'DEC ACPL ALJMP GOONGE0: MOV LEDBUF, #10H ;' 'GOON: MOV B, #10DIV ABMOV LEDBUF+1, AMOV A, BMOV LEDBUF+2, AMOV A, SETTEMPMOV B, #10DIV ABMOV LEDBUF+3,AMOV A, BMOV LEDBUF+4,ARETTESTKEY: ;测试键盘是否有键按下MOV P1, #03HMOV A, P1 ;读入键状态RETKEYTABLE: ;键码定义DB 02H,01H,0F7HDB 0EFH,0DFH,0BFH,07FHGETKEY: MOV R6,#10LCALL DELAYMOV A,P1ANL A,#03H ;高六位不用CJNE A,#03H,K01 ;确有键按下LJMP MLOOPK01: MOV R3,#2 ;2个键MOV R2,#0 ;键码MOV B,A ;暂存键值MOV DPTR,#KEYTABLEK02: MOV A,R2MOVC A,@A+DPTR ;从键值表中取键值CJNE A,B,K04 ;键值比较MOV A,R2 ;得键码INC ARETK04: INC R2 ;不相等,到继续访问键值表DJNZ R3,K02MOV A,#0FFH ;键值不在键值中,即多键同时按下LJMP MLOOPDELAY: ;延时子程序MOV R7,#0DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRETDELAY1: ;延时子程序MOV R4,#0FFHAA1: MOV R5,#0FFHAA: NOPNOPDJNZ R5,AADJNZ R4,AA1RETEND五、电路图。