使用DS18B20温度传感器设计温度控制系统设计
基于AT89C51DS18B20的数字温度计设计
基于AT89C51DS18B20的数字温度计设计一、本文概述Overview of this article本文旨在探讨基于AT89C51微控制器和DS18B20数字温度传感器的数字温度计设计。
我们将详细介绍如何利用这两种核心组件,结合适当的硬件电路设计和软件编程,实现一个能够准确测量和显示温度的数字温度计。
This article aims to explore the design of a digital thermometer based on AT89C51 microcontroller and DS18B20 digital temperature sensor. We will provide a detailed introduction on how to utilize these two core components, combined with appropriate hardware circuit design and software programming, to achieve a digital thermometer that can accurately measure and display temperature.我们将对AT89C51微控制器和DS18B20数字温度传感器进行简要介绍,包括它们的工作原理、主要特性和适用场景。
然后,我们将详细阐述硬件电路的设计,包括微控制器与温度传感器的连接方式、电源电路、显示电路等。
We will provide a brief introduction to the AT89C51 microcontroller and DS18B20 digital temperature sensor, including their working principles, main characteristics, and applicable scenarios. Then, we will elaborate on the hardware circuit design, including the connection method between the microcontroller and temperature sensor, power circuit, display circuit, etc.在软件编程方面,我们将介绍如何使用C语言对AT89C51微控制器进行编程,实现温度数据的读取、处理和显示。
基于DS18B20的温度采集控制系统
,
如 图 2 中 的 U3
,
,
以动态方式显 示
口
显示
送 出
位 控 信 号 由 P2
【] 3
,
送 出
,
经 U2 (
图 1
总体控 制框 图
7 4 LS 2 4 4 ) 进
行信号放 大
以 产生足 够 大 的 电流驱 动数
、
码 管显 示
。
数码 管 与单 片机 的连 接 见 图 2 所示 U3
。
U2 和
这里 我们采用单 片机最小系统 图 2 所示
2 1
.
,
系统硬件 电路 图如
U 1 的连 接
。
2 4
.
电机 控 制 模块
电机 采 用 直 流 电机
,
主控 制模块
由于 系统控制方案 简单
,
如 图 2 中的 B
,
1
,
额 定 电压 5 V
.
,
数据量也不 大
’
,
考虑 到 电路
调速采用
PW M
调速方法
利用单片机
P0 1 口
,
通过软
,
的 简单 和成 本 等 因 素
3I
0ND
一 D M 7 LS 4 4 Z
P O 2
22
O D' 1 R
P I 2
.
RS v P D XTAL2
.
I ==.
} 。 。
R 1 c 1 l‘ 千 一 F 亍 { -_ _一 3 0 p
G XL N T1 A D
85 91 5
自动
匐
基于
DS 188 2 0
单片机恒温箱温度控制系统的设计说明
课程设计课题:单片机培养箱温控系统设计本课程设计要求:温度控制系统基于单片机,实现对温度的实时监控,实现控制的智能化。
设计了培养箱温度控制系统,配备温度传感器,采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数字传输,采用PID控制技术,可保持温度在要求的恒定范围内,配备键盘输入设定温度;配备数码管L ED显示温度。
技术参数及设计任务:1、使用单片机AT89C2051控制温度,使培养箱保持最高温度110 ℃ 。
2、培养箱温度可预设,干燥过程恒温控制,控温误差小于± 2℃.3、预设时显示设定温度,恒温时显示实时温度。
采用PID控制算法,显示精确到0.1℃ 。
4、当温度超过预设温度±5℃时,会发出声音报警。
和冷却过程没有线性要求。
6、温度检测部分采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数传7 、人机对话部分由键盘、显示器、报警三部分组成,实现温度显示和报警。
本课程设计系统概述一、系统原理选用AT89C2051单片机作为中央处理器,通过温度传感器DS18B20采集培养箱的温度,并将采集的信号传送给单片机。
驱动培养箱的加热或冷却。
2、系统整体结构总体设计应综合考虑系统的总体目标,进行初步的硬件选型,然后确定系统的草案,同时考虑软硬件实现的可行性。
经过反复推敲,总体方案确定以爱特梅尔公司推出的51系列单片机为温度智能控制系统核心,选用低功耗、低成本的存储器、数显等元器件。
总体规划如下:图1 系统总体框图2、硬件单元设计一、单片机最小系统电路Atmel公司的AT2051作为89C单片机,完全可以满足本系统所需的采集、控制和数据处理的需要。
单片机的选择在整个系统设计中非常重要。
该单片机具有与MCS-51系列单片机兼容性高、功耗低、可在接近零频率下工作等诸多优点。
广泛应用于各种计算机系统、工业控制、消费类产品中。
AT 89C2051 是 AT89 系列微控制器中的精简产品。
单片机DS18B20水温控制系统设计
单片机DS18B20水温控制系统设计一.引言在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A/D转换器能接收的模拟量,再经过采样/保持电路进行A/D 转换,最终送入单片机及其相应的外围电路,完成监控。
但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。
本文介绍单片机结合DS18B20水温控制系统设计,因此,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。
目录一.引言...二.设计目的...三.系统功能...四.系统设备...五.温度控制总体方案与原理...1.系统模块图...2.系统模块总关系图...六.温度转换核心及其算法...1.温度传感器DS18B20原理与特性...DSl8B20的管脚及特点...DS18B20的内部结构...DS18B20的内存结构...DS18B20的测温功能...DSl820工作过程中的协议...温度传感器与单片机通讯时序...2.温度转换算法及分析...七.硬件设计说明...1.系统总体电路图...2.各个模块电路图...输入系统...输出系统...芯片系统...八.软件设计说明...1.总模块的流程图...2.各个模块的流程图...读取温度DS18B20模块的流程...键盘扫描处理流程...九.操作指引...按键功能...显示温度...设定温度...十.参考文献...程序源代码...二.设计目的设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。
水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。
利用单片机AT89S52实现水温的智能控制,使水温能够在40-90 度之间实现控制温度调节。
利用仪器读出水温,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或降温),而且能够将温度显示在我们的七段发光二极管板上。
DS18B20数字温度计设计实验报告(1)【范本模板】
单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名: 李成学号:133010220指导老师:周灵彬设计时间: 2015年1月目录1. 引言 (3)1。
1.设计意义31.2。
系统功能要求32。
方案设计 (4)3. 硬件设计 (4)4. 软件设计 (8)5。
系统调试106. 设计总结 (11)7. 附录 (12)8. 参考文献 (15)DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:●硬件电路复杂;●软件调试复杂;●制作成本高.本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为—55~125℃,最高分辨率可达0。
0625℃。
DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。
1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在0~125℃,误差在±1℃以内,采用LED数码管直接读显示.2. 方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路.数字温度计总体电路结构框图如4。
1图所示:图4.13。
硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED 数码管以动态扫描法实现温度显示。
AT89C51 主 控制器 DS18B20 显示电路 扫描驱动主控制器单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用.系统可用两节电池供电。
AT89C51的引脚图如右图所示:VCC:供电电压。
温度控制系统设计
温度控制系统摘要 : 随着微机测量和控制技术的迅速开展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元,以 DS18B20为温度传感器的温度控制系统。
该控制系统可以实时存储相关的温度数据并记录当前的时间。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、 LCD 液晶显示电路以及通讯模块电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、 LCD 显示程序以及数据存储程序等。
关键词:STC89C52, DS18B20,LCDAbstract:Along with the computer measurement and control technology of the rapid development and wide application,based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC89C52 describes a kind ofmainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and recordrelated to the current time. System design related hardware circuit and related applications. STC89C52 microcontroller hardware circuit include temperaturedetection circuit smallest system, and real-time clock circuit, LCD displaycircuit, communication module circuit, etc. System programming mainly includemain program,read temperature subroutine,the calculation of temperature subroutines, LCD display procedures and data storage procedures, etc.Keywords: STC89C52, DS18B20,LCD目录1前言 (1)2总体方案设计 (2)方案设计 (2)方案论证 (3)方案选择 (3)3单元模块的设计 (4)单片机模块 . (4)18B20 温度模块 (5)显示器模块 . (6)4软件设计 (7)系统总框图 (7)温度采集子程序 (8)5系统功能与调试方法介绍 (9)系统功能 (9)系统指标 (9)系统调试 (9)6参考文献 (10)附录 1:相关设计图 (11)附录 2:元器件清单 (13)附录 3:源程序 (14)1前言工业控制是计算机的一个重要应用领域,计算机控制系统正是为了适应这一领域的需要而开展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。
DS18B20多点温度检测系统的设计
目录摘要2 ABSTRACT 3 第一章绪论4 §1.1 系统背景4 §1.2 系统概述4 第二章方案论证5 §2.1 传感器部分5 §2.2 主控制部分6 §2.3 系统方案6 第三章硬件电路设计7 §3.1 电源以及看门狗电路7 §3.2 键盘以及显示电路9 §3.2 温度测试电路11 §3.3 串口通讯电路15 §3.4 整体电路16 第四章软件设计16 §4.1 概述16 §4.2 主程序方案16 §4.3 各模块子程序设计18 第五章系统调试20 §5.1 分步调试20 §5.2 统一调试20 结束语21 参考文献22 附录一:软件流程图24 附录二:电路原理图25 致谢27多点温度检测系统设计作者:谭诗炜(电信200201 班)指导老师:冯杰摘要DS18B20 是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠.本文结合实际使用经验,介绍了DS18B20 数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图.该系统由上位机和下位机两大部分组成.下位机实现温度的检测并提供标准RS232 通信接口芯片使用了ATMEL 公司的AT89C51 单片机和DALLAS 公司的DS18B20 数字温度传感器上位机部分使用了通用PC.该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域关键字:温度测量;单总线;数字温度传感器;单片机AbstractAs a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper introduces the application of DS18B20 with single chip processor.The system is constituted by two parts the temperature measured part and displayed part. The temperature measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .This system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.Key words:temperature measure;single bus;digital thermometer;single chip processor;第一章绪论§1.1 系统背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位.首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测•温度检测系统应用十分广阔.§1.2 系统概述本设计运用主从分布式思想,由一台上位机(PC 微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统.该系统采用RS-232 串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集•温度值既可以送回主控PC进行数据处理由显示器显示.也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制. 下位机采用的是单片机基于数字温度传感器DS18B20 的系统.DS18B20 利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便而且适合于在恶劣的环境下进行现场温度测量.本系统可以应用在大型工业及民用常温多点监测场合.如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械…等•第二章方案论证温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等.若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理.这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降.所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计.温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首.§2.1 传感器部分采用热敏电阻,可满足40 摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1 摄氏度的信号是不适用的.而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35 等.但这些芯片输出的都是模拟信号,必须经过A/D 转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度.方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD 转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题.采用数字温度芯片DS18B20 测量温度,输出信号全数字化.便于单片机处理及控制,省去传统的测温方法的很多外围电路.且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好.在0—100 摄氏度时,最大线形偏差小于1摄氏度.DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS1820 和微控制器AT89C51 构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接.这样,测温系统的结构就比较简单,体积也不大且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量•轻松的组建传感器网络.采用温度芯片DS18B20 测量温度,可以体现系统芯片化这个趋势•部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快•而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度.所以集成芯片的使用将成为电路发展的一种趋势.本方案应用这一温度芯片,也是顺应这一趋势.§2.2 主控制部分此方案采用PC机实现.它可在线编程,可在线仿真的功能,这让调试变得方便•且人机交互友好但是PC机输出信号不能直接与DS18B20通信•需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便.而且在一些环境比较恶劣的场合,PC 机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!此方案采用AT89C51 八位单片机实现•单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制•而且体积小,硬件实现简单,安装方便•既可以单独对多DS18B20 控制工作,还可以与PC 机通信•运用主从分布式思想,由一台上位机(PC 微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制•另外AT89C51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟•§•3系统方案综上所述,温度传感器以及主控部分都采用第二方案•系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想•设计一种可以用于大规模多点温度测量的巡回检测系统•该系统采用的是RS-232 串行通讯的标准,通过下位机(单片机)进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点•实际采用电路方案如下图:第三章硬件电路设计系统底层电路的功能主要包括:多点温度测试及其相关处理,实时显示温度信息,与上位机通讯传输温度数据•硬件设计主要包括以下几个模块:电源以及看门狗电路,键盘以及显示电路,温度测试电路,串口通讯电路•下面对电路分模块进行说明§3.1电源以及看门狗电路a. 电源电路因为单片机工作电源为+5V,且底层电路功耗很小•采用7805三端稳压片即可满足要求• 具体电路图如下:b. 看门狗电路考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机…等一些不可预知的不正常工作现象•工作人员也不可能到现场对单片机重起,本设计为单片机电路添加一个外部看门狗电路•定时查询单片机的工作状态,一但发现异常即对单片机延时重起•保证系统安全可靠的运行•NE56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为4.2V •在电源突然掉电或电源电压下降到低于门限电平时.NE56604将产生精确的复位信号.NE56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行•看门狗能产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作.NE56604 的看门狗的监控周期为100mS(典型值).特性.正负双逻辑输出的有效复位信号..精准的门限电平监测..上电复位内部延时..可利用外部电阻调节的内部看门狗定时器..看门狗定时器的监控周期为100mS 典型值..VCC=0.8VDC 时产生有效的复位信号典型值. .仅需很少的外围元件.具体电路图如下:§3.2 键盘以及显示电路键盘电路单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据.键盘有编码和非编码两种.非编码键盘硬件电路极为简单.故本系统采用拨码开关来控制.具体电路如下:A. 开关状态的可靠输入键开关状态的可靠输入有两种解决方法.一种是软件去抖动:它是在检测到有键按下时,执行一个10ms 的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响.另一种为硬件去抖动:即为按键添加一个锁存器.两种方法都简单易行,本设计采用的是硬件去抖.B. 对按键进行编码给定键值或给出键号对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值以实现按键功能程序的散转转移.为使编码间隔小, 散转入口地址安排方便, 常采用依次序排列的键号.拨码开关值含义0000 实时显示通道一的温度值0001 实时显示通道二的温度值0010 实时显示通道三的温度值0011 实时显示通道四的温度值0100 实时显示通道五的温度值0101 实时显示通道六的温度值0110 实时显示通道七的温度值0111 实时显示通道八的温度值1*** 自动循环显示所有通道的温度C. 选择键盘监测方法对是否有键按下的信息输入方式有中断方式与查询方式两种.本设计采用的查询法,即在在CPU 空闲时调用键盘扫描子程序.温度显示电路设计采用的是共阴极七段数码管.显示方式有动态扫描和静态显示,两种方法在本设计中皆可由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算.本人采用是节约硬件资源的动态扫描方式.即用两块芯片就可以完成显示功能.显示数据由4511 译码器输出,ULN2003 为位驱动扫描信号.具体电路图如下:§3.2 温度测试电路这里我们用到温度芯片DS18B20.DS18B20 是DALLAS 公司生产的一线式数字温度传感器, 具有3引脚TO-92小体积封装形式•测温分辨率可达0.0625C,被测温度用符号扩展的16位数字量方式串行输出.其工作电源既可在远端引入,也可采用寄生电源方式产生.CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路•DS18B20支持一线总线”接口,测量温度范围为-55 C~+125°C,在-10~+85 °范围内精度为±).5 °现场温度直接以一线总线”的数字方式传输,大大提高了系统的抗干扰性•适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等•DS18B20 内部结构(1) DS18B20 的内部结构如下图所示•DS18B20 内部结构图DS18B20 有4 个主要的数据部件:①64位激光ROM.64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H) 组成•②温度灵敏元件•③非易失性温度报警触发器TH和TL.可通过软件写入用户报警上下限值.④配置寄存器•配置寄存器为高速暂存存储器中的第五个字节•DS18B20 在0 工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示•TM R1 R0 1 1 1 1 1MSB DS18B20 配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R仁1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率• 配置寄存器与分辨率关系表:R0 R1 温度计分辨率/bit 最大转换时间/us0 0 9 93.750 1 10 187.51 0 11 3751 1 12 750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如下图所示.当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第1 个字节.单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示.对应的温度计算:当符号位S=0时, 直接将二进制位转换为十进制;当S=1 时,先将补码变为原码,再计算十进制值.温度低位温度高位TH TL 配置保留保留保留8 位CRCLSB DS18B20 存储器映像图MSB温度值格式图DS18B20 温度数据表:23 22 21 20 2-1 2-2 2-3 2-4MSB LSBS S S S S 26 25 24典型对应的温度值表:温度/c二进制表示十六进制表示+125+25.0625+10.125+0.5-0.5-10.125-25.0625-55 00000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 10010000 07D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90HDS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成. 硬件连接电路如下图:本系统为多点温度测试.DS18B20 采用外部供电方式,理论上可以在一根数据总线上挂256 个DS18B20, 但时间应用中发现,如果挂接25 个以上的DS18B20 仍旧有可能产生功耗问题.另外单总线长度也不宜超过80M, 否则也会影响到数据的传输.在这种情况下我们可以采用分组的方式,用单片机的多个I/O 来驱动多路DS18B20. 在实际应用中还可以使用一个MOSFET 将I/O 口线直接和电源相连,起到上拉的作用.对DS18B20 的设计, 需要注意以下问题(1) 对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成.编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写.尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高.(2) 有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量.(3) 测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线, 屏蔽层在源端单点接地.DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND 接在一起,焊接牢固若VCC脱开未接传感器只送85.0 C的温度值.⑷实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离.另外还应根据实际情况选择其接线拓扑结构.§3.3 串口通讯电路AT89C51 有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯.进行串行通讯时要满足一定的条件,比如电脑的串口是RS232 电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232 进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠.具体电路如下:我们采用了三线制连接串口,也就是说和电脑的9 针串口只连接其中的3 根线:第5 脚的GND 、第2 脚的RXD 、第3 脚的TXD. 这是最简单的连接方法,但是对本设计来说已经足够使用了,电路如上图所示.通信线采用交叉接法,即两者信号线对应成为R—T,T—R. 具体连接电路如下:§3.4 整体电路见附件二(电路原理图)第四章软件设计§4.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了.从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心专门用来协调各执行模块和操作者的关系.二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等.每一个执行软件也就是一个小的功能执行模块.这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义.各执行模块规划好后就可以规划监控程序了.首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系.§4.2 主程序方案主程序调用了 4 个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与PC机串口通讯程序.键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及相关处理温度测试程序: 对温度芯片送过来的数据进行处理,进行判断和显示数码管显示程序:向数码的显示送数,控制系统的显示部分. 中断控制程序: 实现循环显示功能.串口通讯程序:实现PC 机与单片机通讯,将温度数据传送给PC 机.将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O 冲突即可.程序应该尽可能多的使用调用指令代替跳转指令.因为跳转指令使得程序难以看懂各程序段之间的结构关系.而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便.将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到, 就可以直接调用这个单元功能模块.主程序流程图如右图:§4.3 各模块子程序设计下面对主要几个子程序的流程图做介绍:(1) 温度测试子程序设计见附录一:温度测试子程序流程图(2) 中断控制程序设计如右图:(3) 串口通信程序设计本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232 的RTS 信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯.本人采用的VB环境下PC机与单片机之间实现串行通讯的软硬件方案.VB是Microsoft公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件.MSComm控件串口具有完善的串口数据的发送和接收功能•通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯.此控件的事件响应有两种处理方式.事件驱动方式:由MSComm 控件的OnComm 事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent 属性的值来判断事件和错误.1) MSComm 控件的主要属性和方法a. CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为1b. Sett ing:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位c. PortOpe n:打开或关闭串行端口d. RThreshold: 该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml-OnComm 事件.e. In put :从接收缓冲区移走一串字符.f. Output: 向发送缓冲区传送一字符串. 软件流程图如下:单片机程序流程图PC 通讯程序流程图参数设定:通信端口选择COM1,波特率设定为1200B/SmPort=1MSComm.Setting= “1200, n, 8, 1 ”.START: MOV SP,#60HMOV TMOD,#20HMOV TH1,#0E6HMOV TL1,#0E6H ;1200B/S,晶振为12MHZMOV PCON,#00HMOV SCON,#50HSETB TR1第五章系统调试§5.1 分步调试1 、测试环境及工具测试温度:0~100摄氏度.(模拟多点不同温度值环境)测试仪器及软件:数字万用表,温度计0~100 摄氏度,串口调试助手测试方法:目测.2、测试方法使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等).系统自带测试表格数据,观察显示数据是否相符合即可. 采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点), 目测显示电路是否正常.并记录各点温度值,与实际温度值比较,得出系统的温度指标. 使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否.3、测试结果分析自检正常,各点温度显示正常,串口传输数据正确.因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定.§5.2 统一调试将硬件及软件结合起来进行系统的统一调试.实现PC 机与单片机通讯,两者可以实时更新显示各点温度值.结束语AT89C51的时钟为12M,I/O 口可达32个,高的时钟频率和丰富的I/O,都为实现电路功能提供了非常有利的条件.同时也AT89C51 内含4KB FLASH ROM, 开发环境友好,易用,方便,大大加快本系统设计开发.拨码开关的使用,使操作更为简洁,易懂.实时显示电路的设计,使温度信息更迅速,直观地发布.本制作的设计中使用了传感器的只是插座电路,因此,该系统的可扩展性很强.整个系统硬件简单、可靠,系统成本低.致此本人设计基本完成了预期的目标,系统在硬件自动测试,键盘操作,实时显示方面做的比较好.但是由于时间仓促、条件有限,设计成果并不是很完美,还存在下面问题:串口通讯不稳定未对温度数值统计处理以及存储.我准备在今后的工作过程中进一步完善此设计.参考文献[1] .贾振国.DS1820及高精度温度测量的实现[J].电子技术应用,2000(1):58 - 59.[2] . 余永权. 单片机原理及应用. 北京:电子工业出版社, 1997[3] . 邦田. 电子电路实用抗干扰技术. 北京: 人民邮电出版社,1994[4] . Dallas semiconductor inc,ds18b20 programmable resolution 1 —wiredigital thermometer 2001[Z] .[5] . 曲喜贵. 电子元件材料手册[ M]. 北京:电子工业出版社,1989.422-430.[6] . 黄贤武,郑筱霞,曲波等. 传感器实际应用电路设计[M]. 成都:电子科技大学出版社,1997.4-10.[7] . 刘君华. 智能传感器系统[M] . 西安:西安电子科技大学出版社,1999.[8] . 余永权. Flash 单片机原理及应用[M]. 北京:电子工业出版社,1997.[9] . 邦田. 电子电路实用抗干扰技术[M] . 北京:人民邮电出版社,1994.[10] . 周云波. 由DS18B20 单线数字温度计构成的单线多点温度测量系统. 电子技术应用,1996(2):15- 20.[11] . 吉鹏,马云峰等. 微机原理与接口技术[M]. 北京:高等教育出版社,2001.[12] . 振国. DS1820 及高精度温度测量的实现[J] . 电子技术应用,2000 (1) .[13] . 东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用[J]. 传感器世界,2001(12):30- 33.[14] . 月霞,孙传友. DS18B20 硬件连接及软件编程[J]. 传感器世界,2001(12):25- 29.[15] . 一线数字温度传感器资料[M]. 武汉:武汉力源电子有限公司,1996.[16] . 贤武,郑霞,曲波. 传感器实际应用电路设计[M]. 成都:电子科技大学出版社,1997.[17] . 伟正. 单线数字温度传感器的原理与应用[1]. 电子技术应用,2000,6.66-68[18] . DALLAS 公司.DS18B20 数据手册[Z][19] . 周月霞,孙传友. DS18B20 硬件连接及软件编程[J]. 传感器世界,2001,(12).[20] . 单线数字温度传感器资料[M]. 武汉:武汉力源电子有限公司,1996.[21] . 贾东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用[J]. 传感器世界,2001(12).[22] . 余永权. ATMEL 89 系列单片机应用技术[M]. 北京:北京航空航天大学出版社2002.[23] . 胡汉才. 单片机原理及系统设计[M]. 北京:清华大学出版社,2002[24] . 李更祥. 单总线数字式智能型温度传感器在测控领域中的应用[J]. 计算机自动测量与控制,1999,7(3):51-53.[25] . 忠梅. 单片机的C 语言应用程序设计[M]. 北京:北京航空航天大学出版社,1997。
DS18B20 测温系统
电子综合实践设计报告专业班级:学生姓名:指导教师:设计时间:物理与通信电子学院摘要DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单、体积小、低功耗、高精度、抗干扰能力强等特点的数字温度传感器。
本设计采用多点测温方法,在一个IO口上挂接多个DS18B20测温,在远距离工作时,为了防止信号的衰减,DS18B20用屏蔽双绞线包裹,远端接地的方法工作,并把所测得的温度在LCD上显示出来。
文中简要的介绍了DS18B20的基本特点、引脚功能、测温原理及时序的控制。
给出了DS18B20的使用电路、使用中的注意事项、硬件及软件设计方法。
经过测试,该系统的测量精度及速度等指标均能满足设计要求。
关键词:DS18B20 测温系统数字温度传感器多点测温目录摘要 (2)1 引言 (4)2 设计要求 (4)3 方案设计与原理 (4)3.1 DS18B20 简介 (4)3.1.1 DS18B20特性 (4)3.1.2说明: (5)3.1.3 DS18B20测温原理: (5)3.1.4 DS18B20测温原理图: (6)3.1.5 64位激光刻ROM (7)3.1.6 CRC发生器 (7)3.1.7 单总线系统 (7)3.2 DS18B20指令控制 (7)3.2.1 ROM时序指令控制 (8)3.2.2DS18B20功能指令控制 (8)3.3 18B20时序详解 (9)3.3.1初始化时序 (9)3.3.2读/写时序 (9)3.4二叉树遍历 (11)4 设计程序流程图: (16)5 设计硬件原理图 (17)6 DS18B20使用中应注意事项 (18)7测试中出现的问题及解决办法和说明: (18)8 结束语 (19)9 参考文献: (20)10 附录: (21)1 引言本系统利用DS18B20进行测温,基于单片机AT89S52进行温度控制,具有硬件电路简单,控温精度高、功能强,体积小,简单灵活等优点,可以应用于控制温度在-55℃到+125℃之间的各种场合,可以实现温度的实时采集、显示功能。
微波干燥恒温控制系统的设计——基于ds18b20数字温度传感器
2012年2月农机化研究第2期微波干燥恒温控制系统的设计一基于D Sl8B20数字温度传感器陈霖,苏烨,傅秋茗,王治平,莫愁(四川农业大学信息与工程技术学院,四川雅安625014)摘要:利用D Sl8820数字温度传感器对微波加热室内进行实时温度监测,以A T89$52单片机及相关电子元件为核心控制微波加热过程,读取实时温度,比较温度区间。
通过断开、闭合微波炉工作电源,使其始终保持在预设温度区间内,进而实现微波干燥恒温控制。
试验结果显示,使用该系统干燥的作物样品品质明显优于微波场直接干燥的作物品质。
试验表明,该系统能够实现其预定功能。
关键词:微波干燥;恒温;自动控制;数字温度传感器中图分类号:s226.6;S126文献标识码:A文章编号:1003—188X(2012)02-0193-040引言微波是一种具有穿透特性的电磁波,可产生高频电场。
微波加热利用的是介质损耗原理,水分子是极性分子,在微波作用下其极性随着外电磁场的变化而变化,高速运动的水分子急剧摩擦、碰撞,使物料产生热化和膨化等一系列过程,从而达到微波加热的目的。
目前,微波干燥技术以其速度快、时间短、样品温度低、整体加热等优点,在食品、中药、化学等行业中的应用越来越广泛¨。
5J。
微波干燥过程中的温度对于样品的加工时间和最终加工品质具有重要的影响。
但是微波干燥时温度的测量及控制仍然不够成熟,没有一种有效的方法可以对微波场中的温度准确测量【6】。
为此,笔者设计了一种新的微波干燥自动控制系统,采用D Sl8820数字温度传感器进行干燥室内的实时监测,使用A T89S52单片机对系统进行温度控制,使其工作在一定的预设区间内,从而获得更好的作物品质。
1原理及结构1.1恒温控制原理根据微波炉工作原理,其工作方式可分为连续式和间歇式。
当采用连续式工作方式时,很容易使微波炉磁控管工作电压、电流超过额定值,致使其工作电压上下波动,甚至使磁控管停止工作,而采用间歇式收稿日期:2011-04-13基金项目:四川农业大学双支计划项目(2009)作者简介:陈霖(1969一),女,四川汉源人,副教授,(E—m ai l) l i nge he nl21@163.cor n。
(完整word版)DS18B20水温控制系统+电路图程序
水温控制系统摘要:该水温控制系统采用单片机进行温度实时采集与控制。
温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在-10~+85°C范围内,固有测温分辨率为0.5 ℃。
水温实时控制采用继电器控制电热丝和风扇进行升温、降温控制.系统具备较高的测量精度和控制精度,能完成升温和降温控制。
关键字:AT89C51 DS18B20 水温控制Abstract: This water temperature control system uses the Single Chip Microcomputer to carry on temperature real-time gathering and controling。
DS18B20,digitized temperature sensor, provides the temperature signal by "a main line”. In -10~+85℃the scope,DS18B20’s inherent measuring accuracy is 0.5 ℃. The water temperature real-time control system uses the electricity nichrome wire carring on temperature increiseament and operates the electric fan to realize the temperature decrease control。
The system has the higher measuring accuracy and the control precision,it also can complete the elevation of temperature and the temperature decrease control. Key Words:AT89C51 DS18B20 Water temperature control目录1.系统方案选择和论证 (2)1。
DS18B20温度控制系统设计
DS18B20温度控制系统设计【摘要】本设计通过以stc89c52单片机为核心,控制温度传感器ds18b20采集温度信号并直接以数字信号的方式传送给单片机,所测量结果由lcd1602显示出来,单片机将检测的温度与预先设定的温度值进行比较,该设定温度可以通过按键以1℃为单位进行调节。
当所测温度超过设定的温度值时,单片机将控制一个发光二极管和一个蜂鸣器进行声光报警,同时控制一个继电器的通断,达到简单调温的目的。
【关键词】单片机;ds18b20;lcd1602;声光报警一、功能简介本设计主要是以数字温度传感器ds18b20采集温度信号,将采集到的温度信号送给stc89c52单片机。
单片机将检测的温度与预先设定的温度值进行比较,该设定温度可以通过两个按键以1℃为单位进行调节。
当超过设定的温度值时,单片机将控制一个发光二极管和一个蜂鸣器进行声光报警,同时控制一个继电器的通断,达到简单调温的目的。
按模块可分为:(1)报警控制模块(2)温度采集模块(3)显示模块。
温度检测及显示要求实现以下功能:(1)用lcd直接显示读数、显示清晰直观。
(2)温度测量范围:0-100℃。
(3)可通过按键实现调节报警温度大小,单位1℃。
(4)精确度高。
(5)稳定性好。
二、方案简介理简单化。
采用温度芯片ds18b20测量温度,体现了作品芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
单片机温度控制系统是以ms-52单片机为控制核心,报警电路对温度监控的微机控制系统。
基本控制原理:ds18b20检测温度并将信号传送给单片机通过lcd显示出来,键盘设定温度上下限值,当所测温度超出所设置的初始温度时,报警装置响起,同时控制一个继电器的通断,达到简单调温的目的。
三、温度传感器的选取及特性选用美国dallas公司推出的一款单线数字温度传感器,此器件具有体积小,功耗低,精度高,可靠性好,易于单片机接口等优点其各方面特性都满足此系统的设计要求。
基于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是一种数字温度传感器,由美国达拉斯半导体公司生产。
它采用单总线通信协议,并可以通过单总线接口进行多级串联。
DS18B20具有精度高、稳定性好、响应速度快等特点,因此在各种温度测量应用中被广泛使用。
二、DS18B20温度计设计代码在使用DS18B20温度传感器时,我们通常需要编写相应的代码来读取传感器的数据并进行温度计算。
以下是基于Arduino评台的DS18B20温度计设计代码:```c#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 2 // 设置DS18B20数据线连接的Arduino 引脚OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup() {Serial.begin(9600);sensors.begin();}void loop() {sensors.requestTemperatures(); // 发送获取温度命令float temperatureC = sensors.getTempCByIndex(0); // 获取温度值(摄氏度)float temperatureF = sensors.toFahrenheit(temperatureC); // 转换为华氏度Serial.print("Temperature: ");Serial.print(temperatureC);Serial.print("°C / ");Serial.print(temperatureF);Serial.println("°F");delay(1000); // 延时1s}```以上代码使用了OneWire库和DallasTemperature库来实现对DS18B20的温度测量。
温度控制DS18B20器实验
温度控制DS18B20器实验DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C 。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20、DS1822 的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B 20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
(完整word版)基于单片机的DS18B20设计实验报告
第1章引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。
其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。
因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。
本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。
本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。
该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.第2章任务与要求2.1测量范围-50~110°C,精确到0.5°C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章方案设计及论证3.1温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。
而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。
3.2显示模块的设计及论证LED是发光二极管Light Emitting Diode 的英文缩写。
LED显示屏是由发光二极管排列组成的一显示器件。
基于DS18B20的温度控制系统的设计
统。
2 . 2温度采集电路的设计 该 系统采用半导体温度传感器作为敏感元件。 传感器我们采 用
图 3 键 控 单 元 硬 件 电路
了D S 1 8 B 2 0 单 总线可编程温度传 感器, 来 实现对温度 的采集 和转 换, 直接输 出数字量 , 可以直接 和单 片机进行通讯 , 大大简化 了电路
的复 杂度 。D S 1 8 B 2 0应 用广泛 ,性能 可 以满 足题 目的设 计要 求 。 D S 1 8 B 2 0的与单片机的接 口连接电路图如图 2 所示 。
稳定 的设定值 ( 在一定温 度误差范 围内) 。 2 . I 单 片 机 的选 择
图2 D S 1 8 B 2 0的与 单 片 机 的 接 口连 接 电 路 图
P r ¨
单 片机 采用 A T 8 9 C 5 1 作为 本控 制系统 的核心 器件 , A T 8 9 C 5 1 基本型单片机由 C P U系统( 8 位C P U 、 时钟电路、 总线控制) 、 存储系 统 ( 4 K B的程序 存 储器 、 i 2 8 B的数 据存 储 器 、特 殊 功 能寄 存 器 S F R ) 、 I / O 口( 4 个并行 I / O 口) 其他单元 ( 2 个1 6 位定时 / 计数 器 、 1
其测温电路的实现是依靠单片机软件 的编程实现 的。 当
D S I 8 B 2 0 接收到温度转换命令后 , 开始启动转换 。转换 完成后 的温 度值 就以 1 6 位带符号扩展的二进制补码形式存储在高速暂存存储 器的 0 , 1 字节 。单 片机可通 过单线接 口 读 到该 数据 , 读 取时低位在 前, 高位在后 , 数据格式以0 .0 6 2 5 ℃/ L S B 形式表示, D S I 8 B 2 0 完 成温度转换后 , 就把测得的温度值( r r ) 与设定值f fH ) 做 比较 , 若T > T H 或T < T L , 则将 该器件内的告警标志置位 , 并对主机发 出的报警搜索 图 4显 示单元的硬件 电路图 命令做出响应。 调节 、测试则是将独立三键以简单 的硬件 电路与软件程序结合 , 看 2 . 3 键控单元电路的设计 是否能实现其在程序设计 中的按键功能 。如图 3 所示 。 键控单元 电路是以独立 的三键方式实现对 系统 温度 的设 定与
基于单片机的温度控制系统设计
基于单片机的温度控制系统设计温度控制系统是现代生活中不可或缺的一部分,常见于家庭的的空调、电饭煲、烤箱等家用电器,以及工业生产中的各种自动化设备。
本文基于单片机设计针对室内温度控制系统的实现方法进行说明,包括温度采集、温度控制器的实现和人机交互等方面。
一、温度采集温度采集是温度控制系统的核心部分。
目前比较常见的温度采集器主要有热电偶、热敏电阻和半导体温度传感器。
在本文中我们以半导体温度传感器为例进行说明。
常见的半导体温度传感器有DS18B20、LM35等,本次实验中采用DS18B20进行温度采集。
DS18B20是一种数字温度传感器,可以直接与单片机通信,通常使用仅三根导线连接。
其中VCC为控制器的电源正极,GND为电源负极,DATA为数据传输引脚。
DS18B20通过快速菲涅耳射线(FSR)读取芯片内部的温度数据并将其转换为数字信号。
传感器能够感知的温度范围通常为-55℃至125℃,精度通常为±0.5℃。
为了方便使用,DS18B20可以通过单片机内部的1-Wire总线进行控制和数据传输。
具体实现方法如下:1.首先需要引入相关库文件,如:#include <OneWire.h> //引用1-Wire库#include <DallasTemperature.h> //引用温度传感器库2.创建实例对象,其中参数10代表连接传感器的数字I/O引脚:OneWire oneWire(10); //实例化一个1-Wire示例DallasTemperature sensors(&oneWire); //实例化一个显示温度传感器示例3.在setup中初始化模块:sensors.begin(); // 初始化DS18B204.在主循环中,读取传感器数据并将温度值输出到串口监视器:sensors.requestTemperatures(); //请求温度值float tempC = sensors.getTempCByIndex(0); // 读取温度值Serial.println(tempC); //输出温度值二、温度控制器的实现温度控制器是本次实验的关键部件,主要实现对温度的控制和调节,其基本原理是根据温度变化情况来控制输出电压或模拟脚电平,驱动继电器控制电器设备工作。
恒温控制系统设计
恒温控制系统设计摘要本设计基于AT89C51和DB18B20来实现温度控制器的制作,它以89C51单片机为核心,配以DS18B20(数字温度传感器),LED灯(模拟对温度的控制系统),数码管来作为实时问的的显示。
系统的设计思路比较简单,且易于实施。
在硬件设计方面,由AT89C51、DS18B20(数字温度传感器)、数码管,小风扇,金属膜电阻构成的电路,在软件方面,以单片机和DS18B20数字温度传感器为中心,详细的阐述了系软件设计的思想,主流程图以及相应电路模块的流程图。
关键词:DS18B20传感器,AT89C51,温度处理,程序目录1 绪论 (1)2 相关芯片的介绍 (2)2.1AT89C51芯片 (2)2.2DS18B20数字温度传感器 (3)2.2。
1 DS18B20的基本介绍 (3)2.2.2 DS18B20指令以及读写 (4)3 硬件电路设计 (6)3。
1主控制电路设计 (6)3.2外围接口电路 (6)4 软件系统软件设计 (8)4.1软件系统设计 (8)4.2程序组成 (8)4。
3总程序 (11)5 实时仿真 (19)总结 (22)致谢 (23)参考文献 (24)1 绪论随着电子技术,特别是随大规模集成电路的产生而出现的微型计算机技术的飞速发展,人类生活发生了根本性的改变。
如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张地说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。
目前,单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性能价格比、开发较为容易,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走人家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。
因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
本课题研究的内容就是以单片机为主要控制元件,通过温度传感器,实现对温度的测量,并通过数码管直接显示所测温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用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)使用的元器件
器件 数量(件) AT89C52 1 DS18B20 1 74HC573 2 排阻 1 小功率扬声器 1
二极管 4 数码管 3 10K 电阻 1 导线 若干 VCC 电源 1
(2)DS18B20 器件说明
DS18B20:电压范围3.0~5.5V ;温度可测范围-55~+125℃;可编程分辨率为9~12位,对应的可分辨温度为:0.5℃、0.25℃、0.125℃和0.0625℃;测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU ,同时可传送CRC 校验码,具有极强的抗干扰纠错能力。
其引脚定义图如下图:
(3) 硬件连接图
引脚 定义 GND 电源负极 DQ 信号输入输出 DD V 电源正极
硬件连接图如上图:
1.3 工作原理
首先看控制DS18B20的指令,只列举此设计用到的,如下表:
原理:DS18B20测量外部温度,经过温度转换,将温度物理量转换成数字信号,再传送数据到AT89C52,AT89C52控制数码管显示及二极管、扬声器的工作,从而实现了温度在数码管上显示,还有温度范围的亮灯与报警。
1.4 C 语言编程
见附录
1.5 实验结果
可将环境温度经过DS18B20温度传感器,在数码管上显示,显示准确。
CCH 跳过ROM 44H 温度转换 BEH
读暂存器
附录
#include<reg51.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit ds=P2^2;
sbit 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()
{
uint i;
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。