基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx
- 文档编号:13623027
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:54
- 大小:646.73KB
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx
《基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx》由会员分享,可在线阅读,更多相关《基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx(54页珍藏版)》请在冰点文库上搜索。
基于单片机的DS18B20多点测温系统LCD1602显示完全免费
基于单片机的DS18B20多点测温系统LCD1602显示(完全免费)
————————————————————————————————作者:
————————————————————————————————日期:
河南科技学院
HENANKEJIXUEYUAN
毕业论文(设计)
中文题目:
基于单片机的DS18B20温度传感器测温系统设计
英文题目:
ADesignoftheDS18B20TemperatureTestSystemBasedonMCU
姓名牛鸿昌刘东
学号201018033305
专业班级应用电子技术
指导教师赵小静
提交日期2013年5月20日
教务处制
基于单片机的DS18B20温度传感器测温系统设计
姓名:
**班级:
***
指导老师:
***职称:
**
(惠州学院电子科学系,广东,惠州,516007)
摘要
随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时作出决定。
在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。
本课题以AT89C52单片机系统为核心,能对多点温度进行实时巡检。
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松的组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
关键词:
DS18B20多点测温单片机LCD1602
Abstract
Astheindustryandthesocietydeveloping,thetemperaturebecomesmoreandmoreimportantandalotofproductsaresensitivetotemperature.However,temperaturemeasuringapparatusinthemarketnowonlycancheckandmeasurethetemperatureofonepoint,atthesametime,thetemperatureinformationisnotrealtimeandtheprecisionislow。
Ittakesagreatoftroublesfortheindustry-controllerstomakedecision.Inthissituation,designandimplementoneapplicablesystemwhichcanwatchmeasureandcontrolthetemperatureandthemeasuringresultsisrealtimeandtheprecisionisgreatismoreessential.Inordertomeetingthisapplication,thispapertalkaboutTheMultiple-Point'stemperatureMeasuringSystem。
个人收集整理,勿做商业用途文档为个人收集整理,来源于网络
Thissystembasedonsinglechipcomputer,caninspectandcontrolmultipletemperaturesinrealtime。
Asakindofhigh-accuracydigitalnettemperaturesensor,DS18B20canbeusedbuildingasensorneteasily.Itcanalsomakethenetsimpleandreliablewithit’sspecial1-wireinterface.ThispaperintroducestheapplicationofDS18B20withsinglechipprocessor.
Keywords:
DS18B20Multi-pointtemperatureMCULCD1602
第一章 绪论
1。
1课题背景
在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道.自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。
温度对于工业如此重要,由此推进了温度传感器的发展。
传感器主要大体经过了三个发展阶段:
模拟集成温度传感器.该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。
此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单.它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。
模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。
某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。
但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器.能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的.它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM).智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。
个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途
温度传感器的发展趋势。
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
传感器在温度测控系统中的应用。
目前市场主要存在单点和多点两种温度测量仪表。
对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。
此种产品测温范围大都在—200℃~800℃之间,分辨率12位,最小分辨温度在0.001~0。
01之间。
自带LED显示模块,显示4位到16位不等。
有的仪表还具有存储功能,可存储几百到几千组数据。
该类仪表可很好的满足单个用户单点测量的需要.多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。
针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。
1。
2本课题研究意义
随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、医疗仪器、家用电器等各种温度控制系统中广泛应用,且由过去的单点测量向多测量发展.目前温度传感器有模拟和数字两类传感器,为了克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,大多数多点测温控制系统采用数字传感器,并大大方便了系统的设计。
比较有代表性的数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635、SMT160—30等。
在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。
随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。
美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在—10~+85℃温度范围内具有
0.5℃精度;用户可编程设定9~12位的分辨率。
以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统.
1。
3本课题的任务
本课题主要是实现对温度进行多点同时测量并准确显示。
整个系统由单片机控制,要能够接收DS18B20温度传感器的数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的传感器,并由LCD1602进行温度实时显示。
设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并编写硬件底层驱动程序。
1。
4系统整体目标
利用STC89C52单片机设计一个能够对不同环境多点温度同时进行测量的系统。
该系统能够同时对多个点的温度进行测量采集,通过LCD1602进行实时显示。
第二章方案论证比较与选择
2。
1引言
温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。
对于控制系统可以采用计算机、单片机等。
2。
2方案设计
2。
2.1方案一
方案一DS18B20一对一连接方案,就是一个I/O口连接一个DS18B20,这种方案虽然占用单片机的三个I/O口,但采用这种方案大大的简化了编程难度,缩短了设计周期,同时也能保证系统的稳定,方案一的框图如图2。
1所示。
图2-1DS18B20多I/O口连接方案
2.2.2设计方案二
方案二DS18B20单线连接方案,就是三个DS18B20连接到单片机的一个I/0口上,这种方案只用到单片机的一个I/O口,大大的节约了单片机I/O口资源。
缺点是在时序上比较复杂,DS18B20的编程增加了读ROM程序,搜索ROM和匹配ROM程序。
方案二的框图如图2.2所示。
图2.2DS18B20单线连接方案
2。
3方案的比较与选择
方案一是把DS18B20的三个DQ端分别接到单片机的三个不同的I/O口,这种接法虽然占用的I/O口比较多,但是它的时序比较简单,不需要读取ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序,软件上简化了很多。
方案二是四DS18B20D的四个DQ端接到单片机的一个I/O口。
这种接法在硬件上节省了三个I/O口,在硬件上简化了不少。
但是在软件上时序就增加了难度,需要添加读ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序。
本设计由于功能比较简单I/O口资源丰富,同时时间比较紧张,所以通过两个方案的比较,决定选用方案一.
第三章硬件设计
3。
1STC89C52单片机简介
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
1.时钟电路
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图3.1(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图3。
1(b)所示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
(a)内部方式时钟电路(b)外部方式时钟电路
图3.1时钟电路
2。
复位及复位电路
(1)复位操作
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。
表一寄存器的复位状态
寄存器
复位状态
寄存器
复位状态
PC
0000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
P0—P3
FFH
SCON
00H
(2)复位信号及其产生
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上.若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
产生复位信号的电路逻辑如图3.2所示:
图3.2复位信号的电路逻辑图
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3。
4(a)所示。
这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3。
4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,
其电路如图3.3(c)所示:
(a)上电复位(b)按键电平复位(c)按键脉冲复位
图3.3复位电路
上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。
本系统的复位电路采用图3.3(c)按键脉冲复位方式。
STC89C52具体介绍如下:
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令.
④可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1。
0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2。
0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3。
0~P3。
7
STC89C52主要功能如表二所示。
表二STC89C52主要功能
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0—24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
3。
2DS18B20介绍
3.2。
1 温度传感器DS18B20
DS18B20是美国DSLLAS半导体公司推出的第一篇支持“一线总线"接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串型数字信号供处理器处理.
1.DS18B20温度传感器特性
1)适应电压范围宽,电压范围在3.0~5.5V,在寄生电源方式下可有数据线供电.
2)独特的单线接口方式,它与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信.
3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温.
4)在使用中不需要任何外围元件,全部传感器元件及转换电路集成在形如一只三极管的集成电路内。
5)测温范围—55℃~+125℃,在—10℃~+85℃时精度为±0。
5℃。
6)可编程分辨率为9~12位,对应的可分辨率温度分别为0.5℃,0.25℃,0。
125℃和0.0625℃,可实现高精度测温。
7)在9位分辨率时,最多在93.78ms内把温度转换为数字;12位分辨率时,最多在750ms内把温度转换为数字,显示速度快。
8)测量结果直接输出数字温度信号,以“一线总线”串行送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
9)负压特性.电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2。
应用范围
1)冷冻库、粮仓、储罐、电信机房、电力机房、电缆线槽等测温和控制领域。
2)轴瓦、缸体、纺织、空调等狭小空间工业设备测温和控制.
3)汽车空调、冰箱、冷柜以及中低纬度干燥箱等。
4)供热、制冷管道热量计量、中央空调分户热能计量等。
1。
引脚介绍
DS18B20实物如图3。
5所示。
图3.5实物图
DS18B20有两种封装:
三角TO-92直插式(用的最多、最普遍的封装)和八角SOIC贴片式,封装引脚见图3。
6。
表3.2.1列出了DS18B20的引脚定义。
(a)DS18B20To—92(b)DS18B20八角SOIC
图3。
6DS18B20引脚封装图
引脚
定义
GND
电源负极
DQ
信号输入输出
VDD
电源正极
NC
空
表3。
2.1DS18B20引脚定义
2.硬件连接
①DS18B20寄生电源供电方式
如下面图3.7(a)所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:
在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
独特的寄生电源方式有三个好处:
1)进行远距离测温时,无需本地电源
2)可以在没有常规电源的条件下读取ROM
3)电路更加简洁,仅用一根I/O口实现测温
要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。
因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。
并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。
②DS18B20寄生电源强上拉供电方式
改进的寄生电源供电方式如下面图3。
7(b)所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。
在强上拉方式下可以解决电流供应不足的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换.
③DS18B20的外部电源供电方式
如下面图3。
7(c)所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用3~5.5V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。
注意:
在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。
(a)外部电源供电方式(c)寄生电源供电方式
(b)寄生电源强上拉供电方式
图3。
7
3。
工作原理
硬件电路连接好以后,单片机需要怎么样工作才能将DS18B20中的温度数据读取出来呢?
下面将给出详细分析。
首先我们来看控制DS18B20的指令:
1)33H-读ROM.读DS18B20温度传感器ROM的编码(即64位地址).
2)55H—匹配ROM。
发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20并使之作出响应,为下一步对该DS18B20的读/写做准备。
3)F0H—搜索ROM.用于确定挂接在同一总线上DS18B20的个数,识别64位ROM地址,为操作个器件做好准备。
4)CCH-跳过ROM。
忽略64为ROM地址,直接向18B20发温度转换命令,适用于一个从机工作.
5)ECH-告警搜索命令。
执行后只有温度超过设定值上限或下限的芯片才做出响应。
以上这些指令设计的存储器是64位光刻ROM,表3。
2。
2列出了它的含义.
表3.2。
264位光刻ROM各位定义
64位光刻ROM中的序列号是出厂前被光刻好的,它可以看做该DS18B20的地址序列码。
其各位排列顺序是:
开始8位为产品类型标号,接下来48位是该DS18B20自身的序列号,最后8位是前面56位的CRC循环冗余校验码(CR=X8+X5+X4+1).光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一条总线上挂接多个DS18B20的目的。
下面介绍以上几条指令的用法。
当主机需要对众多在线DS18B20中的某一个进行操作时,首先应将主机逐个与DS18B20挂接,读出其序列号;然后再将所有的DS18B20挂接到总线上,单片机发出匹配ROM命令(55H),紧接着主机提供的64位序列(包括DS18B20的48位序列号)之后的操作就是针对该DS18B20的。
如果主机只对一个DS18B20进行操作,就不需要读取ROM编码以及匹配ROM编码了,只要用跳过ROM(CCH)命令,就可以进行如下温度转换和读取操作。
1)44H—温度转换。
启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93。
75ms).结果存入内部9字节的RAM中。
2)BEH—读暂存器。
读内部RAM中9字节的温度数据。
3)4EH—写暂存器。
发出向内部RAM的2、3字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
4)48H—复制暂存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 DS18B20 多点 测温 系统 LCD1602 显示 完全免费