数字显示温度计的设计与研究论文_第1页
数字显示温度计的设计与研究论文_第2页
数字显示温度计的设计与研究论文_第3页
数字显示温度计的设计与研究论文_第4页
数字显示温度计的设计与研究论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、摘要温度是一种最基本的环境参数,人们生活与环境温度息息相关,日常生活以及工业生产过程中都时常需要测量温度,因此研究温度测量的方法和控制有重要的意义。 本文介绍了一种以单片机为主要控制器件,以 DS18B20 为温度传感器的一台数字显示温度计。它主要包括硬件电路的设计和系统程序的设计,硬件电路主要包括主控制器,测温控制电路和显示电路等。主控制器采用单片机 AT89S51,温度传感器则采用美国 DALLAS 半导体公司成产的 DS18B20,显示电路采用 8 位共阴极 LED 数码管,ULN2803A 为驱动的动态扫描直读显示。测温控制电路由温度计传感器和预置温度值比较报警电路组成。当实际测量温度

2、值大于预置温度值时,发出报警信号。系统程序主要包括主程序,测温子程序和显示子程序等。DS18B20 新型单总线数字温度传感器是DALLAS 公司生产的单线数字温度传感器,集温度测量和 A/D 转换于一体。直接输出数字量,具有接口简单,精度高,抗干扰能力强,工作稳定可靠等特点。由于采用了智能温度传感器 DS18B20 作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。DS18B20 温度计还可以在高温报警,远距离多点测温控制等方面进行应用开发,具有很好的发展前景。关键词:单片机 温度检测 AT89S51 DS18B20 显示电路AbstractTemp

3、erature is one of the most basic environmental parameters, and environmental temperature is closely related to peoples life, daily life and industrial production process are often need to measure temperature, therefore the research on the temperature measurement and control has important significanc

4、e.This paper introduces a microcontroller as the main control device based on DS18B20temperature sensor, a digital display thermometer. It mainly includes the hardware circuit design and system design procedures, the hardware electric circuit mainly comprises a main controller, temperature control c

5、ircuit and display circuit. The main controller chip AT89S51, the temperature sensor is used in the United States of America DALLAS semiconductor company into production DS18B20, display circuit uses8 common cathode LED digital tube, ULN2803A is driven by the dynamic scanning of direct reading. Temp

6、erature control circuit composed of a thermometer sensor and a preset temperature value alarm circuit. When the measured temperature value is larger than the preset temperature value, send out alarm signal. System program, including the main program, testing Wen Zi program and display subroutine and

7、 so on. DS18B20new kind of single bus digital temperature sensor is the production company DALLAS digital temperature sensor, temperature measurement and A / D conversion in one. Direct digital output, has a simple interface, high precision, strong anti-interference ability, stable and reliable work

8、ing characteristics.Due to the adoption of the intelligent temperature sensor DS18B20as a detecting element, compared with the traditional thermometer digital thermometer, the decrease of the external hardware circuit, with low cost and easy to use features. DS18B20thermometer can also be in high te

9、mperature alarm, remote multipoint temperature measurement and control and other aspects of application development, has the very good development prospect.Keywords: microcontroller temperature detection AT89S51 DS18B20 目录第 1 章 引言 .11.1 本文研究的背景目的和意义.11.2 国外研究状况.11.3 国内研究状况.21.4 本文研究主要内容 .2第 2 章 设计内容

10、及性能指标 .42.1 温度检测技术介绍 .4第 3 章 系统方案论证与比较 .6第 4 章 系统器件选择 .74.1 单片机的选择.74.2 温度传感器的选择.94.2.1 DS18B20 简介.94.2.2 DS18B20 使用中的注意事项.104.2.3 DS18B20 内部结构.114.2.4 DS18B20 测温原理 .124.2.5 提高 DS18B20 测温精度的途径.134.3 显示及报警模块器件选择.14第 5 章 硬件设计电路 .155.1 主控制器.155.2 显示电路.155.2.1 并行译码显示方式.155.2.2 串行译码显示方式.165.3 温度检测电路.165.

11、4 温度报警电路.19第 6 章 软件设计 .216.1 概述.216.2 主程序模块.216.3 各模块流程设计.226.3.1 温度检测流程.236.3.2 报警模块流程.246.3.3 中断设定流程.24第 7 章 总结和体会 .25参考文献 .26致谢 .27附录 .281数字显示温度计的设计与研究第 1 章 引言1.1 本文研究的背景目的和意义随着人们生活水平的不断提高,单片机无疑成为人们追求的目标之一。他给人们带来的方便是不可否定的,其中数字温度计就是一个典型的例子。但人们对他的要求越来越高,要是现代人工作,科研生活显得更好的更方便的设备需要从单片机技术入手,一切向着数字化发展,智

12、能化控制为目标。通过课程设计是我进一步熟悉了单片机的内部结构和工作原理,掌握了单片机应用系统设计的基本方法和步骤。通过学习 MCS-51 单片机,了解单片机在自动化装置中的作用以及掌握单片机的编程和调试方法,通过一个简单的实际输入控制以及显示系统,掌握 protel 和 keil 软件的使用。随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器 DS1620 具有线性优良,性能稳定,灵敏度高,抗干扰能力强,使用方便等。广泛应用于冰箱,空调,粮仓等日常用生活中温度的测量和控制。1.2 国外研究状况最早的温度计是在 1593 年由意大利科学家伽利略(15641642)发明的

13、。后来又相继出现华氏温度计、列式温度计、摄氏温度计,均用水银和酒精等制作,现在英、美国家多用华氏温度计,德国多用列氏温度计,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度计。随着科学技术的发展和现代工业技术的需要,测温技术也在不断地改进和提高。由于测温范围变得越来越广,根据不同的要求,又制造出不同需要的测温仪器:气体温度计、电阻温度计、温差电偶温度计、高温温度计等。而我需要研究的是数字温度计,它是通过一定的电路和温度传感器进行测控,将温度用数字准确的显示出来。数据显示比较直观而且测量精度也比较高,范围也比较大。21.3 国内研究状况随着国内外工艺的日益发展,温度检测技术也

14、不断的进步,目前的温度检测使用的温度计种类繁多、应用范围也较广泛,大致包括一些几种方法:利用物体热胀冷缩原理制成的温度计,包括玻璃温度计、双金属温度计、压力温度计等;(2)利用热电效应技术制成的温度检测元件利用此项技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍未应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用热电偶镍铬-镍硅、镍铬-康铜、铂铑-铂、铂锗 30-铂锗6 等; (3)利用热阻效应制成的温度计可分为电阻测温元件、导体测温元件、陶瓷热敏测温元件;(4)利用热幅原理制成的高温计辐射测温在近年相对其他的测温领域显得活跃些,热

15、辐射高温计通常分为两种:一种是单色辐射高温计,一般称为光学高温计;另一种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射, 。而受热物体放出的辐射能的多少,与他的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的。(5)利用声学原理进行温度测量声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布进行检测,判断炉的燃烧状况,进行实时调节和控制。1.4 本文研究主要内容本设计介绍数字显示温度计,具有方便测温范围广,测温准确,其输出温度采用数字显示。该设计控制使用单片机 AT89S51,测温传感器使用 DS18B

16、20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示,能准确达到以上要求。随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求有很大的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。单片机控制无疑是人们追求的目标之一。在三大信息信息采集(即传感器技术)、信息3传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,人民的生活与环境的温度息息相关,不仅在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要现实意义。4第 2 章

17、 设计内容及性能指标本课题主要研究如何利用 DS18B20 智能温度传感器实时显示温度.并利用 DS18B20智能温度传感器、DS1302 时间基准电路和单片小系统,设置一个数字温度采集系统。并设计一个人机接口电路, 并将其与 LED 显示键盘合并使用,制成一个能实时显示温度的数字温度计。本次课题还要求学会并掌握电路的焊接与组装,软件的结构化编程,并对软件进行调试,掌握系统联调的方法。2.1 温度检测技术介绍近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重大进展。新一代的温度检测元件正在不断地出现和完善化。(1)晶体管温度检测元件半导体温度检测元件是具有代表性的温度检测

18、元件。半导体的电阻温度系数比金属打 1-2 个数量级,二极管和三极管的 PN 结电压、电容对温度灵敏度很高。基于上述测温原理已研制了各种温度检测元件。(2)集成电路温度检测元件利用硅结晶管基极发射极间电压与温度关系(即半导体 PN 结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。目前,国内外业进行了生产。(3)磁核共振温度检测器所为磁核共振现象是指具有核自旋的物质置于静磁场中时,当于静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原理研制成的温度检测器,成为核磁共振温度检测器。

19、这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号是用于数字化运算处理,故是一种性能十分良好的温度检测器。在常温下,可做理想的标准温度计之用。(4)热噪声温度检测器他的原理是利用热电阻元件产生的噪声电压与温度的相关性,5其特点是:1.输出噪声电压大小与温度是正比例关系;2.不受压力影响;3.感温元件的阻值几乎不影响测量精确度。所以它是可以直接读出绝对温度值而不受材料和条件限制的温度检测器。(5)石英晶体温度检测器它采用 LC 或 Y 型切割的石英晶片的共振频率随温度的变化来制作的。它利用P技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到 0.001,所以可做标准检测之用

20、。(6)激光温度检测器激光测温特别适用于远程测量和特殊环境下的温度测量,用氦氖激光源的激光作反射计可测得很高的温度,精度达 1%;用激光干涉和反射原理制作的温度检测器可测得更高温度,上限可达 3000,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。(7)微波温度检测器采用微波测温可以达到快速测量高温的目的。它是利用在不同的温度下,温度与控制电压呈线性关系的原理制成的。这种检测器的灵敏度为 250kHZ/,精度为1%左右,检测范围为 20-1400。(8)纯贵金属热电偶的研究由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性好得多。在铂铑合金热电阻(S,R 型)的不确定

21、度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替 S 和 R 型热电偶,作为传递的标准。(9)信息技术时代自动化系统中的温度检测仪表现代的工业进程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一大自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的自动化装置之间的数字式、串行、多点通信的数据总线。所有的现场仪表均接到现场总线上。在这样的系统中,通常不应使用各种不同输出的温度计,必须将输出转变成统一的电信号,这样的“温度计”就变成了“温度变送器” 。在现场总线控制系统中的温度变送器主要是有热电偶和热电阻变送器,也有辐射温度变送器。6第 3 章 系统方

22、案论证与比较该系统主要由温度测量和数据采集两部分电路组成,实现的方法有很多种。下面对一种方案进行具体分析。采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图 3-1) ,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有 A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在

23、着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到 A/D 转换电路,感温电路比较麻烦。tBB图 3-1 热电偶电路图系统主要包括对 A/D0809 的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、A/D 转换芯片,处理芯片为 51 芯片,执行机构有 4 位数码管、报警器等。系统框图如图 3-2 所示:AAU7数码管报警电路测温电路晶振电路复位电路单 片 机A/D0809按键防抖动图 3-2 热电偶温差电路测温系统框图8第 4 章 系统器件选择4.

24、1 单片机的选择AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS 8 位单片机,片内含 4kbytes 的可编程的 Flash 只读程序存储器,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程(ISP) ,也可用传统方法进行编程,所以低价位 AT89S51 单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。主要特性如下1、与 MCS-51 兼容2、4K

25、 字节可编程闪烁存储器3、寿命:1000 写/擦循环4、数据保留时间:10 年5、全静态工作:0Hz-24Hz6、三级程序存储器锁定7、28*8 位内部 RAM8、32 可编程 I/O 线9、两个 16 位定时器/计数器10、5 个中断源11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路 图 4-1 AT89S51 单片机引脚图AT89S51 引脚功能介绍 AT89S51 单片机为 40 引脚双列直插式封装。 其引脚排列和逻辑符号如图 4-1 所示。各引脚功能简单介绍如下:1、VCC:供电电压 92、GND:接地 3、P0 口:P0 口为一个 8 位漏级开路双向 I/O

26、 口,每个管脚可吸收 8TTL 门电流。当 P1 口的管脚写“1”时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当FLASH 进行校验时,P0 输出原码,此时 P0 外部电位必须被拉高。4、P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。5、P2 口:P2 口为一

27、个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2 口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。6、P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出

28、4 个 TTL门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3 口将输出电流(ILL),也是由于上拉的缘故。P3 口也可作为 AT89S51 的一些特殊功能口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断 0)P3.3 INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 WR (外部数据存储器写选通)P3.7 RD (外部数据存储器读选通)同时 P3 口同时为闪烁编程和编程校验接收一些控制信号。7、RST:复位输入。当振荡器复位器件时

29、,要保持 RST 脚两个机器周期的高电平10时间。8、ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行MOVX,MOVC 指令时 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。9、PSE

30、N:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期 PSEN 两次有效。但在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。10、EA/VPP:当 EA 保持低电平时,访问外部 ROM;注意加密方式 1 时,EA 将内部锁定为 RESET;当 EA 端保持高电平时,访问内部 ROM。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。11、XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。12、XTAL2:来自反向振荡器的输出。4.2 温度传感器的选择由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部

31、元件支持,且硬件电路复杂,制作成本相对较高。这里采用 DALLAS公司的数字温度传感器 DS18B20 作为测温元件。4.2.1 DS18B20 简介DS18B20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有 LTM8877,LTM8874 等等。主要根据应用场合的不同而改变其外观。封装后的 DS18B20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20 的性能特点

32、如下:111.采用单总线专用技术,即可将通过串行口线,也可通过其它 I/O 口线与微机接口,无需经过其它变换电路,直接输出被测温度值(9 位二进制数,含符号位)。2.测温范围为-55至+125,测量分辨率为 0.0625。3.内含 64 位经过激光修正的只读存储器 ROM。4 用户可分别设定各路温度的上、下限。5.内含寄生电路。4.2.2 DS18B20 使用中的注意事项Dallas 公司的单总线数字温度计 DS18B20 被广泛应用于测控系统中,如仓库、机房、温室等温度监控地点,DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问

33、题:(1) 较小的硬件开销需要相对复杂的软件进行补偿,由于 DS18B20 与微处理器间采用串行数据传送,因此,在对 DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等高级语言进行系统程序设计时,对DS18B20 操作部分最好采用汇编语言实现。(2) 在 DS18B20 的有关资料中均未提及单总线上所挂 DS18B20 数量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3) 连接 DS18B

34、20 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用 DS18B20 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4) 在 DS18B20 测温程序设计中,向 DS18B20 发出温度转换命令后,程序总要等待 DS18B20 的返回信号,一旦某个 DS18B20 接触不好或断线,当程序读该 DS18B20 时,将没有返回信号

35、,程序进入死循环。这一点在进行 DS18B20 硬件连接和软件设计时也要给予一定的重视。124.2.3 DS18B20 内部结构DS18B20 内部结构如图 3 所示:主要有 64 位光刻 ROM、温度传感器、非易失性温度报警触发器 TH 和 TL、配置寄存器等组成。164 位光刻 ROM 是生产厂家给每一个出厂的 DS18B20 命名的产品序列号,可以看作为该器件的地址序列号。其作用是使每一个出厂的 DS18B20 地址序列号都各不相同,这样,就可以实现一根总线上挂接多个 DS18B20 的目的。2DS18B20 中的温度传感器完成对温度的测量,输出格式为:16 位符号扩展的二进制补码。当测

36、温精度设置为 12 位时,分辨率为 O0625,即 O0625LSB。其二进制补码格式如图 2 所示。温度值得低字节D7D6D5D4D3D2D1D0温度值得高字节SSSSSD10D9D8图 2其中,S 为符号位,S=1,表示温度 为负值;S=0,表示温度为正值。例如+125的数字输出为 07D0H,-55的数字输出为 FC90H。一些温度值对应的数字输出如图 4所示。3DS18B20 中的低温触发器 TL、高温触发器 TH,用于设置低温、高温的报警数值。DS18B20 完成一个周期的温度测量后,将测得的温度值和 TL、TH 相比较,如果小于TL,或大于 TH,则表示温度越限,将该器件内的告警标

37、志位置位,并对主机发出的告警搜索命令作出响应。需要修改上、下限温度值时,只需使用一个功能命令即可对TL、TH 写入,十分方便。64 位ROM和一线接口存储和控制器高速暂存器8 位 CRC 生成器温度传感器低温触发器高温触发器配置寄存器13图三4DS18B20 中的高速暂存器是一个 9 字节的存储器,其含意如图 5 所示。开始两个字节为被测温度的数字量,其含义如图 2 所示。第 3、4、5 字节分别为TH、TL、配置寄存器的复制,每一次上电复位时被重写。配置寄存器有 R0、R1 组成,其值决定温度转换的精度位数、转换时间等,含义如图 6 所示。第 7 字节为测温计数的剩余值。第 8 字节为测温时

38、每度的计数值。第 9 字节读出的是前 8 个字节的 CRC 校验码,通过此码,可判断通讯是否正确。温度值二进制十六进制+850000 0011 0111 00000370H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5FH-551111 1100 1001 0000FC90H图 4R1R0转换精度温度分辨率转换时间 MS0090.593.7501100.25187.510110.12537511120.0625

39、750图 6暂存器内容字节地址温度最低数字位0温度最高数字位1高温上限 TH2低温下限值 TL3配置寄存器4保留5计数剩余值6每度计数值7CRC 效验8图 5144.2.4 DS18B20 测温原理DS18B20 测温原理如图 1 示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55所对应的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1 ,计数器 1 的预置将重

40、新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 斜率叠加器预置比较预置计数器 1温度寄存器=0计数器 2-0高温系数振荡器低温系数振荡器Tx停止加 115图 1 DS18B20 原理图在正常测温情况下,DS1820 的测温分辩率为 0.5以 9 位数据格式表示,其中最低有效位(LSB)由比较器进行 0.25比较,当计数器 1 中的余值转化成温度后低于 0.25时,清除温度寄存器的最

41、低位(LSB) ,当计数器 1 中的余值转化成温度后高于 0.25,置位温度寄存器的最低位(LSB) 。4.2.5 提高 DS18B20 测温精度的途径(1) 、DS18B20 高精度测温的理论依据 DS18B20 正常使用时的测温分辨率为 0.5,这对于水轮发电机组轴瓦温度监测来讲略显不足,在对 DS18B20 测温原理详细分析的基础上,我们采取直接读取DS18B20 内部暂存寄存器的方法,将 DS18B20 的测温分辨率提高到 0.10.01DS18B20 内部暂存寄存器的分布,其中第 7 字节存放的是当温度寄存器停止增值时计数器 1 的计数剩余值,第 8 字节存放的是每度所对应的计数值,

42、这样,我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用 DS18B20 提供的读暂存寄存器指令(BEH)读出以 0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分 T 整数,然后再用 BEH 指令读取计数器 1 的计数剩余值 M 剩余和每度计数值 M 每度,考虑到 DS18B20 测量温度的整数部分以 0.25、0.75为进位界限的关系,实际温度 T 实际可用下式计算得到:T 实际=(T 整数0.25)+(M 每度M 剩余)/M 每度。16 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤:每一次读

43、写之前都要对 DS18B0 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS1B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS1B20 收到信号后等待 1660 微秒左右,后发出60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。(2)测量数据比较为采用直接读取测温结果方法和采用计算方法得到的测温数据比较,通过比较可以看出,计算方法在 DS18B20 测温中不仅是可行的,也可以大大的提高 DS18B20 的测温分辨率。4.3 显示及报警模块器件选择在本设计中温度测量范围为 0125,精度为0.5,因此只需要

44、数码管就可以完成相关的显示功能,报警器可以用蜂鸣器配合三极管来代替。17第 5 章 硬件设计电路温度计电路设计总框图如图 5-1 所示,控制器使用单片机 AT89S51,温度计传感器使用 DS18B20,用 LED 数码管实现温度显示。图 5-1 温度计电路设计总框图本温度计大体分三个工作过程。首先,由 DS18B20 温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过 AT89S51 单片机芯片对送来的测量温度读数进行计算和转换,经显示电路显示于 LED 数码管上本电路主要由 DSl820 温度传感器芯片、LED 显示电路和 AT89S51 单片机芯片组成。其中,DSI820 温度

45、传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。5.1 主控制器单片机 AT89S51 具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很合适携手特式产品的使用。主机控制 DS18B20 完成温度转换必须经过三个步骤:初始化、ROM 操作指令、存储器操作指令。必须先启动 DS18B20 开始转换,再读出温度转换值。5.2 显示电路常用的 LED 显示驱动电路有并行译码方式、串行并行转换方式、显示驱动接口芯片方式等. 5.2.1 并行译码显示方式右图为单片机 AT89S51 输出显示的一个例子,4位 BCD 码数据从其 P1.0P1

46、.3 并行输出,经 7 段 LED显示驱动电路 CD4511 译码后驱动 LED 显示,这样只需向 P1.0P1.3 写入欲显示数字的 BCD 码,即可显传感器A/D 转换器显示器控制器18示出相应的数字。这种方式虽然简单,但占用单片机口线较多,资源利用率低,因此不常采用。5.2.2 串行译码显示方式右图所示为 AT89S51 的串口驱动数码管的电路,其中串口工作在方式 0,74LS164 是 8 位串入并出移位寄存器,负责将 RXD 输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,并且可以让 LED 显示 BCD 码以外的字符(如 A、B、C、D 等),但

47、是,当要显示的位数较多时,仍需占用较多的口线,并且在许多情况下需要串口工作在 UART方式,以便进行串行通信,从而限制了这种方式的使用范围。本设计显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用 p3 口的 RXD,和 TXD,串口的发送和接收,四只数码管采用 74LS164 右移寄存器驱动,显示比较清晰。5.3 温度检测电路DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据 I/O 均由同一条线来完成。DS18B20 的电源供电方式有 2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, VDD 和 GND 均接地, 他在需要远程温度探测和空

48、间受限的场合特别有用, 原理是当 1 W ire 总线的信号线 DQ 为高电平时, 窃取信号能量给 DS18B20 供电, 同时一部分能量给内部电容充电, 当 DQ 为低电平时释放能量为 DS18B20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到 E2PROM 时) , 同时芯片的性能也有所降低。因此, 在条件允许的场合, 尽量采用外供电方式。无论是内部寄生电源还是外部供电,I/O 口线要接 5K 左右的上拉电。在这里采用前者方式供电. 外部电源供电方式是 DS18B20 最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳

49、定可靠的多点温度监控系统。推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根 VCC 引线。在外接电源方式下,可以充分发挥 DS18B20 宽电源电压范围的优点,即使电源电压 VCC 降到 3V 时,19依然能够保证温度量精度。由于 DS18B20 只有一根数据线,因此它和主机(单片机)通信是需要串行通信,而 AT89S51 有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DS18B20 必须遵循如下协议:初始化、ROM 操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均严格按照时序。主机发送(Tx)-复位脉冲(最短为 480s 的低电平信号) 。接着主

50、机便释放此线并进入接收方式(Rx) 。总线经过 4.7K 的上拉电阻被拉至高电平状态。在检测到I/O 引脚上的上升沿之后,DS18B20 等待 1560s,并且接着发送脉冲(60240s 的低电平信号) 。然后以存在复位脉冲表示 DS18B20 已经准备好发送或接收,然后给出正确的 ROM 命令和存储操作命令的数据。DS18B20 通过使用时间片来读出和写入数据,时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种:写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写 1 时间片和写 0 时间片。所有时间片必须有 60 微秒的持续期,

51、在各写周期之间必须有最短为 1 微秒的恢复时间.读时间片:从 DS18B20 读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少 1 微秒;来自DS18B20 的输出数据在时间下降沿之后的 15 微秒内有效。为了读出从读时间片开始算起 15 微秒的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O 引脚经过外部拉电阻拉回高电平,所有读时间片的最短持续期为 60 微秒,包括两个读周期间至少 1s 的恢复时间。一旦主机检测到 DS18B20 的存在,它便可以发送一个器件 ROM 操作命令。所有ROM 操作命令均为 8 位长。所

52、有的串行通讯,读写每一个 bit 位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的 DS18B20 芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化;其次执行 ROM 命令;最后就是执行功能命令(ROM 命令和功能命令后面以表格形式给出)。如果出现序列混乱,则单总线器件不会响应主机。当然,搜索 ROM 命令和报警搜索命令,在执行两者中任何一条命令之后,要返回初始化。20基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机,且准备就绪。在主机检测到应答脉冲后,就可以发出 RO

53、M 命令。这些命令与各个从机设备的唯一 64 位 ROM 代码相关。在主机发出 ROM 命令,以访问某个指定的 DS18B20,接着就可以发出 DS18B20 支持的某个功能命令。这些命令允许主机写入或读出 DS18B20 便笺式 RAM、启动温度转换。软件实现 DS18B20 的工作严格遵守单总线协议:(1)主机首先发出一个复位脉冲,信号线上的 DS18B20 器件被复位。(2)接着主机发送 ROM 命令,程序开始读取单个在线的芯片 ROM 编码并保存在单片机数据存储器中,把用到的 DS18B20 的 ROM 编码离线读出,最后用一个二维数组保存 ROM 编码,数据保存在 X25043 中。

54、(3)系统工作时,把读取了编码的 DS18B20 挂在总线上。发温度转换命令,再总线复位。(4)然后就可以从刚才的二维数组匹配在线的温度传感器,随后发温度读取命令就可以获得对应的度值了。在主机初始化过程,主机通过拉低单总线至少 480us,来产生复位脉冲。接着,主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时 1560us,接着通过拉低总线 60240us,以产生应答脉冲。写时序均起始于主机拉低总线,产生写 1 时序的方式:主机在拉低总线后,接着必须在 15us 之内释放总线。产生写 0 时序的方式:在主机拉低总线后,只需在整个时序期间保持低

55、电平即可(至少 60us)。在写字节程序中的写一个 bit 位的时候,没有按照通常的分别写 0 时序和写 1 时序,而是把两者结合起来,当主机拉低总线后在15us 之内将要写的位 c 给 DO:如果 c 是高电平满足 15us 内释放总线的要求,如果c 是低电平,则 DOc 这条语句仍然是把总线拉在低电平,最后都通过延时 58us 完成一个写时序(写时序 0 或写时序 1)过程。写时间时序:当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙,写 1 时间隙和写 0 时间隙。所有写时间隙必须最少持续 60s,包括两个写周期至少 1s 的恢复时间。I/O 线电平变低后,DS

56、18B20 在一个 15s 到2160s 的窗口内对 I/O 线采样。如果线上事高电平,就是写 1,如果是低电平,就是写 0。主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的 15s 内允许数据线拉到高电平。主机要生成一个写 0 时间隙,必须把数据线拉到低电平并保存 60s。每个读时隙都由主机发起,至少拉低总线 1us,在主机发起读时序之后,单总线器件才开始在总线上发送 0 或 1。所有读时序至少需要 60us。读时间时序:当从 DS18B20 读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必须保持至少 1s;从 DS18B20 输

57、出的数据在读时间隙的下降沿出现后 15s 内有效。因此,主机在读时间隙开始后必须把 I/O 脚驱动拉为的电平保持 15s,以读取I/O 脚状态。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少 60s,包括两个读周期至少 1s 的恢复时间。复位时序:复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1660 微秒左右,后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。5.4 温度报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警输出。 (也可采用发光二级管报警电路,如过需要报警,则只需将相应位置 1,当参数判断完毕后,再看报警模型单元 ALARM 的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见图 5.10。sperkerR71K+5vGND22图 5.10 蜂鸣器电路连接图23第 6 章 软件设计6.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序) ,它

温馨提示

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

评论

0/150

提交评论