基于DS18B20的温度报警器设计讲解.docx
- 文档编号:6893275
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:25
- 大小:290.66KB
基于DS18B20的温度报警器设计讲解.docx
《基于DS18B20的温度报警器设计讲解.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的温度报警器设计讲解.docx(25页珍藏版)》请在冰豆网上搜索。
基于DS18B20的温度报警器设计讲解
毕业设计论文
的温度报警器设计基于DS18B20
电子信息工程系系
姓名电子信息工程技术康志凌专业
1201043206学号122班级电子信息
职称讲师指导教师徐敏N
2015.04.082014.10.08设计时间-
基于DS18B20的温度报警器设计
摘要
本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。
它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。
本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。
本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
关键词:
AT89C51,DS18B20,传感器,温度报警器I
江苏信息职业技术学院毕业设计(论文)
目录摘要...................................................................................................................................................I
目录.................................................................................................................................................II
第1章引言...................................................................................................................................1
第2章方案设计...........................................................................................................................2
第3章DS18B20简介....................................................................................................................3
3.1DS18B20性能指标..........................................................................................................3
3.2DS18B20的封装及内部结构..........................................................................................4
3.3DS18B20工作原理及应用..............................................................................................4
3.4控制器对DS18B20操作流程.........................................................................................5
第4章硬件电路设计.....................................................................................................................7
4.1AT89C51...........................................................................................................................8
4.2晶振电路.........................................................................................................................9
4.3复位电路.........................................................................................................................9
4.4报警电路.......................................................................................................................10
4.574LS245.........................................................................................................................10
4.6显示电路.......................................................................................................................11
第5章软件设计...........................................................................................................................12
5.1主程序模块...................................................................................................................12
5.2程序说明.......................................................................................................................12
第6章仿真结果...........................................................................................................................21
参考文献.........................................................................................................................................23
致谢................................................................................................................................................24
II
DS18B20的温度报警器设计基于
引言第1章
随温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。
人民也迫切需要监测着现代化工农业技术的发展及人民对生活环境要求的提高,在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在.和控制温度世纪工业革命以来,18从事什么工作,无时无刻不在跟温度打着交道。
子哪里,玻璃、水泥、钢铁、石化、工业发展对是否能掌握温度有着绝对的联系。
在冶金、80%的工业部门都不得不靠路这温度的因素。
医药等等行业,可以说几乎我信息科学和航空工业的飞速发展给人们生活甚至国家安全带来了巨大的飞跃。
在我工作期间深刻感觉到温度对焊接工艺的的实习单位是航天八五一一研究所,造成就有可能将电缆或芯片报废掉,重要性,往往只是高了或低了一二摄氏度,严重的损失。
我们也在重要的位置上放置了一个温度测量报警器温度传感器以及温度报警器就显得格外由此可见温度对我们工作生活的重要性,重要。
1
江苏信息职业技术学院毕业设计(论文)
方案设计章第2
本设计主要元件有AT89C51、DS18B20、数码管等,其中由AT89C51作为控制器,DS18B20测量温度,再通过74LS245把AT89C51单片机芯片所处理和转化的数据传输到数码管中。
当DS18B20感知到温度达到高于70℃或低于-20℃临界值时相应的LED闪烁,同时蜂鸣器发出报警声。
晶振是正弦波震荡电路,供本设计数字电路整形后作时钟源。
复位电路的作用是把电路恢复到起始状态。
本所示。
2.1设计的温度报警器电路的总体框图如图
图2.1温度报警器电路的总体框架
2
基于DS18B20的温度报警器设计
第3章DS18B20简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75
ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
3.1DS18B20性能指标
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:
+3.0~+5.5V。
(4)测温范围:
-55~+125℃。
固有测温分辨率为0.5℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3
江苏信息职业技术学院毕业设计(论文)
3.2DS18B20的封装及内部结构
DS18B20的封装如图3.1所示。
的封装3.1DS18B20图DS18B20引脚功能:
1、GND为电源地
2、DQ为数字信号输入/输出端
3、VDD为外接供电电源输入端(在寄生电源接线方式时地)
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
3.3DS18B20工作原理及应用
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上4
基于DS18B20的温度报警器设计
56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM
非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
3.4控制器对DS18B20操作流程
1.复位:
首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。
当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。
2.存在脉冲:
在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。
至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。
如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。
3.控制器发送ROM指令:
双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。
ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。
其主要目的是为了分辨一条总线上挂接的多个器件并作处理。
诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:
此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。
ROM指令在下文有详细的介绍。
4.控制器发送存储器操作指令:
在ROM指令发送给18B20之后,紧接着5
江苏信息职业技术学院毕业设计(论文)
(不间断)就是发送存储器操作指令了。
操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。
存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。
5.执行或数据读写:
一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。
如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。
如执行数据读写指令则需要严格遵循18B20的读写时序来操作。
数据的读写方法将有下文有详细介绍。
若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。
紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。
6
基于DS18B20的温度报警器设计
第4章硬件电路设计
温度报警器的电路设计如图4.1所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用数码管实现温度显示。
本温度报警器大体分四个工作过程。
首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机中。
其次,再通过单片机AT89C51芯片对送来的测量温度读数进行计算和转化,并将此结果送入数码管。
然后,数码管显示温度数据。
最后,若温度超标,则二极管发光和蜂鸣器响起。
由图4.1可以看到本电路主要由DS18B20温度传感器芯片、数码管显示模块和AT89C51单片机芯片组成。
其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立的完成温度测量以及将测量结过传送到单片机的工作。
温度报警器电路设计原理图4.1图7
江苏信息职业技术学院毕业设计(论文)
4.1AT89C51
FlashProgrammable—AT89C51是一种带4K字节FLASH存储器(FPEROM位微处理器,俗称CMOS8andErasableReadOnlyMemory)的低电压、高性能ATMEL该器件采用单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
指令集和输出管脚相MCS-51与工业标准的高密度非易失存储器制造技术制造,的ATMEL和闪烁存储器组合在单个芯片中,兼容。
由于将多功能8位CPU单片机为很多嵌入式控制系统提供了是一种高效微控制器。
AT89C51AT89C51。
一种灵活性高且价廉的方案。
引脚排列如图4.2所示
引脚排列图4.2AT89C51温度传感器芯片测DS18B20AT89C51起到控制器的作用。
当在本设计中,单片机AT89C51单片机中。
然后,通过AT89C51量当前的温度后,把结果送入芯片对送来的测量温度读数进行计算和转换,井将此结果送入数码管模块。
8
DS18B20的温度报警器设计基于
4.2晶振电路连接在晶振旁的两个电容叫做晶振电路是给单片机提供时钟信号的。
其中,
也可以理解为谐振电容的一一般单片机的晶振工作于并联谐振状态,负荷电容,所示。
部分。
晶振电路的原理图如图4.3
晶振电路的原理图图4.3
晶振的频率换句话说,它是根据晶振厂家提供的晶振要求负载电容选值的,也能保证就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,温漂等误差。
容易造成谐两个电容的取值都是相同的,或者说相差不大,如果相差太大,22PF。
振的不平衡,容易造成停振或者干脆不起振。
本设计中,负荷电容的值是4.3复位电路就像计算器的清零按钮的作用复位电路的作用就是把电路恢复到起始状态。
一样,当你进行完了一个题目的计算后肯定是要清零的是吧!
或者你输入错误,要进行清零操作。
以便回到原始状态,重新进行计算。
和计算器计算失误时都一是在给电路通电时马清零按钮有所不同的是,复位电路启动的手段有所不同。
三是根据程序或者电路运行的上进行复位操作;二是在必要时可以由手动操作;是比较简单的大都是只有电阻和电容组合就可以需要自动地进行。
篡位电路都
所示。
办到了。
复位电路的原理图如图4.4
4.4复位电路的原理图图9
江苏信息职业技术学院毕业设计(论文)
4.4报警电路DS18B20℃,在本设计中,温度报警器的报警温度设为高:
70℃,低:
-20当报警电感知到温度达到此临界值时相应的LED闪烁,同时蜂鸣器会发出报警声。
所示。
路的原理图如图4.5
报警电路的原理图图4.5
4.574LS245
路同相或者其他的设备,它是874LS245是我们常用的芯片,用来驱动led4.6所示。
三态双向总线收发器,可双向传输数据。
其封装与引脚如图
的封装与引脚图4.674LS2458051当还具有双向三态功能,既可以输出,也可以输入数据。
74LS245等74LS245P0口总线负载达到或超过P0最大负载能力时,必须接入单片机的总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)
10
的温度报警器设计基于DS18B20
均为高阻(发送)当CE为高电平时,A、BBDIR=“1”,信号由A向传输;态。
2G和位,接口时74LS245的三态控制端1G口始终输出地址的高由于P28端接地,,E口与驱动器输入线对应相连。
P0口与74LS245输入端相连接地,P2有效时,PSEN,使得RD且和保证数据线畅通。
8051的/RD/PSEN相与后接DIRP0.1→D1,其它时间处于输出()。
74LS245输入(P0.1←D1)单片机芯片所处理和转化的数据传输AT89C51在设计中,它主要起到了把到数码管中。
显示电路4.6
芯片对送来的个引脚。
通过AT89C5116显示电路中的数码管是8位的,有通并将此结果送入数码管中,由数码管来显示,测量温度读数进行计算和转化,所示。
所测得的温度。
数码管的封装图如图4.7过数码管可以清楚的看到DS18B20
4.7数码管的封装图图
11
江苏信息职业技术学院毕业设计(论文)
软件设计第5章5.1主程序模块
主程序需要设置初始值和DS18B20的温度报警值,之后读取温度值,将该温度与所设置的温度比较。
如果该温度在所设温度的范围之内,则程序从头开始运行。
如果该温度在所设温度的范围之外,则报警器报警。
主程序流程图如图5.1所示。
开设置初DS18B2读取温度值调用函数,数码管显示N
将读取的温度与设置的温度比较
Y报警器报警返回
图5.1主程序流程图
5.2程序说明
具体的程序代码及其说明(见注释语句)如下。
//-------------------------------------------------------------------
//说明:
本例将报警温度设为高:
70℃,低:
-20℃,当DS18B20感知到温度达12
基于DS18B20的温度报警器设计
//到次临界值时相应的LED闪烁,同时系统发出报警声。
//-------------------------------------------------------------------
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitDQ=P3^6;
sbitBEEP=P3^7;
sbitHI_LED=P1^4;
sbitLO_LED=P1^5;
//共阴数码管段码及空白显示
uchar
code
DSY_CODE[]
=
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS18B20 温度 报警器 设计 讲解