电子信息工程专业精品毕业论文便携式数字温度计研究与开发_第1页
电子信息工程专业精品毕业论文便携式数字温度计研究与开发_第2页
电子信息工程专业精品毕业论文便携式数字温度计研究与开发_第3页
电子信息工程专业精品毕业论文便携式数字温度计研究与开发_第4页
电子信息工程专业精品毕业论文便携式数字温度计研究与开发_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 1绪论 1.1数字式温度计的发展历程 十七世纪是温度计诞生和发展的最初阶段,这个物理仪器几乎比任何其它仪器都得到 更广泛的应用。现代的历史研究认为最早发明温度计的科学家是伽利略,他于 1592 年发 明了最早的气体温度计,最早的液体温度计是荷兰科学家华伦海特制造出来1。 随着宇航、核能、冶金、材料、低温、微电子学和生物医学等方面的发展,对温度测 量、控制的精度和范围提出了越来越高的要求,尤其是对温度的测量非但要准确,而且 需读取数值更直观更方便,从而促进了温度测量和控制技术的迅速发展2。虽然水银温度 计至今仍是各种温度测量的计量标准。可是它的缺点是刻度间隔通常都很密, 不容易准确 分辨, 读数因难, 而且它们的热容量还比较大, 达到热平衡所需的时间较长, 因此很难读 准, 并且使用非常不方便,而且水银有毒,玻璃管易碎。后来出现代替水银的有酒精温度 计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。 后来接 着出现了热电阻温度计、热电偶温度计等。随着大规模集成电路工艺的提高,又出现了 多种集成的数字化温度传感器3。 随着电子工业的发展,数字仪表反应速度快、操作简单,对使用环境要求不高的优 点,市场上逐渐出现越来越多的数字式温度计,另外,纵观国际上现有的温度计的变化, 总的趋势是从模拟向数字转变,相应的体积也在不断减小,并且一切向着数字化控制, 智能化控制方向发展。测量温度的关键是温度传感器,随着科学技术的发展,温度传感 器的发展经历了三个发展阶段:(1)传统的分立式温度传感器,(2)模拟集成温度传感器, (3)智能集成温度传感器。特别是现代仪器的发展,微型化、集成化、数字化正成为传感 器发展的一个重要方向。 总之,从温度计的诞生,发展到现在,温度计对物理学和日常生活起着非常重要的 作用。 1.2课题研究的目的和意义 温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。 在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存 储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如, 发电厂锅炉的温度必须控制在一定的范围之内:许多化学反应的工艺过程必须在适当的 温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得 到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮 仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,温度的测量和控制是非常重要 的。 虽然数字式温度计的应用己相当普遍,但是,伴随着新器件的诞生、新技术的涌现, 2 在新需求的推动下,温度检测系统的整体结构、器件选择等方面仍需不断研究和创新。 本设计目的是研究与开发出结构简单、可靠性高、成本低、测温范围广、体积小、 功耗低、精度高、显示直观特点的便携式数字温度计。由于所设计的系统将具有电路简 单、采集温度精度高等许多优点,所有可广泛应用在不同场合,有很强的实际应用意义。 该设计也是我对大学所学到的东西做的一个综合应用,同时将增强我的动手能力和提出 问题,分析问题,解决问题的能力,可以巩固自己的专业知识,为以后的进一步工作学 习打下扎实的基础。 1.3本论文的主要工作内容 本文将针对传统的温度计读数困难、达到热平衡所需时间长等几方面问题展开研究。 通过对目前各种温度传感器的分析与研究,对温度传感器做出合理选择,并根据实际需 要选择合适的主芯片和显示器,达到优化整体结构,提高温度检测精度,同时使系统具 有测温范围广、体积小、功耗低、精度高、显示直观的优点,并保证系统结构简洁。 本论文的研究重点将放在温度传感器的选择、硬件设计和程序设计这三个方面。 总之,本课题研究以期研制出一套简洁实用、精确稳定、使用直观的便携式数字温 度计。 2温度传感器 2.1测温传感器的分类 2.1.1电阻式传感器 热电阻式传感器是利用导电物体的电阻率随温度而变化的效应制成的传感器。可通 过测量敏感材料的电阻来确定被测的温度。它分为金属热电阻和半导体热电阻两大类, 常 用的热电阻有铂热电阻和铜热电阻。铂热电阻的特点是物理化学性能稳定 ,尤其是耐氧化 能力强、测量精度高、测温范围宽, 制作误差小, 结构简单, 而且已有统一的国际标准。 有很好的重现性, 但价格较贵。而铜热电阻价格便宜 ,测温范围小,通常用于测量精度不高 的场合。半导体热敏电阻具有电阻温度系数大、型小体轻、热惯性小、稳定可靠、价格 便宜、结构简单等特点。半导体温度传感器按半导体电阻随温度变化的特点又分为负电 阻温度系数热敏电阻、正电阻温度系数热敏电阻和临界温度电阻器4-5。 2.1.2半导体温度传感器 半导体 PN 结测温是近几年来发展起来的一种新型测温手段。PN 结半导体温度传感 器是利用半导体 PN 结的温度特性制成的。其工作原理是 PN 结的反向电流随温度呈指数 规律变化,而当正向电流不变时,其正向压降随温度近似线性变化。现代的 PN 结温度传 感器都是利用正向压降进行测温。这种传感器线性较好、测温范围小、易集成。因此,可 制成高精度、超小型的温度传感器4-5。 3 2.1.3晶体温度传感器 晶体温度传感器是利用晶体的各向异性, 并通过选择适当的切割角度切割而成,这是 一种可将温度转换成频率的传感器,这种传感器用于计算机测量时可省去模数转换,因 此 ,适合于计算机测温的应用。 2.1.4辐射式温度传感器 自然界的所有物体对辐射都具有吸收和反射的能力。辐射式温度传感器就是利用物 体的热辐射特性制成的。被测物体的辐射能被热敏元件(如热电偶、热敏电阻等)吸收 时可使其物理参数(如输出电势、电阻值等)发生变化,利用现代测量手段检测出这种 变化就可得被测温度。根据敏感原理不同,辐射式温度传感器可分为全辐射式、红外辐 射式、光电比色式和光电亮度式等,并能实现非接触测量,可测温度高达 3000以上。 全辐射式传感器中敏感元件接受被测物体的全部辐射能而使参数发生变化;红外辐射式 传感器中敏感元件只接受被测物体辐射能中部分波长的能量;比色式传感器是基于物体 温度不同其辐射能的光谱分布不同;而亮度测量法是通过测量物体在一定波长下单色辐 射亮度来确定温度,被测温度的微小变化就会引起单色亮度很大变化。如辐射体温度由 1200K 上升到 1500K 时,总辐射能仅增加 2.5 倍,而波长为 0.660 u M 的红光单色亮度可 增加 10 倍以上。此方法是辐射测温中最精确的一种。常用的辐射式传感器多数是红外传 感器,适合于高速运行物体、带电体、高温及高压物体的温度测量4-5。这种红外测温传 感器具有反应速度快、灵敏度高、测量准确、测温范围广泛等特点。 2.1.5热电式传感器 热电式传感器(又称热电偶)属有源传感器,它能将温度直接转换成热电势,其特点是 结构简单、测量温度高、准确、可靠、性能稳定、热惯性小,但价格较贵,通常用于高 温炉的测量和快速测量方面。 2.1.6光纤温度传感器 随着测量技术的不断发展,出现了适用于高温、强磁场干扰等恶劣环境的光纤温度 传感器。它是将光源的光经光纤送入调制区,在调制区内被测参数(温度)与进入调制区 的光相互作用使光的光学性质(如强度、波长、频率等)发生变化而成为被调制的信号光, 再经光纤送入光检测器及解调器而获得被测参数,此种方法也适于其它参数的测量。 根据传感原理不同,光纤温度传感器可分成功能型和传输型。功能型传感器中光纤 既是传光的介质又是温度敏感元件,因此结构巧妙、简洁,但既满足传输要求又满足敏 感要求的光纤制作难度大,所以一般只在有特殊要求的场合使用;传输型传感器中光纤只 起传光的作用,对温度的敏感作用由其它元件来实现,因此结构较前者复杂,但可通过 分别选择性能优良的光纤和敏感元件而达到较高的性能。现在使用和研制的光纤传感器 以传输型居多,温度敏感元件可以是热电阻、热敏电阻、热电偶等4-5。 4 2.1.7液压温度传感器 这种传感器流体受热会产生膨胀, 膨胀程度与所加的热量成正比。在根据液压原理制 成的温度传感器中 ,最普通的就是大家熟悉的水银温度计。 2.1.8智能温度传感器 智能温度传感器由于在一个芯片上集成有温度传感器、处理器、存储器、A/D 转换器 等部件。因此,这类传感器具有判断和信息处理能力, 并可对测量值进行各种修正和误差 补偿,同时还带有自诊断、自校准功能,可大大提高系统的可靠性,并能和计算机直接 联机4-5。 2.2集成温度传感器的产品分类 2.2.1模拟集成温度传感器 集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成温度 传感器。模拟集成温度传感器是在 20 世纪 80 年代问世的,它是将温度传感器集成在一 个芯片上、可完成温度测量及模拟信号输出功能的专用 IC。模拟集成温度传感器的主要 特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积 小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是 目前在国内外应用最为普遍的一种集成传感器,典型产品有 AD590、AD592、TMP17、LM135 等4-5。 2.2.2模拟集成温度控制器 模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有 LM56、AD22105 和 MAX6509。某些增强型集成温度控制器(例如 TC652/653)中还包含了 A/D 转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工 作时并不受微处理器的控制,这是二者的主要区别。 2.2.3智能温度传感器 智能温度传感器(亦称数字温度传感器)是在 20 世纪 90 年代中期问世的。它是微电 子技术、计算机技术和自动测试技术 ATE(Automatic Test Equipment)的结晶。目前,国际 上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、 A/D(Analog to Digital)转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还 带多路选择器、中央控制器 CPU(Central Processing Unit)、随机存取存储器 RAM(Random Access Memory)和只读存储器 ROM(Read-only Memory)。智能温度传感器的特点是能输出 温度数据及相关的温度控制量,适配各种微控制器 MCU(Microcontroller Unit),并且它是 在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平4-5。 5 2.3智能温度传感器发展的新趋势 进入 21 世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及 安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展4-5。 2.3.1 提高测温精度和分辨力 在 20 世纪 90 年代中期最早推出的智能温度传感器,采用的是 8 位 A/D 转换器,其 测温精度较低,分辨力只能达到 1。目前,国外已相继推出多种高精度、高分辨力的智 能温度传感器,所用的是 912 位 A/D 转换器,分辨力一般可达 0.50.0625。由美国 DALLAS 半导体公司新研制的 DS1624 型高分辨力智能温度传感器,能输出 13 位二进制 数据,其分辨力高达 0.03125,测温精度为0.2。为了提高多通道智能温度传感器的 转换速率,也有的芯片采用高速逐次逼近式 A/D 转换器。以 AD7817 型 5 通道智能温度 传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为 27us、9us。 2.3.2 增加测试功能 新型智能温度传感器的测试功能也在不断增强。例如,DS1629 型单线智能温度传感 器增加了实时日历时钟 RTC(Real-time Clock),使其功能更加完善。DS1624 还增加了存储 功能,利用芯片内部 256 字节的 E2PROM(Electrically Erasable Programmable ROM)存 储器,可存储用户的短信息。另外,智能温度传感器正从单通道向多通道的方向发展, 这就为研制和开发多路温度测控系统创造了良好条件。智能温度传感器都具有多种工作 模式可供选择,主要包括单次转换模式、连续转换模式、待机模式,有的还增加了低温 极限扩展模式,操作非常简便。对某些智能温度传感器而言,主机(外部微处理器或单 片机)还可通过相应的寄存器来设定其 A/D 转换速率(典型产品为 MAX6654),分辨力 及最大转换时间(典型产品为 DS1624)。 智能温度控制器是在智能温度传感器的基础上发展而成的。典型产品有 DS1620、DS1623、TCN75、LM76、MAX6625。智能温度控制器适配各种微控制器,构 成智能化温控系统;它们还可以脱离微控制器单独工作,自行构成一个温控仪。 2.3.3 总线技术的标准化与规范化 目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有 单线(1-Wire)总线、I2C 总线、SMBus 总线和 spI 总线。温度传感器作为从机可通过专用 总线接口与主机进行通信。 6 3数字式温度计设计方案选择 3.1数字式温度计方案选择 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测 温度变化的电压或电流采集过来,经放大电路后,送入 A/D 转换器进行 A/D 转换,就可以 用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要 用到 A/D 转换电路,感温电路比较麻烦。其基本框图如图 3-1 所示。 图 3-1 方案一电路结构框 方案二: 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非 常容易想到的,选择一个适合的传感器,可以很容易直接读取被测温度值,进行转换, 就可以满足设计要求。其基本框图如图 3-2 所示。 图 3-2 方案二电路结构框图 由于本课题研究以期研制出一套简洁实用、精确稳定、使用直观的便携式数字温度 计。以上两种方案,从多方面分析考虑采用方案二,电路比较简单,软件设计也比较简 单,故采用了方案二。 3.2温度传感器的选择 温度传感器的选择及合理使用是测温系统设计的关键。温度检测的传统方法是使用 模拟传感器,那么一个温度量要经过感温元件、测量电路、放大电路、模数转换电路之 后才能得到相应的数字量这样须考虑的线路环节较多,相应测温装置中元器件数量降不 下来,随之影响产品的可靠性和体积微缩化。把被测温度这一非电模拟量转换成数字信 A/D 转换电路 显示 电路 放大 电路 感温 电路 主 控 制 器 显 示 器温 度 传 感 器 7 号,将其处理过程的多个环节集成在单片 IC(Integrated Circuit)器件内部,是解决传统温 度检测方法弊病的理想途径。 目前 ,典型的温度测控系统是由模拟式温度传感器、A/D 转换电路和单片机组成。自 动化程度和可靠性较高 ,使用方便 ,得到了广泛应用。但是由于模拟式温度传感器输出为 模拟信号 ,必须经过 A/D 转换环节获得数字信号后才能与单片机等微处理器接口 ,使得硬 件电路结构复杂 ,成本较高。而以 DS18B20 为代表的新型单总线智能数字式温度传感器 集温度测量和 A/D 转换于一体 ,直接输出数字量 ,与单片机接口几乎不需要外围元件 ,使 得硬件电路结构简单,具有微型化的优点 ,特别适合做便携式数字温度计的温度传感器6。 由于采取高集成度设计,数字式传感器在可靠性、抗干扰能力以及器件微小化方面与模 拟传感器相比,都有明显的优点,具有较强的推广应用价值。所以本设计选用美国 DALLAS 公司最新推出的 DS18B20 数字式温度传感器。 4系统总体设计方案 4.1 硬件电路设计框图 图 4-1 便携式数字温度计硬件电路设计框图 4.2 电路原理 本温度计大体分三个工作过程。首先,由 DS18B20 温度传感器芯片测量当前温度, 并将结果送入单片机。然后,通过 AT89C51 单片机芯片对送入的测量温度读数进行计算 和转换,并将此结果送入液晶显示模块。最后,LCD 1602 模块将送来的值显示于显示屏 上。温度计的整体电路设计原理图如图 4-2。 从图中可以看到,本电路主要由 DS18B20 温度传感器芯片、通用 LCD 1602 液晶显 示模块和 AT89C51 单片机芯片组成。其中,DS18B20 温度传感器芯片采用“一线制”与 单片机相连,它独立地完成温度测量结果送到单片机的工作。本系统测温范围为 单 片 机 LCD 显示电路 温度传感器 蜂 鸣 器 按键输入电路 8 0195,精度达 0.1 。当温度超出所设上下温度报警值时,系统不但会显示当时温度值,同 时也会发出报警鸣叫声告知用户温度异常,并且可以手动设置上下温度报警值。 图 4-2 便携式数字温度计整体硬件电路设计原理图 4.3 主控器 单片机在电子产品中的应用已经越来越广泛,ATMEL 公司生产的 AT89C51 单片机 由于功能全面、开发工具较为完善、衍生产品丰富、大量的设计资源可以继承和共享, 得到广泛的应用。而且单片机功耗低、体积小、 重量轻、 抗干扰能力强、 对环境要求 不高、 价格低廉、可靠性高、灵活性好,很适合便携手持式产品的设计使用系统7。 4.4 显示电路 由于液晶显示数字温度使用方便、功耗低、 精度高、显示直观、寿命长且便于实现 小型化设计,另外该模块显示字符数量比以前的七段数码管 LED(Light Emitting Diode) 显示器要多得多。因此选用通用 1602LCD 显示模块8。 9 4.4.1 1602LCD 模块显示特性 单 5V 电源电压,低功耗、长寿命、高可靠性 内置 192 种字符(160 个 57 点阵字符和 32 个 510 点阵字符) 具有 64 个字节的自定义字符 RAM,可定义 8 个 58 点阵字符或四个 511 点阵字 符 显示方式:STN、半透、正显 驱动方式:1/16DUTY,1/5BIAS 视角方向:6 点 背光方式:底部 LED 通讯方式:4 位或 8 位并口可选 标准的接口特性,适配 MC51 和 M6800 系列 MPU 的操作时序 4.4.2 1602LCD 模块接口定义 表 4-1 1602LCD 接口定义表 管脚定义符号功能 1Vss 电源地(GND) 2Vdd 电源电压(5V) 3V0 LCD 驱动电压(可调) 4RS 寄存器选择输入端,输入 MPU 选择模块内部寄存器类型号; RS=0,当 MPU 行进写模块操作,指向指令寄存器; 当 MPU 进行读模块操作,指向地址计数器; RS=1,无论 MPU 读操作还是写操作,均指向数据寄存器 5R/W 读写控制输入端,输入 MPU 选择读/写模块操作操作信号: R/W0 读操作;R/W1 写操作 6E 使能信号输入端,输入 MPU 读/写模块操作使能信号: 读操作时,高电平有效;写操作时,下降沿有效 7DB0 数据输入/输出口,MPU 与模块之间的数据传送通道 8DB1 数据输入/输出口,MPU 与模块之间的数据传送通道 9DB2 数据输入/输出口,MPU 与模块之间的数据传送通道 10DB3 数据输入/输出口,MPU 与模块之间的数据传送通道 11DB4 数据输入/输出口,MPU 与模块之间的数据传送通道 12DB5 数据输入/输出口,MPU 与模块之间的数据传送通道 13DB6 数据输入/输出口,MPU 与模块之间的数据传送通道 14DB7 数据输入/输出口,MPU 与模块之间的数据传送通道 15A 背光的正端5V 16K 背光的负端 0V 10 4.5 温度传感器 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传 感器,是一线式数字式温度计芯片,体积更小、适用电压更宽、更经济。它具有结构简 单,不需外接元件,线路简单,体积小的特点9。与传统的热敏电阻等测温元件相比,它 能直接读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数字值读数 方式,使系统设计更灵活、方便。 4.5.1 DS18B20 的性能特点如下 独特的单线接口仅需要一个端口引脚进行通信; 多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为 3.05.5; 零待机功耗; 温度以 9 或 12 位数字; 用户可定义报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 4.5.2 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度 报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如下: 图 4-3 DS18B20 外形图 引脚定义: (1) DQ 为数字信号输入/输出端; 11 (2) GND 为电源地; (3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 。 内部结构如下: 图 4-4 DS18B20 内部结构图 DS18B20 有 4 个主要的数据部件: (1) 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址 序列码。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型标号,接着的 48 位是 该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码(CRC=X8+X5+X4+ 1)。光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂 接多个 DS18B20 的目的。 (2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩 展的二进制补码读数形式提供,以 0.0625 /LSB 形式表达,其中 S 为符号位。 表 4-2 DS18B20 温度值格式表 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进 制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘 于 0.0625 即可得到实际温度。 例如+125 的数字输出为 07D0H,+25.0625 的数字输出为 0191H,-25.0625 的 12 数字输出为 FF6FH,-55的数字输出为 FC90H。 表 4-3 一部分温度对应值表 温度/二进制表示十六进制表示 +1250000 0111 1101 000007D0H +850000 0101 0101 00000550H +25.06250000 0001 1001 00000191H +10.1250000 0000 1010 000100A2H +0.50000 0000 0000 00100008H 00000 0000 0000 10000000H -0.51111 1111 1111 0000FFF8H -10.1251111 1111 0101 1110FF5EH -25.06251111 1110 0110 1111FE6FH -551111 1100 1001 0000FC90H (3) DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电 擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、TL 和结构寄存器。 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共 有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行 通信的原因。温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。 (4) 配置寄存器 该字节各位的意义如下: 表 4-4 配置寄存器结构 TMR1R011111 低五位一直都是 1 ,TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试 模式。在 DS18B20 出厂时该位被设置为 0,用户不要去改动。R1 和 R0 用来设置分辨率, 如下表所示:(DS18B20 出厂时被设置为 12 位) 分辨率设置表: 表 4-5 温度值分辨率设置表 R1R0分辨率温度最大转换时间 009 位93.75ms 0110 位187.5ms 1011 位375ms 1112 位750ms 由表 4-5 可见,DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度 13 数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。 4.5.3 DS18B20 高速暂存存储器 高速暂存存储器由 9 个字节组成,其分配如表 46 所示。当温度转换命令发布后, 经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字节。单 片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表 4-6 所示。 对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补 码变为原码,再计算十进制值。表 4-3 是对应的一部分温度值。第九个字节是冗余检验字 节9。 表 4-6 DS18B20 暂存寄存器分布 寄存器内容字节地址 温度值低位0 温度值高位1 高温限值 TH2 低温限值 TL3 配置寄存器4 保留5 保留6 保留7 CRC 检验8 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤:每 一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1660 微秒左右,后发出 60240 微秒的存 在低脉冲,主 CPU 收到此信号表示复位成功。 表 4-7 ROM 指令表 指 令约定代码功 能 读 ROM33H读 DS1820ROM 中的编码(即 64 位地址) 符合 ROM55H 发出此命令之后,接着发出 64 位 ROM 编码,访 问单总线上与该编码相对应的 DS1820 使之作出响 应,为下一步对该 DS1820 的读写作准备。 搜索 ROM0F0H 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过 ROM0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换 命令。适用于单片工作。 告警搜索命令0ECH 执行后只有温度超过设定值上限或下限的片子才做 出响应。 14 表 4-8 RAM 指令表 指 令约定代码功 能 温度变换44H 启动 DS1820 进行温度转换,转换时最长为 500ms(典型为 200ms)。结果存入内部 9 字节 RAM 中。 读暂存器0BEH内部 RAM 中 9 字节的内容 写暂存器4EH 发出向内部 RAM 的 3、4 字节写上、下限温度数 据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器48H 将 RAM 中第 3、4 字节的内容复制到 EEPROM 中。 重调 EEPROM0B8H 将 EEPROM 中内容恢复到 RAM 中的第 3、4 字节。 读供电方式0B4H 读 DS1820 的供电模式。寄生供电时 DS1820 发送 “0”,外接电源供电 DS1820 发送“1”。 DS18B20 测量温度使用特有温度测量技术,其测温电路框图如图所示: 图 4-5 DS18B20 测温原理框图 DS18B20 的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很 小,用于产生固定频率的脉冲信号送给减法计数器 1;高温度系数晶振随温度变化其振荡 频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。器件中还有一个计数门, 当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温 度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55 所 对应的一个基数分别置入减法计数器 1、温度寄存器中,计数器 1 和温度寄存器被预置在 55 所对应的一个基数值。 15 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的 预置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数 器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计 数到 0 时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出 用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存 器值大致被测温度值9。 另外,由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写 时序很重要。系统对 DS18B20 的各种操作按协议进行。操作协议为:初使化 DS18B20(发复位脉冲)发 ROM 功能命令发存储器操作命令处理数据。 4.5.4 DS18B20 温度传感器与单片机的接口电路 DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚 接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图 4-7 所示单片机 端口接单线总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来完成对总线的上拉。 当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上必须有强的上拉,上 拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根线, 因此发送接口必须是三态的。 图 4-6 外接电源方式 单 片 机 DS18B20 VDD +5V GND 4.7k I/O +5V 单 片 机 DS18B20 4.7k I/O +5V GNDVDD 16 图 4-7 寄生电源方式 4.5.5 DS18B20 的使用方法 由于 DS18B20 采用的是 1Wire 总线协议方式,即在一根数据线实现数据的双向传 输,而对 AT89C51 单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件 的方法来模拟单总线的协议时序来完成对 DS18B20 芯片的访问9。 由于 DS18B20 是在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时序 要求。DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义 了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备, 单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始, 如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数 据和命令的传输都是低位在先。 (1) DS18B20 的复位时序 图 4-8 DS18B20 的复位时序图 (2) DS18B20 的读时序 对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。 对于 DS18B20 的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释放单总线, 以让 DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需要 60us 才能完成。 图 4-9 DS18B20 的读时序图 (3) DS18B20 的写时序 17 对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程。 对于 DS18B20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低 至少 60us,保证 DS18B20 能够在 15us 到 45us 之间能够正确地采样 IO 总线上的“0”电平, 当要写 1 时序时,单总线被拉低之后,在 15us 之内就得释放单总线。 图 4-10 DS18B20 的写时序图 4.6 仿真软件介绍 Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于 Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: (1) 实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电路仿真、 单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键 盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 (2) 支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、8051 系列、 AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围 芯片。 (3) 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能, 同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有 这些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision2 等软件。 (4) 具有强大的原理图绘制功能。 总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。 5系统软件设计 本设计使用硬件描述语言 Keil C51 进行设计开发,采用 Vision2 的综合软件设计程 序。 主程序的主要功能是负责温度的实时显示、检测鸣警信号和按键信号,主程序流程 图如下: 18 图 5-1 主程序流程图 N Y Y Y N N 初始化 按键处理 发报警搜索命令 有键按下吗? 显示 DS18B20 OK 显示温度 数据处理 读 DS18B20 DS18B2 存在? DS18B20 温度超限? 鸣报警器 显示 DS18B20 ERROR N 19 5.1 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的字节,其程序流程图如图 5-2 示 图 5-2 读温度流程图 5.2 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约 为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程 序流程图如上图,图 5-3 所示 发 DS18B20 复位命 令 发跳过 ROM 命令 发读取温度命令 移入温度暂存器 结束 开始 开始 发 DS18B20 复位命令 发跳过 ROM 命令 发温度转换开始命令 结束 20 图 5-3 温度转换流程图 5.3 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,其程序流程图如图 5-4 所示 图 5-4 计算温度流程图 5.4 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示 位为 0 时将符号显示位移入下一位。程序流程图如图 5-5 所示。 开始 计算小数位温度 BCD 值 计算整数位温度 BCD 值 结束 N N Y Y 温度数据移入显示寄存器 十位数 0? 百位数 0? 十位数显示 百位数不显示 显示百位数 数据 结束 开始 21 图 5-5 显示数据刷新流程图 5.5 程序代码见附录 5.6 温度计具体使用功能 5.6.1 检测 DS18B20 状态 (1) DS18B20 正常时则显示: DS18B20 OK TEMP: 25.8 显示实际温度 (2) DS18B20 不正常时则显示: DS18B20 ERROR TEMP: - 显示 这时要检查 DS18B20 是否连接好、接对,否则要更换一个新的 DS18B20 芯片。 5.6.2 查看温度报警值 K1 进入查看温度报警值状态,即查看所设置的上下报警值。 LCD 1602 此时显示: LOOK ALERT CODE TH:028 TL:18 显示上下报警值,其中 TH:028 是高位报警值,TL:18 是低 位报警值 K3 确定键,退出查看温度报警值状态。 5.6.3 设定温度报警值 K2 进入设定温度报警值状态。 LCD 1602 显示: RESET ALERT CODE TH:028 TL:18 K1 : 设定值加(UP)、减(DOWN)方式选择键(默认为减少) K2 : TH 值设定键 K3 : TL 值设定键 K4 : 确定键 (退出设定状态) K2 或 K3 以减(DOWN)方式设定,当设定数值减到“0”时自动转换为加(UP)方式。 K2 或 K3 以加(UP)方式设定,当设定数值 TH=120、TL=99 时,设定数值均变为“0”。 K4 确定并退出设定温度报警值状态。 22 将设定的温度报警值自动存入 DS18B20 的 EEROM 中,可永久保存,每次开机时自动 从 DS18B20 的 EEROM 读出温度报警值。 5.6.4 报警状态显示 (1) 当实际温度大于 TH 的设定值时, LCD1602 显示: DS18B20 OK TEMP: 88.8 H 关闭继电器,蜂鸣器响,表示超温。 (2) 当实际温度小于 TL 的设定值时, LCD1602 显示: DS18B20 OK TEMP: 18.8 被减数,则 JC CHULI1 ;借位标志位 C=1,转 MOV A,TEMP_ZH SUBB A,TEMP_TL ;减数被减数,则 JC CHULI2 ;借位标志位 C=1,转 MOV DPTR,#BJ5 CALL TEMP_BJ3 CLR RELAY ;继电器吸合 RET CHULI1: MOV DPTR,#BJ3 CALL TEMP_BJ3 SETB RELAY ;继电器关闭 CALL BEEP_BL RET CHULI2: MOV DPTR,#BJ4 CALL TEMP_BJ3 CALL BEEP_BL RET ;- TEMP_BJ3: MOV A,#0CEH CALL WCOM MOV R1,#0 MOV R0,#2 BBJJ3: MOV A,R1 MOVC A,A+DPTR CALL WDATA INC R1 DJNZ R0,BBJJ3 RET BJ3: DB “H“ BJ4: DB “ BCD DIV AB ;B= A % 100 MOV R4,A ;R7 = 百位数 MOV A,#0AH XCH A,B DIV AB ;B = A % B SWAP A ORL A,B RET ;- ; 小数部分码表 ;- TEMPDOTTAB: DB 00H,00H,01H,01H,02H,03H,03H,04H DB 05H,05H,06H,06H,07H,08H,08H,09H ;= LOOK_ALARM: MOV DPTR,#M_ALAX2 ;指针指到显示信息区 MOV A,#2 ;显示在第二行 CALL LCD_PRINT MOV A,#0C6H CALL TEMP_BJ1 MOV A,TEMP_TH ;加载 TH 数据 MOV LCD_X,#3 ;设置位置 CALL SHOW_DIG2H ;显示数据 MOV A,#0CEH CALL TEMP_BJ1 MOV A,TEMP_TL ;加载 TL 数据 MOV LCD_X,#12 ;设置位置 CALL SHOW_DIG2L ;显示数据 RET ;- M_ALAX1: DB “ LOOK ALERT CODE“,0 M_ALAX2: DB “TH: TL: “,0 ;- TEMP_BJ1: 附录 36 CALL WCOM MOV DPTR,#BJ2 ;指针指到显示信息区 MOV R1,#0 MOV R0,#2 BBJJ2: MOV A,R1 MOVC A,A+DPTR CALL WDATA INC R1 DJNZ R0,BBJJ2 RET BJ2: DB 00H,“C“ ;- SHOW_DIG2H: ;在 LCD 的第二行显示数字 MOV B,#100 DIV AB ADD A,#30H PUSH B MOV B,LCD_X CALL LCDP2 POP B MOV A,#0AH XCH A,B DIV AB ADD A,#30H INC LCD_X PUSH B MOV B,LCD_X CALL LCDP2 POP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论