资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课 程 设 计题 目:数字温度报警器 姓 名: 学 院: 电气与自动化工程学院 专 业: 自动化 班 级: 学 号: 指导教师:2013年 12月16日目 录摘要41 引言41.1课题背景42 芯片介绍62.1 DS18B20概述62.1.1 DS18B20封装形式及引脚功能72.1.2 DS18B20内部结构72.1.3 DS18B20供电方式92.1.4 DS18B20的测温原理102.1.5 DS18B20的ROM命令122.2 AT89C52概述132.2.1单片机AT89C52介绍132.2.2功能特性概述133 系统硬件设计143.1 单片机最小系统的设计143.2 温度采集电路的设计153.3 LED显示报警电路的设计163.4主程序的流程图163.5仿真图14 总结16参考文献18附录:原器件清单195.软件程序的设计19摘 要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,利用单片机AT89S52设计了一种数字温度计,它由单片机、DS18B20传感器以及LED 数码管等部件组成,本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。 1 引言课题背景温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。基于AT89C51单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。本设计即用单片机对温度进行实时检测与控制,本文所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。2 芯片介绍2.1 DS18B20概述DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现912位数字值的读数方式。DS18B20 的主要特征: 全数字温度转换及输出; 最高 12 位分辨率,精度可达土 0.5摄氏度; 12 位分辨率时的最大工作周期为 750 毫秒; 可选择寄生工作方式; 检测温度范围为55C+125C (67F +257F); 内置 EEPROM,限温报警功能。用户可定义报警设置 ; 64 位光刻 ROM,内置产品序列号,方便多机挂接; 多样封装形式,适应不同硬件系统; 独特的单线接口仅需要一个端口引脚进行通信; 多个DS18B20 可以并联在惟一的三线上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为3.05.5V; 零待机功耗; 温度以9 或12 位数字; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20它有64 位ROM 的结构开始8 位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8 位是前面56位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。温度报警触发器TH 和TL,可通过软件写入户报警上下限6。另外,由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20 的各种操作按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM 功能命令发存储器操作命令处理数据。2.1.1 DS18B20封装形式及引脚功能 图2.1 DS18B20封装形式和引脚功能GND:接地端。DQ:数据输入/输出脚,与TTL电平兼容。VDD:可接电源,也可接地。因为每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则VDD接+5V,多用一根导线,但测量速度较快。2.1.2 DS18B20内部结构64位ROM和单线接口存储和控制逻辑 高速缓存器温度传感器高温触发器TH低温触发器TL匹配寄存器8位CRC发生器电源检 测CDQVDD内部电源VDD图2.2 DS18B20内部结构图2.2中出示了DS18B20 的主要内部部件,下面对DS18B20内部部分进行简单的描述4:(1)64位ROM。64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表2.1所示:表2.1 64位ROM标识8位循环冗余检验48位序列号8位分类编号(10H)MSB LSBMSB LSBMSB LSB 第1个8位表示产品分类编号,DS18B20的分类号为10H;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的CRC循环冗余校验码,由于每个芯片的64位ROM代码不同,因此在单总线上能够并接多个DS18B20进行多点温度实习检验。(2)温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5、0.25、0.125、0.0625,即最高分辨率为0.0625。芯片出厂时默认为12位的转换精度。当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。(3)高速缓存器。DS18B20内部的高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除的EEPROM。非易失性可点擦除EEPROM用来存放高温触发器TH、低温触发器TL和配置寄存器中的信息。(4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.2所示:表2.2 匹配寄存器TMR0R111111TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动;R1和R0用来设置分辨率;其余5位均固定为1。DS18B20分辨率的设置如表2.3所示:表2.3 DS18B20分辨率的设置R1R0分辨率最大转换时间 /ms009位93.750110位187.51011位3751112位750DS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM 操作命令之一:1)读ROM;2)匹配ROM;3)搜索ROM;4)跳过ROM;5)报警搜索。这些命令对每个器件的激光ROM 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH 和TL 各由一个EEPROM字节构成。如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH 和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。2.1.3 DS18B20供电方式DS18B20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将DS18B20的GND直接接地,DQ与但单总线相连作为信号线,VDD与外部电源正极相连。如图2.3所示:单片机DS18B20外部+5V电源VDDDQ4.7KVCC其它单线器件图2.3 DS18B20外部供电方式图中DS18B20的DQ端口通过接入一个4.7K的上拉电阻到VCC,从而实现外部电源供电方式。寄生电源供电模式如图2.4所示:从图中可知,DS18B20的GND和VDD均直接接地,DQ与单总线相连,单片机其中一个I/O口与DS18B20的DQ端相连。VCC单片机DS18B20GND4.7K图2.4 DS18B20寄生电源供电方式+5V2.1.4 DS18B20的测温原理DS18B20的测温原理如图2.5所示, 其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。图2.5 DS18B20的测温原理DS1820 是这样测温5的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS18B20内部对此计算的结果可提供0.5的分辨率。温度以16bit带符号位扩展的二进
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号