DS18B20温度传感器设计

合集下载

DS18B20温度传感器课程设计报告

DS18B20温度传感器课程设计报告

传感器课程设计设计题目:DS18B20温度传感器班级:电子(2)班姓名:梁玉杰,韦小门,李军伟学号:201140620223指导教师:XXX调试地点:509目录一、概述 (2)二、内容 (3)1、课程设计题目 (3)2、课程设计目的 (3)3、设计任务和要求 (3)4、正文 (3)(一)、方案选择与论证 (3)三、系统的具体设计与实现 (5)(1)、系统的总体设计方案 (5)(2)、硬件电路设计 (5)a、单片机控制模块 (5)b、温度传感器模块 (6)四、软件设计 (12)1、主程序 (12)2、读出温度子程序 (12)3、温度转换命令子程序 (12)4、计算温度子程序 (13)五、完整程序如下: (13)六、设计体会 (18)七、参考文献 (19)一、概述随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。

本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。

对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:单片机AT89C51、DS18B20温度传感器、液晶显示LCD1602。

二、内容1、课程设计题目基于DS18B20的温度传感器2、课程设计目的通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。

18B20温度传感器 课程设计报告

18B20温度传感器 课程设计报告

课程设计报告目录一.设计任务二.方案论证三.硬件设计3.1 DS18B20简介AT89C51型单片机简介3.2 总电路的设计图四.软件设计3.1 主程序框图3.2 初始化子程序18B20的主程序3.3 调试及运行五. 课程设计总结一、设计任务1. 熟悉电子系统开发的思路和步骤;2. 熟悉Keil C开发环境,并对18B20、LED数码管、4*4键盘等外围模块的驱动进行编写调试,学会基本的驱动开发思路,并通过调试学会定位问题的能力;3. 分别使用汇编语言和C语言编写调试整个电子系统的控制程序,学会电子系统的软件开发思路;4. 通过protel学会如何绘制原理图及PCB版图,从而完成整个电子系统的软硬件开发;二、方案论证A、分析本次设计任务可知:1.本设计要利用DS18B20测量温度,需要用89C51单片机控制DS18B20测量温度,并将DS18B20测得温度读取到单片机中来。

2. 本设计要用LED显示温度,可用五个共阳极LED,采用动态扫描法显示读取到单片机中的温度。

显示格式举例如下:(1)温度为正值————101.1 、99.2 第四个LED总是显示点号。

(2)温度为负值————-23.1 第一个总是显示一横,第四个总是显示点号。

B、经以上分析可得:可将本设计功能分为两大模块:1、DS18B20设置模块2、测温电路及其程序3、显示电路及其程序3. 在硬件电路上还要加上必要的基础电路:(1)时钟电路本次设计采用时钟频率为:12MHZ(2)按键测温电路及其程序按一次按钮即测一次温度并将测得的温度显示出来)C 、系统总体方案系统原理框图:由图可知该测量系统由DS18B20组成的测量电路和单片机控制电路组成。

系统通过DS18B20采集到的数据,然后通过单片机微控制芯片经过数据处理,最后通过数码管实时显示所测空气的温度。

用单个DS18B20采集温度采集温度并将其显示在LED 灯上,温度只需显示整数,小数位位不做要求;设置报警上下限,当按下键盘上的SETUP 键时,DS18B20不工作,从键盘上输入温度的上下限值,前边的两个LED 显示器显示温度上线,后边的两个LED 显示器显示温度下限,当采集的温度越过上限和低于下限时,P0.4口的发光二极管灯亮,表示报警;温度上下限的设置要在30S 内完成,如果没完成,温度传感器自行工作,设置完成后,按下Enter 键DS18B20开始采集并显示温度。

DS18B20温度传感器设计要点

DS18B20温度传感器设计要点

DS18B20温度传感器设计要点1.传感器选型:选择适合应用场景的DS18B20传感器,主要考虑工作温度范围、精度要求、供电电压等因素。

2.电路设计:(1)供电电压:DS18B20的供电电压范围为3V到5.5V,可以根据应用需求选择合适的供电电源。

(2)引脚连接:DS18B20有三个引脚,分别是VCC、DQ、GND。

其中VCC为供电电源,DQ为数据线,GND为地线。

在设计中要确保引脚连接正确稳定。

(3)电源滤波:为了减少电源噪声对传感器的影响,可以在供电电源上添加电源滤波电路,如滤波电容和电感等。

3.布线设计:由于DS18B20传感器采用单线总线通信,布线设计对于测量精度和通信稳定性非常重要。

(1)布线距离:DS18B20传感器的最大布线距离一般为100米,但实际上受到布线环境和通信电缆等因素的限制。

需要合理设计布线距离以保证信号传输的稳定性。

(2)布线阻抗:为了减少传输过程中的信号衰减和反射等问题,可以使用合适的布线阻抗。

一般来说,通信电缆的标称阻抗为120Ω,保持传输线的匹配阻抗有助于信号的正常传输。

4.传感器放置:(1)传感器放置位置:为了获得准确的温度测量结果,传感器的放置位置应该避免直接受到热源或冷源的影响,并且应尽量避免受到外界温度的干扰。

(2)固定方式:可以使用适当的固定装置将传感器安装在需要测量的位置上,确保传感器与环境接触良好。

5.通信协议:6.温度测量精度校准:为了获得准确的温度测量结果,可以在设计中进行温度测量精度校准。

校准方法可以是通过与已知温度源进行比对,或者使用标准温度计进行校准。

7.电源管理:为了延长传感器的使用寿命,可以在设计中考虑电源管理功能,如合理控制供电电流和添加省电功能。

总之,DS18B20温度传感器的设计要点主要包括传感器选型、电路设计、布线设计、传感器放置、通信协议、温度测量精度校准和电源管理等方面。

要综合考虑应用需求和环境特点,确保传感器的测量精度、稳定性和可靠性。

基于DS18B20的温度测量系统设计

基于DS18B20的温度测量系统设计

基于DS18B20的温度测量系统设计概述:DS18B20是一种数字温度传感器,具有精确度高、稳定性好、尺寸小等特点。

本文将基于DS18B20设计一个温度测量系统,主要包括硬件设计和软件设计两部分内容。

硬件设计:1.传感器模块:DS18B20传感器模块包括一个温度传感器和一个数字转换芯片。

传感器模块通过串行总线与主控设备进行通信,并提供温度数据。

2.单片机:选择一种适合的单片机作为主控设备,负责与传感器模块通信,并实现相关功能。

3.显示模块:通过液晶显示屏或数码管等模块,将测量到的温度实时显示出来。

4.电源模块:为系统提供稳定的直流电源,使系统能够正常工作。

软件设计:1.通信协议:将单片机与传感器模块之间的通信协议设置为1-Wire协议,该协议简单易实现,并且可以同时连接多个传感器。

2.初始化:在系统启动时,初始化单片机与传感器模块之间的通信,并对传感器模块进行必要的设置,如分辨率、精确度等。

3.数据读取:通过1-Wire协议,单片机向传感器模块发送读取温度的指令,传感器模块将温度数据以数字形式返回给单片机。

4.数据处理:单片机接收到温度数据后,进行相应的数据处理,可以进行单位转换、滤波处理等。

5.数据显示:将处理后的温度数据通过显示模块实时显示出来。

系统应用:1.工业自动化:用于监测生产设备的温度,实现设备状态监控和预警功能。

2.室内温控:通过与空调系统或暖气系统的连接,实现室内温度的精确控制。

3.热管理:用于监测电子设备或电路板的温度,保证设备运行时的稳定性和散热效果。

总结:基于DS18B20的温度测量系统设计,通过选用合适的硬件模块和软件设计方案,可以实现精确、稳定的温度测量,并通过通信和显示模块实时反馈温度数据。

该系统具有应用广泛、性能可靠等优点,在工业自动化、室内温控、热管理等领域有着重要意义。

DS18B20温度计设计

DS18B20温度计设计

开题报告1 前言单片机技术的成熟与发展,为仓储管理自动化提供了强有力的技术支持。

但目前的仓储管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。

随着社会信息交流的日益加强和信息量的集聚增加,仓储管理部门越来越需要一套低成本、高性能、方便使用的仓库监控管理系统。

要求它具有立即捕捉警情并提供警情发生地的有关信息,系统马上对警情做出反应,迅速通知相关部门,可能的话还可立即对警情发生地实施控制。

本温度自动报警系统可以广泛应用于温度需要实时监控的场合。

由单片机巡回监视温度信号,当温度超过一定门限值时出现报警信号(LED 数码管显示当前温度值和报警点,蜂鸣器发出报警信号)。

2方案设计2.1 功能描述本温度自动报警系统主要有以下功能:① 实时采集温度信号并显示② 单片机对温度信号能够实时监控③ 能够设置报警温度上下限④ 能够自动实现鸣叫报警2.2 系统组成本温度自动报警系统主要由四部分组成:主控模块,采集模块,显示模块和报警模块。

其中:主控模块实现巡回监视温度信号的功能,采集模块实现温度信号的采集,显示模块实现温度值和报警点的显示,报警模块实现报警的功能。

系统框图如下所示:2.4 芯片选择2.4.1 主控模块主控模块采用ATMEL 公司生产的AT89C51。

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4K 的可反复擦写的FLASH 只读存储器和128 BYTES 的随机存取数据存储器,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。

AT89C51可以按照常规方法进行编程,也可以在线编程。

器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

DS18B20数字温度计的设计与实现

DS18B20数字温度计的设计与实现

DS18B20数字温度计的设计与实现一、实验目的1.了解DS18B20数字式温度传感器的工作原理。

2.利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。

二、实验内容与要求采用数字式温度传感器为检测器件,进行单点温度检测。

用数码管直接显示温度值,微机系统作为数字温度计的控制系统。

1.基本要求:(1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。

(2)用4位数码管来显示温度值。

(3)超过警戒值(自己定义)要报警提示。

2.提高要求(1)扩展温度范围。

(2)增加检测点的个数,实现多点温度检测。

三、设计报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、数字温度传感器DS18B20由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。

它具有体积小,接口方便,传输距离远等特点。

1.DS18B20性能特点DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM ,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。

2. DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。

64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。

64位ROM 结构图如图2所示。

不同的器件地址序列号不同。

DS18B20的管脚排列如图1所示。

DS18B20温度传感器设计

DS18B20温度传感器设计
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 ROM
}
delay(45); //延时500us
presence = ~DQ;
}
DQ=1;
}
/**********18B20写命令函数*********/
//向 1-WIRE 总线上写一个字节
void write_byte(uchar val)
{
uchar i;
for (i=8; i>0; i--) //
scan()
{
char k;
for(k=0;k<4;k++) //四位数码管扫描控制
{
Disdata=dis_7[display[k]];
if(k==1){DIN=0;}
discan=scan_con[k];delay(5);discan=0xff;
}
}
/***********18B20复位函数**********/
二、方案论证
方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案设计框图如下:
方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

DS18B20数字温度计的设计

DS18B20数字温度计的设计

基于DS18B20室内数字温度计日常生活中人们需要测量各种各样的温度。

环境温度对工业、农业、商业都有很大的影响。

传统的测温仪测量费时,准确度也较低,数字温度计与传统的温度计相比,具有读数速度快,测温范围广,其输出温度采用数字显示,便于用户使用。

随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,本设计所介绍的数字温度计使用单片机stc89C51,测温传感器使用DS18B20,用数码管实现温度显示,利用DS18B20和一片stc89C51单片机即可构成一个简洁但功能强大的低电压温度测量控制系统。

一、设计前言1.1 设计目的1.理论联系实际,单片机应用,尝试设计案例程序2.对主要元件功能有所了解3.学会用C语言编写程序4.培养设计项目程序流程图的思想5.掌握项目中所使用到的元器件的硬件原理,并用Proteus软件仿真,并用protell99se画PCB1.2设计内容1.所设计实验装置以MCS-51系列单片机为核心器件,组成一个数字式温度计。

2.所设计实验装置能够利用数码管直接显示出外界温度及温度变化。

3.所设计实验装置测试外界温度误差范围在±0.5℃之间。

4.手机充电器作稳压电源。

1.3设计要求1.独立设计原理图及相应的硬件电路。

2.独立焊接电路板并对电路板调试。

3.针对选择的设计题目,设计系统软件。

软件要做到:操作方便,实用性强,稳定可靠。

4.设计说明书格式规范,层次合理,重点突出。

并附上设计原理图、电路板图及相应的源程序。

二、设计方案2.1方案论证鉴于此设计题目,以下想到两种可能方案:方案一热敏电阻由于此设计是测温电路,所以想到使用热敏电阻,利用它的感温效应,在实验过程中记录在其温度变化时的电压或电流,进行A/D转换后,就可以用单片机进行数据处理,在显示电路上,就可以将被测温度显示出来。

方案二温度传感器此设计利用温度传感器,采用一只温度传感器DS18B20,控制器单片机AT89S51,用液晶显示器显示温度。

基于DS18B20温度计设计

基于DS18B20温度计设计

目录1设计内容及基本要求 (1)2设计方案及论证 (1)3设计原理及电路图 (2)3.1硬件设计 (2)3.1.1 DS18B20的介绍 (2)3.1.2主控器STC89C52的介绍 (4)3.1.3显示电路的设计 (6)3.1.4仿真原理图 (7)3.2软件设计 (9)3.2.1软件环境 (9)3.2.2软件流程图 (9)4.元器件清单 (10)5元器件识别与检测 (11)5.1 电阻识别与检测 (11)5.3 电容识别与检测 (12)6软件编程与调试 (14)7设计心得 (14)8参考文献 (15)1设计内容及基本要求内容:设计能够对室内温度进行测量的温度检测电路,实现对常温环境的温度测量。

基本要求:(1)温度测量范围:零下50度至零上50度;(2)测量精度为0.5度。

2设计方案及论证方案一:水银温度计在生活中我们经常看到水银温度计,它只能作为就地监督的仪表,用它来测量温度时,由于读数时用眼睛观察,主观因素大,容易造成误差大,而且不同是水银温度计量程不同,在读数前需要看清它的最小分度值,还有它有热惯性,需要等到温度计达到稳定状态后才能读数,比较麻烦,并且水银有毒,不小心打破后接触到水银,对人体伤害大,所以危险性较高。

方案二:传统测温元件传统的测温元件有热电偶和热电阻。

而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,其缺点有:硬件电路复杂;软件调试复杂;制作成本高。

方案三:DS18B20传感器测温本设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有成本低和易使用的特点。

2.1.2 单片机STC89C52的选择STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,内置看门狗定时器,而且STC89C52可降到0Hz静态逻辑操作,支持两种软件可选择节电模式。

使用DS18B20温度传感器设计温度控制系统设计

使用DS18B20温度传感器设计温度控制系统设计

使用DS18B20温度传感器设计温度控制系统设计设计说明:1.1 使用DS18B20温度传感器设计温度控制系统1.在数码管上可显示采集到的温度(0~99.9℃)2.当温度低于27℃时,蜂鸣器开始以慢地“滴”声报警,P1.0口发光二极管闪烁,当温度继续降低并低于25℃时,蜂鸣器开始以快地“滴”声报警,P1.0和P1.1口发光二极管闪烁。

3.当温度高于30℃时,蜂鸣器开始以慢地“滴”声报警,P1.2口发光二极管闪烁,当温度继续升高并高于32℃时,蜂鸣器开始以快地“滴”声报警,P1.2和P1.3口发光二极管闪烁。

1.2 元件说明:(1)使用的元器件DS18B20:电压范围3.0~5.5V ;温度可测范围-55~+125℃;可编程分辨率为9~12位,对应的可分辨温度为:0.5℃、0.25℃、0.125℃和0.0625℃;测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

其引脚定义图如下图:(3) 硬件连接图硬件连接图如上图:1.3 工作原理首先看控制DS18B20的指令,只列举此设计用到的,如下表:CCH 跳过ROM44H 温度转换BEH 读暂存器原理:DS18B20测量外部温度,经过温度转换,将温度物理量转换成数字信号,再传送数据到AT89C52,AT89C52控制数码管显示及二极管、扬声器的工作,从而实现了温度在数码管上显示,还有温度范围的亮灯与报警。

1.4 C语言编程见附录1.5 实验结果可将环境温度经过DS18B20温度传感器,在数码管上显示,显示准确。

附录#include<reg51.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P2^2;For personal use only in study and research; not for commercial usesbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;uint temp;float f_temp;uint warn_l1=270;uint warn_l2=250;uint warn_h1=300;uint warn_h2=320;sbit led0=P1^0;sbit led1=P1^1;sbit led2=P1^2;sbit led3=P1^3;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfd,0x87,0xff,0xef}; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void dsreset(){uint i;ds=0;i=103;while(i>0) i--;ds=1;i=4;while(i>0) i--;}bit tempreadbit(){bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8; while(i>0) i--;return(dat);}uchar tempread(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);}return(dat);}tempwritebyte(uchar dat) {uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb){ds=0;i++;i++;ds=1;i=8;while(i>0) i--;}else{ds=0;i=8;while(i>0) i--;ds=1;i++;i++;}}tempchange(){dsreset();delay(1);tempwritebyte(0xcc); tempwritebyte(0x44);}uint get_temp(){uchar a,b;dsreset();delay(1);tempwritebyte(0xcc); tempwritebyte(0xbe);a=tempread();b=tempread();temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05; return temp;}display(uchar num,uchar dat) {uchar i;dula=0;P0=table[dat];dula=1;dula=0;wela=0;i=0xff;i=i&(~((0x01)<<(num)));P0=i;wela=1;wela=0;delay(50);}dis_temp(uint t){uchar i;i=t/100;display(0,i);i=t%100/10;display(1,i+10);i=t%100%10;display(2,i);}warn(uint s,uchar led){uchar i;i=s;beep=0;P1=~(led);while(i--){dis_temp(get_temp());}beep=1;P1=0xff;i=s;while(i--){dis_temp(get_temp());}}deal(uint t){uchar i;if((t>warn_l2)&&(t<=warn_l1)){warn(40,0x01);}else if(t<=warn_l2){warn(10,0x03);}else if((t<warn_h2)&&(t>=warn_h1)){warn(40,0x04);}else if(t>=warn_h2){warn(10,0x0c);}else{i=40;while(i--){dis_temp(get_temp());}}}init_com(){TMOD=0x20;PCON=0x00;SCON=0x50;TH1=0xfd;TL1=0xfd;TR1=1;}comm(char *parr){do{SBUF=*parr++;while(!TI);TI=0;} while(*parr);}main(){uchar buff[4],i;dula=0;wela=0;init_com();while(1){tempchange();for(i=10;i>0;i--){dis_temp(get_temp());}deal(temp);sprintf(buff,"%f",f_temp); for(i=10;i>0;i--){dis_temp(get_temp());}comm(buff);for(i=10;i>0;i--){dis_temp(get_temp());}}}使用DS18B20温度传感器设计温度控制系统设计班级:电082班姓名:于川洋学号:33号时间:2011-11.-11仅供个人参考仅供个人用于学习、研究;不得用于商业用途。

基于ds18b20的数字温度计设计报告

基于ds18b20的数字温度计设计报告

基于ds18b20的数字温度计设计报告
一、引言
随着科技的进步,温度的测量和控制变得越来越重要。

DS18B20是一款数字温度传感器,具有测量准确度高、体积小、接口简单等优点,广泛应用于各种温度测量场合。

本报告将介绍基于DS18B20的数字温度计设计。

二、DS18B20简介
DS18B20是一款由美国Dallas公司生产的数字温度传感器,可以通过数据线与微处理器进行通信,实现温度的测量。

DS18B20的测量范围为-55℃~+125℃,精度为±0.5℃。

三、数字温度计设计
1.硬件设计
数字温度计的硬件部分主要包括DS18B20温度传感器、微处理器、显示模块等。

其中,DS18B20负责采集温度数据,微处理器负责处理数据并控制显示模块显示温度。

2.软件设计
软件部分主要实现DS18B20与微处理器的通信和控制显示模块显示。

首先,微处理器通过数据线向DS18B20发送命令,获取温度数据。

然后,微处理器将数据处理后发送给显示模块,实现温度的实时显示。

四、测试结果
经过测试,该数字温度计的测量精度为±0.5℃,符合设计要求。

同时,该温度
计具有测量速度快、体积小、使用方便等优点,可以广泛应用于各种温度测量场合。

五、结论
基于DS18B20的数字温度计具有高精度、低成本、使用方便等优点,可以实现高精度的温度测量和控制。

随着科技的发展,数字温度计的应用将越来越广泛,具有广阔的市场前景。

DS18B20温度传感器电路设计(参考)

DS18B20温度传感器电路设计(参考)

关键词:单片机AT89C51;温度传感器DS18B20;数码显示实现功能:可以测得的温度范围0~125度并显示一位小数有报警功能当15度<T<30度时两个都灯不亮(默认上限温度为30 下限温度为15)当T>30度时红灯亮T<15度时绿灯亮有调整上下限温度功能按下相应按钮可以调整报警温度范围元件清单AT89C51单片机芯片1块DS18B20温度传感器1个4位共阳极数码管1块红色发光二极管1个绿色发光二极管1个八分之一W 1K电阻10个1W 4.7K电阻1个弹性开关3个本方案设计的系统由单片机系统、数字温度传感器、LED显示模块、按键控制模块、温度报警模块组成,其总体架构如下图1.图1 系统总体方框图DS18B20性能1独特的单线接口仅需一个端口引脚进行通信2简单的多点分布应用3无需外部器件4可通过数据线供电5零待机功耗6测温范围-55~+125℃,以0.5℃递增7可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃8温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换为数字9应用包括温度控制、工业系统、消费品、温度计和任何热感测系统10负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作。

DS18B20外形及引脚说明图3 DS18B20外形及引脚GND:地DQ:单线运用的数据输入/输出引脚VD:可选的电源引脚存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,实际温度=07D0H*0.0625=2000*0.0625=125℃。

例如-55℃的数字输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作运算),实际温度=370H*0.0625=880*0.0625=55℃。

ds18b20程序设计

ds18b20程序设计

ds18b20程序设计如何使用ds18b20编写程序设计。

DS18B20是一种数字温度传感器,它可以通过编程来读取环境温度信息。

本文将详细介绍如何使用DS18B20进行程序设计,以帮助读者了解如何在自己的项目中应用这款传感器。

第一步:准备工作在开始实际的程序设计之前,我们需要准备一些硬件和软件工具。

首先,我们需要一块支持DS18B20的硬件平台,例如Arduino、树莓派或其他微控制器。

其次,我们需要一块DS18B20传感器和一些杜邦线用于连接。

最后,我们需要一个编程环境,例如Arduino IDE或树莓派的Python开发环境。

第二步:连接硬件将DS18B20传感器与硬件平台连接起来是第二个关键步骤。

DS18B20传感器有三个引脚,其中一个是地线(GND),一个是电源(VCC),还有一个是数据线(DATA)。

将GND引脚连接到硬件平台的地线引脚,将VCC 引脚连接到硬件平台的电源引脚,将DATA引脚连接到硬件平台的数字引脚。

确保连接正确后,我们可以进入下一步。

第三步:配置硬件平台在编程之前,我们需要配置硬件平台,以便能够与DS18B20传感器进行通信。

具体配置的方式取决于使用的硬件平台。

在Arduino中,我们可以使用OneWire库来与DS18B20传感器进行通信。

在树莓派中,我们需要通过GPIO引脚来与传感器进行通信。

了解所使用硬件平台的配置方式是非常重要的。

第四步:编写程序一旦硬件平台配置完成,我们可以开始编写程序。

程序的目标是读取DS18B20传感器的温度数据并将其显示出来。

以下是使用Arduino IDE 编写的简单示例代码:#include <OneWire.h>#include <DallasTemperature.h>数据线引脚连接到Arduino的数字引脚2#define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup() {Serial.begin(9600);sensors.begin();}void loop() {sensors.requestTemperatures();float temperature = sensors.getTempCByIndex(0);Serial.print("Temperature: ");Serial.println(temperature);delay(1000);}上述代码首先引入了两个库:OneWire和DallasTemperature。

DS18B20温度传感器电路设计

DS18B20温度传感器电路设计

DS18B20温度传感器电路设计默认分类2010-06-29 12:08:49 阅读393 评论0 字号:大中小订阅《单片机原理及应用》---项目设计DS18B20温度传感器电路设计一. 项目设计方案概述温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要意义。

在单片机的应用中,一个很重要的应用就是对温度进行检测。

测量温度的关键是温度传感器,采用智能温度传感器以实现温度数字化,既能以数字形式直接输出被测温度值,具有测量误差小,分辨力高,抗干扰能力强,能够远程传输数据,带串行总线接口等优点。

温度的数字输出显示LCD1602液晶显示器上。

单片机、温度传感器DS18B20与LCD液晶显示器等电子元器件的互联,可以研制和开发出具有高性价比的新一代测温系统——基于单片机AT89S52的数字温度计。

基于单片机的数字温度计设计,即对温度进行实时测量,使用单线数字温度传感器DS18B20把温度信号直接转换成数字信号输入单片机。

经单片机处理后,将实时温度显示LCD液晶显示器上。

二. 项目设计具体模块分析1、总控模块AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

传感器DS18B20数字温度计的设计

传感器DS18B20数字温度计的设计

机电工程系课程设计报告题目: DS18B20数字温度计的设计————————————————————————专业:机电一体化班级:学号:姓名:指导老师:目录一、绪论 (3)二、对课程设计的分析 (3)2.1 总体设计框图 (3)2.2.1 主控制器 (4)2.2.2 显示电路 (4)2.2.3 温度传感器 (4)三、系统电路图 (8)四、系统的软件设计 (8)4.1 主程序 (9)4.2 读出温度子程序 (10)4.3 温度转换命令子程序 (10)4.4 显示温度子程序 (11)五、结论与体会 (11)六、课程设计过程中遇到的主要问题以及解决办法 (11)七、附件 (12)7.1 keil源程序 (12)7.2 proteus仿真图 (17)7.3 实物照片 (17)一、 绪论随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数字温度计就是一个典型的例子,但是人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机STC89C52RC ,测温传感器使用DS18B20,用七段LED 数码管显示。

二、 对本课程设计的分析2.1总体设计框图温度计电路设计总体设计方框图如1图所示,主控制器采用单片机STC89C52RC ,温度传感器采用DS18B20,用3个LED 共阴数码管显示温度数据。

图1 总体设计框图主控制 器LED 显示温度传感器单片机复位时钟振荡2.2.1主控制器单片机STC89C52RC是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

此实验采用12MHZ晶振。

基于DS18B20的温度测量系统设计

基于DS18B20的温度测量系统设计

基于DS18B20的温度测量系统设计一、引言温度测量是现代生活中很常见的一项测量工作。

在很多领域中,如农业、医疗和工业等,温度的准确测量对于保持合适的环境和防止设备损坏至关重要。

因此,设计一种高精度、稳定可靠的温度测量系统至关重要。

本文将基于DS18B20温度传感器进行详细的设计。

二、DS18B20概述DS18B20是一种数字温度传感器,它可以提供9至12位的温度数据精度。

它使用单总线接口进行通信,并且可以在不同分辨率下进行配置以满足不同的应用需求。

该传感器具有很多优点,如精度高、体积小、能够长时间稳定工作等。

三、系统设计1.硬件设计硬件设计是温度测量系统设计的基础。

设计中需要考虑到供电电源、连接方式和传感器位置等因素。

(1)供电电源:传感器和测量电路通常需要稳定的电源供应,可以选择直流电源或者电池供电,需要根据实际需求进行选择。

(2)连接方式:DS18B20可以通过单总线接口进行连接,可以选择串行线连接传感器和控制器。

(3)传感器位置:传感器的位置也是需要考虑的因素,需要确保传感器可以完全接触到被测物体表面,并且避免外部因素对测量结果的影响。

2.软件设计软件设计是温度测量系统设计中非常重要的一部分,它主要包括传感器数据采集和数据处理等方面。

(1)传感器数据采集:DS18B20可以通过单总线接口进行数据采集,基于单总线协议,可以实现多个传感器的并行测量。

在软件设计中,需要使用相应的驱动程序来实现对传感器的读取,并通过相应的接口将数据传输给控制器。

(2)数据处理:采集到的温度数据需要进行处理,可以选择直接将数据输出,也可以进行一些算法处理,如平均值滤波、差值滤波等,以提高数据的稳定性和准确性。

四、系统测试设计完成后,需要进行系统测试以验证设计的正确性和可靠性。

1.传感器测试:首先需要测试传感器的准确性和响应时间等指标,可以将传感器置于稳定温度环境下,并使用标准温度计进行对比,以验证传感器的准确性。

DS18B20传感器的数字温度计设计

DS18B20传感器的数字温度计设计

基于DS18B20传感器的数字温度计设计完成任务:完成“基于DS18B20传感器的数字温度计”的硬软件设计;步骤要求:一、“基于DS18B20传感器的数字温度计设计”分析报告主要分为:1、器件选型:(a) 通过网上资料查询MCS51单片机、四位供阴极数码管、74ALS164、LM7805、DS18B20等芯片的工作原理;(b)各个器件的使用方法;2、用Protel软件补充并完成原理图设计,更一步的完成PCB设计;3、结合教材总结和分析传感器和自动检测系统的组成结构及使用方法;二、完成“基于DS18B20传感器的数字温度计设计”的硬件焊接及调试;三、完成软件设计;工作原理分析:电路实物图如下图所示:电路原理图如下图所示:MCS51单片机:MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:²8位CPU²4kbytes 程序存储器(ROM)²128bytes的数据存储器(RAM)²32条I/O口线²111条指令,大部分为单字节指令²21个专用寄存器²2个可编程定时/计数器²5个中断源,2个优先级²一个全双工串行通信口²外部数据存储器寻址空间为64kB²外部程序存储器寻址空间为64kB²逻辑操作位寻址功能²双列直插40PinDIP封装²单一+5V电源供电MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。

由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。

因此,在工业测控系统中,使用单片机是最理想的选择。

单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。

DS18B20设计文档

DS18B20设计文档

DS18B20温度传感器设计文档前言本项目是利用单片机实现温度显示,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。

次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。

传统的温度计有反应速度慢、读数麻烦、测量精度不高误差大等缺点而下面利用集成温度传感器DS18B20设计并制作了一款基于AT89C52的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。

DS18B20的初始化主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。

若无低电平出现一直都是高电平说明总线上无器件应答。

做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。

若没有检测到就一直在检测等待。

初始化时序图/************************************************************** * 函数名 : Ds18b20Init* 函数功能: 初始化****************************************************************/ unsigned char Ds18b20Init(){unsigned int i;DSIO=0; //将总线拉低480us~960usi=70;while(i--);//延时642usDSIO=1;//然后拉高总线,若DS18B20做出反应会将在15us~60us后将总线拉低i=0;while(DSIO) //等待DS18B20拉低总线{i++;if(i>50000)//等待>50MSreturn 0;//初始化失败}return 1;//初始化成功}主机发出各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。

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

智能化仪器及原理应用课程设计设计题目: DS18B20数字温度计的设计专业班级: 10自动化1 班姓名:组员:指导老师:日期:2012-11-26目录一、摘要 (2)二、方案论证 (2)三、电路设计 (2)1、设备整机结构及硬件电路框图 (2)2、单片机的选择 (3)3、温度显示电路 (3)4、温度传感器 (4)5、软件设计 (6)6、系统所运用的功能介绍: (8)四、系统的调试及性能分析: (8)附件:DS18B20温度计C程序 (9)一、摘要本设计的主要内容是应用单片机和温度传感器设计一个数字温度表,DS18B20是一种可组网的高精度数字温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。

本设计基于数字温度传感器DS18B20,以AT89C51片机为核心设计此测试系统,具有结构简单、测温精度高、稳定可靠的优点。

可实现温度的实时检测和显示,本文给出了系统的硬件电路详细设计和软件设计方法,经过调试和实验验证,实现了预期的全部功能。

二、方案论证方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。

方案设计框图如下:方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

三、电路设计1、 设备整机结构及硬件电路框图根据设计要求与设计思路,设计硬件电路框图如下图所示, 4位数码管显示器系统中AT89C51成对DS18B20初始化、温度采集、温度转换、温度数码显示。

本装置详细组成部分如下:a. 主控模块:AT89C51片机;b. 传感器电路:DS18B20温度传感器;按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。

数字温度计总体电路结构框图所示:2、单片机的选择单片机AT89C51有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

AT89C51的管脚结构图:四位共阳极数码管,能够显示小数和负温度。

零下时,第一个数码管显示负号。

当温度超过99.9时,四个数码管全部亮。

列扫描用P2.0—P2.3来实现,列驱用NOT。

电路仿真图如下:4、温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

电路图如下:系统总电路图如下:5、软件设计主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等。

主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。

温度测量每1S进行一次。

主流程图如下:读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。

在读出时须进行CRC校验,校验有错时不进行温度数据的改写。

流程图如下:温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。

当采用12位分辨率时,转换时间约为750ms。

在本程序设计中,采用1s显示程序延时法等待转换的完成。

流程图如下:计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。

显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。

6、系统所运用的功能介绍:DS18B20与单片机之间采用串行通信的方式进行数据读写四、系统的调试及性能分析:硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。

软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。

本程序采用单片机汇编或C语言编写用Keil C51编译器编程调试。

软件调试到能显示温度值,并且在有温度变化时显示温度能改变,就基本完成。

性能测试可用制作的温度机和已有的成品温度计同时进行测量比较。

由于DS18B20的精度很高,所以误差指标可以限制在0.5℃以内。

另外,-55~+125℃的测温范围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。

附件:DS18B20温度计C程序//使用AT89C2051单片机,用共阳四位数码管//P0口输出段码,P2口扫描#include <reg51.h>#include <intrins.h> //_nop_();延时函数用#define Disdata P0 //段码输出口#define discan P2 //扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P1^4; //温度输入口sbit DIN=P0^7; //LED小数点控制uint h;//*******温度小数部分用查表法**********//uchar codeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//共阳四位数码管uchar codedis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf}; 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++) //四位数码管扫描控制{Disdata=dis_7[display[k]];if(k==1){DIN=0;}discan=scan_con[k];delay(5);discan=0xff;}}/***********18B20复位函数**********/ow_reset(void){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){if(temp_data[0]!=0x00){temp_data[1]=(255-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}//负温度求补码else{temp_data[1]=(256-temp_data[1]);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;}//开机显示8888 ow_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<250;h++){scan();} //显示温度值1秒}}。

相关文档
最新文档