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

合集下载

数字温度计DS18B20课程设计报告

数字温度计DS18B20课程设计报告

数字温度计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为温度传感器的新型数字温度计。

主要包括硬件电路的设计和系统程序的设计。

硬件电路主要包括主控制器,测温控制电路和显示电路等,主控制器采用单片机AT8 9C52,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用8位共阴极LED数码管,ULN2803A为驱动的动态扫描直读显示。

测温控制电路由温度传感器和预置温度值比较报警电路组成,当实际测量温度值大于预置温度值时,发出报警信号,即发光二极管亮。

系统程序主要包括主程序,测温子程序和显示子程序等。

DS18B20新型单总线数字温度传感器是DALLAS 公司生产的单线数字温度传感器, 集温度测量和 A /D转换于一体,直接输出数字量,具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。

由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。

DS18B20温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。

此外,还介绍了系统的调试和性能分析。

关键词:显示电路,单片机,AT89C52,温度传感器,DS18B20 ,单总线IThe Design of DS18B20 Digit ThermometerABSTRACTTemperature is a basic parameters of the environment, people's lives a nd the environment are closely related to temperature. in the course of ind ustrial production immediate need for temperature measurement in industrial production has to do with temperature measurement, The study o f the temperature measurement and control is of great significance.The paper introduced one kind new digital thermo meter that take the Micro Controller Unit as the primary control component and take DS18B20 as the temperature sensor. Mainly included the design of the hardware electric circuit and the design of the system program .The hardware electric circuit mainly included the master controller, the temperature measured electric circuit and the display circuit and so on, the master contro ller used Micro Controller Unit AT89C52, the temperature sensor used DS18B20 which the American DALLAS semiconductor company produces, the disp lay circuit used 8 altogether anodes LED numerical code tube by the dynamic scanning method straight to read the demo nstration.ULN2803A-driven dynamic scan showed straight time. Temperature control circuit fro m temperature sensors and preset temperature value compared alarm circuit components, When measured temperature greater than preset temperature value, issued warning signal that the bright light emitting diodes. The system program mainly included the master routine, the temperature subroutine, the data renovates subroutine and so on. DS18B20 is a digital temperature sensor of single bus .It is producted by DALLAS cooperation . DS18B20 assemb les temperature measure and A /D converter, exports digital signal directly, operation easily, better precise, protecting disturb, running steably and so on.IIBecause used the advanced version intelligence temperature sensor DS18B20 as the examine part, compared with the traditio nal thermo meter, this d igital thermo meter reduced the exterior hardware electric circuit, has characteristic that the low cost and was easy to use. The DS18B20 therm ometer also may used to the high temperature warning, the long-distance ran ge multi- spots temperature measured aspect and so on temperature contro l carries on the applicatio n development, has the very good prospects for development. In addition, introduced the system debugging and the perform ance analysis.KEY WORDS:Disp lay Circuit, Microcontroller Unit , AT89C52,Temperature Sensor, DS18B20,1-WireIII目录前言 (1)第1章设计任务及方案分析 (2)§1.1 设计任务及要求 (2)§1.2 设计总体方案及方案论证 (2)§1.3 温度测量的方案与分析 (2)§1.3.1 芯片选择 (2)§1.3.2 实现方法简介 (3)§1.3.3 测温流程图 (3)第2章芯片功能简介 (4)§2.1 A T89C52的功能简介 (4)§2.1.1 A T89C52芯片简介 (4)§2.1.2 引脚功能说明 (4)§2.2 DS18B20的功能简介 (7)§2.2.1 芯片简介 (7)§2.2.2 DS18B20外形和内部结构 (8)§2.2.3 DS18B20的工作时序 (11)§2.2.4 DS18B20与单片机的典型接口设计 (12)§2.2.5 DS18B20的各个ROM命令 (13)第3章系统硬件电路的设计 (15)§3.1 主控制电路和测温控制电路原理图 (15)§3.2 驱动电路模块原理图 (16)§3.3 显示模块原理图 (17)第4章软件编程调试及性能分析 (18)§4.1 主程序流程图 (18)§4.2 主程序 (19)§4.3 温度子程序 (21)§4.3.1 DS18B20复位子程序 (22)IV§4.3.2 读DS18B20子程序 (23)§4.3.3 写DS18B20子程序 (25)§4.3.4 比较报警子程序 (26)§4.3.5 按键子程序 (27)§4.4 显示子程序 (27)§4.5 调试性能分析和注意事项 (29)§4.5.1 调试性能分析 (29)§4.5.2 DS18B20使用中的注意事项 (30)结论 (31)参考文献 (32)致谢 (33)附录 (34)V前言日常生活及工农业生产中经常要用到温度的检测及控制,在冶金、食品加工、化工等工业生产过程中,广泛使用的各种加热炉、热处理炉、反应炉等,都要求对温度进行严格控制。

基于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数字温度计设计实验报告

单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名学号:20133522080 赵晓磊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显示电路扫描驱动要,很适合便携手持式产品的设计使用。

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温度传感器的温度计设计

基于DS18B20温度传感器的温度计设计摘要:以DS18B20温度传感器,4位7段数码管和AT89C52RC微控制器为主要部分实现数字温度计的设计,利用DS18B20本身具有的模数转换功能和暂时存储功能将模拟量——气温转换为微控制器可处理的数字量,并使用AT89C52RC的输入输出及定时器中断功能通过DS18B20的单线连接结构与DS18B20进行信息传输,读取温度值并用数码管显示出来。

1.设计选题的目的、意义通过数字温度计的设计进一步熟悉单片机微控制器及相关数字/模拟电路的原理和功能,熟悉单片机的程序设计,学会传感器的使用和相关文献的查找及学习。

2.硬件电路设计硬件部分主要包括微控制器、温度传感器模块和数码管显示模块三部分。

2.1 微控制器主要功能电路如下图,包括电源,接地,复位电路,时钟脉冲电路(11.0592MHz)。

2.2 温度传感器模块如下图,使用外部电源,可以减少程序复杂程度。

DS18B20特性:●独特的单线接口仅需一个端口进行通讯●简单的多点分布应用●无需外部器件●可通过数据线供电●零待机功耗●测温范围-55~+125℃●温度以12位数字量读出●温度数字量转换时间750ms(12位)●用户可定义的非易失性温度警报设置●报警搜索命令识别并超过程序限定温度(温度报警条件)的器件●应用包括温度控制、工业系统、消费品、温度计或任何热感测系统2.3 数码管显示模块如上图,由两片SN74HC573N八路透明锁存器分别控制共阳极数码管位和段的锁存,实现只用MCU的一组I/O口分别控制数码管位和段的选通。

3.软件电路设计软件同样包括三个部分:传感器控制,显示控制,主程序。

3.1 温度传感器控制A.DS18B20内部存储读写与控制原理右图是DS18B20内部9字节的暂存器的结构,向其传送读取命令后,暂存器会依次将9个字节的数据通过单线送出,每个字节都是低位在先。

在本课题,只需0字节和1字节,也就是温度LSB(低8位)和温度MSB(高8位)中的数据。

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的数字温度计设计

基于DS18B20的数字温度计设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。

2.培养学生综合分析问题、发现问题和解决问题的能力。

3.培养学生综合运用知识的能力和工程设计的能力。

4.培养学生理论联系实际的能力。

5.提高学生课程设计报告撰写水平。

二、设计内容、技术条件和要求1设计内容数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。

方案一:使用按钮控制温度的采集与显示。

方案二:使用定时控制温度的采集与显示,时间间隔1S。

2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•DS18B20应用电路设计。

•按键电路设计。

•可使用实验室的实验箱实物实现,也可使用仿真软件Proteus实现。

•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。

•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。

三、总体设计思想本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由5个模块组成:主控器[4]、测温电路,报警电路,按键电路及显示电路。

系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以AT89S51为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由LM1602液晶显示屏显示出来。

图3-1 数字温度计设计总体的原理图四、硬件设计1、硬件设计图见附件。

2、单片机复位电路工作原理及设计。

硬件图如下图一原理是通过使复位端经电阻与Vcc电源接通而产生按键复位电平,保证复位信号高电平持续时间大于2个机器周期。

3、单片机晶振电路工作原理及设计硬件图如下图二晶振电路是提供系统时钟信号。

为了各部分的同步应当引入公用的外部脉冲信号作为振荡脉冲。

基于ds18b20的数字温度计设计

基于ds18b20的数字温度计设计

基于ds18b20的数字温度计设计目录(一)设计内容及要求 (2)(二)系统的硬件选择及设计 (3)2.1核心处理器的设计 (3)1、AT89C51引脚图 (3)2、AT89C51引脚功能介绍 (3)2.2温度采集电路的设计 (5)1、单线技术 (5)2、DS18B20的简介 (6)3、DS18B20内部结构 (8)4、DS18B20测温原理 (11)5、温度采集电路 (12)2.3温度显示电路的设计 (13)1、LED数码管的操作 (13)2、温度显示电路 (13)(三)系统的软件设计 (15)3.1概述 (15)3.2 DS18B20的单线协议和命令 (15)(1)初始化 (15)(2)ROM操作命令 (15)(3)内存操作命令 (16)3.3温度采集程序流程图的设计 (18)3.4温度显示程序流程图的设计 (19)(四) 结论 (19)(五)汇编代码 (20)(六)参考文献 (27)基于DS18B20的数字温度计设计摘要:在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过两位共阴极LED数码显示管并行传送数据,实现温度显示。

本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用汇编语言实现温度的采集与显示。

通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。

其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。

关键词:单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计(一)设计内容及要求本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机AT89C51芯片为核心,辅以温度传感器DS18B20和LED 数码管及必要的外围电路,构成了一个多功能单片机数字温度计。

使用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的数字温度计设计与实现

1 DS18B20的特点及性能传统的温度测量系统通常采用热电偶或热电阻测量温度,而热电阻必须在一个良好的恒流源中才能保证温度测量的准确性;而热电偶发送的信号为模拟信号,必须经过A/D转换才能将其发送至CPU进行相应处理,且热电偶信号仅有十几个mA,由于过于微弱在A/D转换之前需要进行增益放大,因此应用热电偶或热电阻构成的温度测量系统比较复杂。

DS18B20是一种单线数字温度传感器芯片,由美国Dallas公司生产,与传统的温度传感器不同,DS18B20可将测得的温度信号直接转换为可供单片机处理的串行数字信号,因此可获得更高的工作效率。

通过编程,可通过DS18B20实现9~12位的温度读数,其温度测量范围在-55℃~+125℃,其中- 10℃~+ 85℃其测温准确度误差可控制在0.5℃。

相比其他温度测量元件,DS18B20的小体积、低功耗、强大的抗干扰能力、易连接微处理器等优势十分突出,其测量温度时无需其他硬件,仅需一根I/O口线即可实现与单片机的信息交换,其工作电源既可远端引入,也可采用寄生电源的方式而无需额外电源,可通过数据总线向其提供读写及温度转换功率等,大大简化了电路设计。

此外,每片DS18B20均设置对应的产品序列号,该序列号存放于其内部ROM中,由于DS18B20的序列号具有唯一性,单片机在识别序列号时通过简单的协议即可实现,正是其这一特点使得多个DS18B20可挂接于同一条单线总线,不仅占据较少微处理器的端口,而且可减少引线及逻辑电路的应用,在多点温度测控系统的应用中具有较大优势。

2 DS18B20温度测量原理达拉斯公司将其特有的温度测量技术融入到DS18B20中,其内部具有低温度系数振荡器及高温度系数振荡器,应用过程中该低温振荡器可产生频率信号f,而被测温度会将高温度系数振荡器转换成频率信号f,DS18B20计数门的开通时间由高温系数振荡器来决定,计数门打开时DS18B20对f计数;测温过程中频率会存在非线性,DS18B20内部设置为斜率累加器用于补偿频率的非线性。

基于DS18B20数字温度计的设计与实现82

基于DS18B20数字温度计的设计与实现82

基于DS18B20数字温度计的设计与实现摘要:本设计采用51单片机和DS18B20 数字温度传感器来进行温度测量的方法,包括温度传感器芯片的选取、单片机与温度传感器接口电路的设计,以及实现温度信息采集和数据传输的软件设计。

DS18B20 数字温度传感器是单总线器件,与51 单片机组成一个测温系统,具有线路简单、体积小等特点,而且在一根通信线上,可以挂接很多这样的测温系统,十分方便。

关键词:单片机;温度传感器;数字温度计第一章绪论1.1 温度计的介绍气体温度计多用氢气和氦气作测温物质,因为氢气和氦气的液化温度很低,接近于绝对零度,故它的测温范围很广。

这种温度计精确度很高,多用于精密测量。

电阻温度计分为金属电阻温度计和半导体电阻温度计,都是根据电阻值随温度的变化这一特性制成的。

金属温度计主要有用铂、金、铜、镍等纯金属的及铑铁、磷青铜合金的;半导体温度计主要用碳、锗等。

电阻温度计使用方便可靠,已广泛应用。

它的测量范围为-260℃至600℃左右。

温差电偶温度计是一种工业上广泛应用的测温仪器。

利用温差电现象制成。

两种不同的金属丝焊接在一起形成工作端,另两端与测量仪表连接,形成电路。

把工作端放在被测温度处,工作端与自由端温度不同时,就会出现电动势,因而有电流通过回路。

通过电学量的测量,利用已知处的温度,就可以测定另一处的温度。

这种温度计多用铜—康铜、铁—康铜、镍铭—康铜、金钻—铜、铂—铑等组成。

它适用于温差较大的两种物质之间,多用于高温和低浊测量。

有的温差电偶能测量高达3000℃的高温。

有的能测接近绝对零度的低温。

[1][]1.2选题的目的和意义1.2.1选题的目的利用单片机STC89C52和温度传感器DS18B20设计一个设计温度计,能够测量-55 ~+125℃之间的温度值,用LCD液晶屏直接显示,误差在±0.5℃以内,同时要求使用的元器件数目最少。

通过这次设计能够更加了解数字温度计的工作原理和熟悉单片机的发展和应用,巩固所学的知识。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ds18b20数字温度计课程设计

ds18b20数字温度计课程设计

ds18b20数字温度计课程设计ds18b20数字温度计课程设计一、实验目的1、了解ds18b20数字温度计的原理;2、掌握使用单总线、多总线的ds18b20数字温度计的读取方法;3、学会程序设计,编写读取ds18b20数字温度计的程序;二、实验内容1、ds18b20原理介绍和使用指南;2、单总线ds18b20的读取;3、多总线ds18b20的读取;4、ds18b20数字温度计的程序设计。

三、实验准备1、ds18b20数字温度计一个;2、STC89C52单片机一个;3、74HC00芯片一个;4、基础模块一个;5、阻值电阻一块;6、按键一个;7、LED一个;四、实验步骤1、了解ds18b20的原理(1)ds18b20原理介绍:ds18b20是一款以串行通信方式完成温度采集的高精度热敏电阻,具有自带的识别码,可以同时读取多个ds18b20,具有低功耗,精度高,测量范围广等优点。

(2)ds18b20使用指南:ds18b20使用一根数据线进行通信,将这根数据线接到单片机的数据口即可,用来接收和发送数据。

2、单总线ds18b20的读取(1)实验环境搭建:将ds18b20数字温度计接到单片机的数据口上,并将电阻接入,使电路有效;(2)实验程序编写:编写读取单总线ds18b20的程序,实现单总线ds18b20数字温度计的读取;3、多总线ds18b20的读取(1)实验环境搭建:将多个ds18b20数字温度计使用同一个总线接到单片机的数据口上,并将电阻接入,使电路有效;(2)实验程序编写:编写读取多总线ds18b20的程序,实现多总线ds18b20数字温度计的读取;4、ds18b20数字温度计的程序设计(1)实验环境搭建:将ds18b20数字温度计接到单片机的数据口上,并将电阻、按键、LED等电子元件接入,使电路有效;(2)实验程序编写:编写ds18b20数字温度计的程序,实现读取ds18b20数字温度计的功能,并将按键控制LED亮灭,根据温度读取值判断LED是否亮起。

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数字温度计设计实验报告文档推荐本实验旨在设计并实现一款数字温度计,利用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的温度测量系统设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于DS18B20的智能测温系统的设计

基于DS18B20的智能测温系统的设计

基于DS18B20的智能测温系统的设计一、本文概述本文旨在探讨基于DS18B20的智能测温系统的设计与实现。

DS18B20是一款常用的数字温度传感器,具有测量准确、稳定性好、抗干扰能力强等特点,因此在许多领域,特别是温度监测和控制系统中得到了广泛应用。

本文将首先介绍DS18B20传感器的基本工作原理和特性,然后详细阐述如何利用该传感器构建一个智能测温系统。

在系统设计方面,本文将关注硬件电路的选择与搭建、软件编程实现、以及系统的整体架构。

硬件设计将包括DS18B20与微控制器的连接电路、电源电路、显示模块等关键部分。

软件编程将实现温度数据的读取、处理、显示以及可能的远程传输等功能。

同时,还将讨论如何通过软件算法提高测温精度和响应速度,以满足实际应用需求。

本文还将探讨系统的可靠性、稳定性和扩展性等问题。

通过合理的硬件和软件设计,确保系统能够在各种环境下稳定运行,并具备一定的故障自诊断和处理能力。

通过预留接口和扩展功能,使系统易于升级和维护,以满足不断变化的用户需求。

本文将全面介绍基于DS18B20的智能测温系统的设计过程,包括硬件搭建、软件编程、系统架构等方面,旨在为相关领域的工程师和研究者提供参考和借鉴。

二、1820传感器原理及特性DS18B20是一款由美国Dallas半导体公司开发的单总线数字温度传感器,具有测量温度范围宽、精度高、抗干扰能力强、接口简单、使用方便、封装形式小、可组网使用等优点,因此在各种测温场合中得到了广泛的应用。

DS18B20传感器的工作原理基于热敏电阻的温度-电阻特性。

其内部包含一个热敏电阻和一个8位的模数转换器(ADC),热敏电阻的阻值会随着温度的变化而变化,这个变化被ADC转换成数字信号,然后通过单总线接口输出。

DS18B20具有独特的单总线接口方式,只需一个端口引脚就能与微处理器通信,简化了硬件电路的设计。

DS18B20还具有温度报警功能,当温度超过预设的阈值时,可以通过单总线向微处理器发送报警信号。

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

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所示。

图1 DS18B20引脚分布图
图2 64位ROM 结构图 DS18B20高速暂存器共9个存储单元,如表所示:
序号 寄存器名称 作 用
序号 寄存器名称
作 用
0 温度低字节 以16位补码形式存放 4
配置寄存器
1 温度高字节
5、6、7 保留 2 TH/用户字节1 存放温度上限 8 CRC 3 HL/用户字节2 存放温度下限
以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM 中,二进制中的前面5位是符号位。

如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。

LSB
MSB
8位检验CRC 48位序列号 8位工厂代码(10H )
3.DS18B20控制方法
DS18B20有六条控制命令,如表所示:
4.DS18B20的通信协议
DS18B20器件要求采用严格的通信协议,以保证数据的完整性。

该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。

与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。

发送所有的命令和数据时,都是字节的低位在前,高位在后。

a)复位和应答脉冲时隙
每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。

在每一个时隙,总线只能传输一位数据。

时序图见图3。

b)写时隙
当主机将单总线DQ从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。

写0和写1时隙如图所示。

在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。

时序图见图4。

c)读时隙
DS18B20器件仅在主机发出读时隙时,才向主机传输数据。

所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。

所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。

每个读时隙都由主机发起,至少拉低总线1us。

在主机发起读时隙之后,DS18B20器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。

若发送为0,则拉低总线当发送0时,DS18B20
在该时隙结束后,释放总线,由上拉电阻将总线拉回至高电平状态。

DS18B20发出的数据,在起始时隙之后保持有效时间为15us。

因而主机在读时隙期间,必须释放总线。

并且在时隙起始后的15us之内采样总线的状态。

时序图见图4。

图3 复位和应答脉冲时隙
图4 读写时序
五、硬件电路设计
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。

数字温度计总体电路结构框图如图5所示。

图5 电路结构框图
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

六、软件设计
系统程序主要包括主程序、读出温度子程序、温度转换子程序、计算温度子程序、显示数据刷新子程序等等。

1.主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,其程序流程图如图6。

图6 主程序流程图
2.读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。

其程序流程图如图7所示。


7 读出温度子程序流程图
3.温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为
750ms ,在本程序设计中采用1s 显示程序延时法等待转换的完成。

温度转换命令子程序流程图如图8所示。

4.计算温度子程序
计算温度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定,
其流程图如图9所示。

图8 温度转换命令子程序流程图
图9 计算温度子程序流程图
显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。

程序流程图如图10所示。

图10 显示数据刷新子程序流程图。

相关文档
最新文档