基于DS18B20的温度报警器设计讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
图4.6 74LS245的封装与引脚
74LS245还具有双向三态功能,既可以输出,也可以输入数据。 当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
关键词:AT89C51,DS18B20,传感器,温度报警器
第
温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。随着现代化工农业技术的发展及人民对生活环境要求的提高,人民也迫切需要监测和控制温度.在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在跟温度打着交道。子18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不靠路这温度的因素。
图4.3 晶振电路的原理图
它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。
两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。本设计中,负荷电容的值是22PF。
第2章 方案设计
本设计主要元件有AT89C51、DS18B20、数码管等,其中由AT89C51作为控制器,DS18B20测量温度,再通过74LS245把AT89C51单片机芯片所处理和转化的数据传输到数码管中。当DS18B20感知到温度达到高于70℃或低于-20℃临界值时相应的LED闪烁,同时蜂鸣器发出报警声。晶振是正弦波震荡电路,供本设计数字电路整形后作时钟源。复位电路的作用是把电路恢复到起始状态。本设计的温度报警器电路的总体框图如图2.1所示。
第
温度报警器的电路设计如图4.1所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用数码管实现温度显示。
本温度报警器大体分四个工作过程。首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机中。其次,再通过单片机AT89C51芯片对送来的测量温度读数进行计算和转化,并将此结果送入数码管。然后,数码管显示温度数据。最后,若温度超标,则二极管发光和蜂鸣器响起。由图4.1可以看到本电路主要由DS18B20温度传感器芯片、数码管显示模块和AT89C51单片机芯片组成。其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立的完成温度测量以及将测量结过传送到单片机的工作。
图4.1 温度报警器电路设计原理图
4.1 AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列如图4.2所示。
图2.1 温度报警器电路的总体框架
第3章 DS18B20简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
4.4 报警电路
在本设计中,温度报警器的报警温度设为高:70℃,低:-20℃,当DS18B20感知到温度达到此临界值时相应的LED闪烁,同时蜂鸣器会发出报警声。报警电路的原理图如图4.5所示。
图4.5 报警电路的原理图
4.5 74LS245
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。其封装与引脚如图4.6所示。
3.4 控制器对DS18B20操作流程
1.复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。
2.存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。
毕业设计论文
基于DS18B20的温度报警器设计
系电子信息工程系
专业电子信息工程技术姓名康志凌
班级电子信息122学号1201043206
指导教师徐敏N职称讲师
设计时间2014.10.08-2015.04.08
摘要
本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
5.执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。
若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。
4.控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。
3.1 DS18B20性能指标
(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~ +5.5 V。
(4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。
4.3 复位电路
复位电路的作用就是把电路恢复到起始状态。就像计算器的清零按钮的作用一样,当你进行完了一个题目的计算后肯定是要清零的是吧!或者你输入错误,计算失误时都要进行清零操作。以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。篡位电路都是比较简单的大都是只有电阻和电容组合就可以办到了。复位电路的原理图如图4.4所示。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3.2 DS1Βιβλιοθήκη BaiduB20的封装及内部结构
DS18B20的封装如图3.1所示。
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。
图3.1 DS18B20的封装
DS18B20引脚功能:
1、 GND为电源地
2、 DQ为数字信号输入/输出端
3、VDD为外接供电电源输入端(在寄生电源接线方式时地)
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
3.3 DS18B20工作原理及应用
3.控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。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都存在镜像,以方便用户操作。
信息科学和航空工业的飞速发展给人们生活甚至国家安全带来了巨大的飞跃。我的实习单位是航天八五一一研究所,在我工作期间深刻感觉到温度对焊接工艺的重要性,往往只是高了或低了一二摄氏度,就有可能将电缆或芯片报废掉,造成严重的损失。我们也在重要的位置上放置了一个温度测量报警器
由此可见温度对我们工作生活的重要性,温度传感器以及温度报警器就显得格外重要。
图4.2 AT89C51引脚排列
在本设计中,AT89C51起到控制器的作用。当DS18B20温度传感器芯片测量当前的温度后,把结果送入AT89C51单片机中。然后,通过AT89C51单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入数码管模块。
4.2 晶振电路
晶振电路是给单片机提供时钟信号的。其中,连接在晶振旁的两个电容叫做负荷电容,一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。晶振电路的原理图如图4.3所示。
图4.6 74LS245的封装与引脚
74LS245还具有双向三态功能,既可以输出,也可以输入数据。 当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
关键词:AT89C51,DS18B20,传感器,温度报警器
第
温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。随着现代化工农业技术的发展及人民对生活环境要求的提高,人民也迫切需要监测和控制温度.在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在跟温度打着交道。子18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不靠路这温度的因素。
图4.3 晶振电路的原理图
它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。
两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。本设计中,负荷电容的值是22PF。
第2章 方案设计
本设计主要元件有AT89C51、DS18B20、数码管等,其中由AT89C51作为控制器,DS18B20测量温度,再通过74LS245把AT89C51单片机芯片所处理和转化的数据传输到数码管中。当DS18B20感知到温度达到高于70℃或低于-20℃临界值时相应的LED闪烁,同时蜂鸣器发出报警声。晶振是正弦波震荡电路,供本设计数字电路整形后作时钟源。复位电路的作用是把电路恢复到起始状态。本设计的温度报警器电路的总体框图如图2.1所示。
第
温度报警器的电路设计如图4.1所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用数码管实现温度显示。
本温度报警器大体分四个工作过程。首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机中。其次,再通过单片机AT89C51芯片对送来的测量温度读数进行计算和转化,并将此结果送入数码管。然后,数码管显示温度数据。最后,若温度超标,则二极管发光和蜂鸣器响起。由图4.1可以看到本电路主要由DS18B20温度传感器芯片、数码管显示模块和AT89C51单片机芯片组成。其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立的完成温度测量以及将测量结过传送到单片机的工作。
图4.1 温度报警器电路设计原理图
4.1 AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列如图4.2所示。
图2.1 温度报警器电路的总体框架
第3章 DS18B20简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
4.4 报警电路
在本设计中,温度报警器的报警温度设为高:70℃,低:-20℃,当DS18B20感知到温度达到此临界值时相应的LED闪烁,同时蜂鸣器会发出报警声。报警电路的原理图如图4.5所示。
图4.5 报警电路的原理图
4.5 74LS245
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。其封装与引脚如图4.6所示。
3.4 控制器对DS18B20操作流程
1.复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。
2.存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。
毕业设计论文
基于DS18B20的温度报警器设计
系电子信息工程系
专业电子信息工程技术姓名康志凌
班级电子信息122学号1201043206
指导教师徐敏N职称讲师
设计时间2014.10.08-2015.04.08
摘要
本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
5.执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。
若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。
4.控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。
3.1 DS18B20性能指标
(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~ +5.5 V。
(4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。
4.3 复位电路
复位电路的作用就是把电路恢复到起始状态。就像计算器的清零按钮的作用一样,当你进行完了一个题目的计算后肯定是要清零的是吧!或者你输入错误,计算失误时都要进行清零操作。以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。篡位电路都是比较简单的大都是只有电阻和电容组合就可以办到了。复位电路的原理图如图4.4所示。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3.2 DS1Βιβλιοθήκη BaiduB20的封装及内部结构
DS18B20的封装如图3.1所示。
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。
图3.1 DS18B20的封装
DS18B20引脚功能:
1、 GND为电源地
2、 DQ为数字信号输入/输出端
3、VDD为外接供电电源输入端(在寄生电源接线方式时地)
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
3.3 DS18B20工作原理及应用
3.控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。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都存在镜像,以方便用户操作。
信息科学和航空工业的飞速发展给人们生活甚至国家安全带来了巨大的飞跃。我的实习单位是航天八五一一研究所,在我工作期间深刻感觉到温度对焊接工艺的重要性,往往只是高了或低了一二摄氏度,就有可能将电缆或芯片报废掉,造成严重的损失。我们也在重要的位置上放置了一个温度测量报警器
由此可见温度对我们工作生活的重要性,温度传感器以及温度报警器就显得格外重要。
图4.2 AT89C51引脚排列
在本设计中,AT89C51起到控制器的作用。当DS18B20温度传感器芯片测量当前的温度后,把结果送入AT89C51单片机中。然后,通过AT89C51单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入数码管模块。
4.2 晶振电路
晶振电路是给单片机提供时钟信号的。其中,连接在晶振旁的两个电容叫做负荷电容,一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。晶振电路的原理图如图4.3所示。