![【实用】温、湿度环境监测系统设计与实现解决方案_第1页](http://file4.renrendoc.com/view/ae95c91e41a1dcd269c9df58df1110f0/ae95c91e41a1dcd269c9df58df1110f01.gif)
![【实用】温、湿度环境监测系统设计与实现解决方案_第2页](http://file4.renrendoc.com/view/ae95c91e41a1dcd269c9df58df1110f0/ae95c91e41a1dcd269c9df58df1110f02.gif)
![【实用】温、湿度环境监测系统设计与实现解决方案_第3页](http://file4.renrendoc.com/view/ae95c91e41a1dcd269c9df58df1110f0/ae95c91e41a1dcd269c9df58df1110f03.gif)
![【实用】温、湿度环境监测系统设计与实现解决方案_第4页](http://file4.renrendoc.com/view/ae95c91e41a1dcd269c9df58df1110f0/ae95c91e41a1dcd269c9df58df1110f04.gif)
![【实用】温、湿度环境监测系统设计与实现解决方案_第5页](http://file4.renrendoc.com/view/ae95c91e41a1dcd269c9df58df1110f0/ae95c91e41a1dcd269c9df58df1110f05.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 温、湿度环境监测系统设计与实现解决方案摘 要 温湿度是一种最基本的环境参数,温湿度的测量方法和装置对现在的生活、生产具有重要的意义。此温湿度测量系统是基于单线式温度传感器DS18B20 、电容式湿度传感器、 单片机 STC89C52 对温度湿度分别测量并通过液 晶显示屏 1602 经行显示。温度传感器 DS18B20 是单线式,体积超小,硬件开消 超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根 据指令给出温度数据,可读性高。其结构简单、经济实用、清洗效果好,具有很高的实用价值。本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。 关键词 : 单片机,温温度,
2、DS18B20 ,传感器,液晶显示器目录第一章 引 言 1第二章 设计方案 32.1 计算机、电子技术发展概述 32.2 系统主要单元的选择与论证 42.2.1 单片机控制模块的选择论证 42.2.2 温度湿度检测模块的选择与论证 52.2.3 显示模块的选择与论证 52.3 主要器件选取与系统方框图 6温度传感器的选取 6湿度传感器的选取 82.3.3 总体方案设计 9第三章 设计原理 1.0DS18B20 简介 1.0概述 1.03.2.2 详细说明 1.2HS1101 简介 2.4概述 2.4HS1101 工作原理 2.5第四章 系统设计 2.74.1 系统组成 2.74.1.1 温度测
3、量传感部分 2.84.1.2 湿度测量传感部分 2.84.1.3 控制部分 2.84.1.4 蜂鸣器电路原理 2.84.1.5 显示部分 2.94.1.6 电源部分 2.94.2 软件流程图 3.04.3 系统总的程序设计 3.3读取温度数据子程序的设计 3.3.4.3.2 数据比较程序的设计 3.4.4.3.3 数据设置程序的设计 3.4.4.4 软件仿真 3.64.5 硬件调试 3.74.6 电路测试 3.7第五章 结论 3.8参考文献 4.0致谢.错.误. !未定义书签附录.错.误. !未定义书签附 1 系统设计的原理图错误!未定义书签附 2 源代码.错.误. !未定义书签附3 DS18
4、B20 特性错.误. !未定义书签附4 HS1101 特性错误. !未定义书签 第一章 引 言现代电子技术日新月异,各种新型的自动控制系统也越来越多地运用到人们 的日常生活、工业生产等领域,它不但可以提高劳动生产率,而且可以使控制的 设备或执行的操作更加精确。传感器是信息采集的重要工具,传感器技术与通信 技术(信息传输)和计算机技术(信息处理) ,构成了现代信息技术的三大支柱, 它们在信息系统中分别起着“感觉” ,“神经”,和“大脑”的作用。现代电子产品 正在以前所未有的革新速度,向着功能多样化,体积最小化,功耗最低化的方向 发展。它与传统电子产品在设计上的显著区别:一是大量使用大规模可编写芯
5、片, 以提高产品性能,缩小产品体积,降低产品功耗;二是广泛运用现代计算机技术, 以提高电子设计自动化程序,缩短开发周期,提高产品的竞争力。单片机的单芯 片的微小体积和极低的成本,可广泛地嵌入到电子系统,办公自动化、舰船、个 人信息终端及通信产品等方方面面,成为现代电子系统中最重要的智能化工具。测量温湿度的关键是温湿度传感器,温湿度传感器的发展经历了三个发展阶段:传统的分立式传感器,模拟集成传感器,智能集成传感器。目前,国 际上新型温湿度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向 飞速发展。本文介绍智能集成温度传感器 DS18B20 和湿度传感器 HS1101 的结构特征; 以 S
6、TC89C52 单片机为控制器,以 1602 型 LCD 为显示器的温湿度测量装置;单 片机对温、湿度传感器的控制程序,温、湿度的读取, 16 进制到 BCD 码转换以 及 LCD 显示程序。使用 DS1820 的测温系统电路简单,测温精度高,连接方便, 占用处理器 I/O 端口少。使用 HS1101 的湿度传感器价格低廉,精度高,软件资 源丰富。但是较小的硬件开销意味着相对复杂的软件补偿,传感器与处理器间采用串行的数据通信, 因此在进行软件设计时设计汇编程序时 I/O 的时序就显得较 为复杂。温湿度是最基本的环境参数,人们的生活与其息息相关,在工业生产过程中 需要实时测量温湿度,在农业生产中
7、也离不开温湿度的测量,因此研究温度和湿 度的测量方法和装置具有重要的意义。 石河子大学学士学位论文 第二章 设计方案在本章中,我们将温、湿度环境监测系统的总体设计及其主要功能特点进行 简单的分析,并给出它的特点、实现功能、系统的简单操作以及对单片机及其控 制系统的了解。计算机、电子技术发展概述近年来,计算机技术迅猛发展,使得计算机在工业,农业,国防科研及日常 生活的各个领域显示了日益旺盛的生命力,它已成为各国工业发展水平的主要标 志之一,是发展新技术,改造老技术的强有力的武器,计算机使人类面临着一个 新的赞赏技术和工业革命,它的作用远远超过了因蒸汽机和电的出现而产生的工 业革命。目前,单片机正
8、朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS 化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等几个方面 发展。近几年,由于 CMOS 技术的进步,大大地促进了单片机的 CMOS 化,此 种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功耗精细管理 状态,并且单片机一般采用精简指令集结构和流水线技术,可以大幅度提高运行 速度,提升信息处理功能,中断和定时控制功能,在一般上还具有串行扩展技术, 随着低价位 OTP 及各种类型片内程序存储器的发展, 加之外围接口不断进入片内, 特别是 IIC ,API 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系 统结
9、构更加简化及规范化。这就引导我们利用单片机来实现对数显可调稳压电源 的控制。随着电子技术的迅速发展,计算机已深入渗透到我们的生活中, 就51 系列而 言,由于 Intel 公司将其内核使用权以专利互换或出售的形式转给世界许多著名 IC 制造商,随着计算机技术的不断发展,在工业测量控制领域内单片机的应用越来 越广泛。同时,随着超大规模集成电路工艺和集成制造技术的不断完善,单片机 的硬件集成度也不断提高,已经出现了能满足各种不同需求、具有各种特殊功能 的单片机,这类单片机具有集成度高、性能价格比优越、货源充足等优点,在工 业测量领域内获得了极为广泛的应用价值。现代的电子产品朝密集型发展,而电子产品
10、的温度特性普遍比较差,这就对 温、湿度的监测提出了新的要求。若采用国外进口的温、湿度监测系统,虽然其 性能较好,但是结合国情,其价格相当昂贵,又是全英文,推广起来较困难。就是在以上问题出现的情况下,我们设计出一个利用集成温度传感器及湿度 传感器,配合单片计算机系统,从软件的编制上实现对各外围硬件的控制,最终 实现对当前环境温、湿度进行监测。在硬件的设计上,所有元器件都采用了通用 型产品,使得设计出来的产品生产及维修都相当方便,可以有效地降低成本,同 时另外一点就是能用软件实现的功能尽量选用软件进行操作,更加突出了产品的 简单性和高可靠性,因此,我们这一设计方法是一个值得推广的方法,接下来我 们
11、就对方案与设计原理方框图进行比较分析。系统主要单元的选择与论证2.2.1单片机控制模块的选择论证方案一:采用XC9000系列的FPGA。该类器件具有并行处理能力,能快速 的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。方案二:采用单片机作为控制核心,单片机数学运算功能较强。在程序相互 调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成 熟,价格便宜。基于以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用温度湿度检测模块的选择与论证方案一:选用 DHT11 作为温湿度检测模块。 DHT11 是一款数字输出的复合 传感器,包含一个电阻式感湿元
12、件和 NTC 式温度检测元件,可测 2090%RH 湿 度,误差 5%RH ,050 摄氏度,误差 2 摄氏度。方案二:选用 DS18B20 温度传感器和 HS1101 湿度传感器。 DS18B20 是一 线式数字温度传感器,具有独特的单线式接口方式,测量范围在55。125 C,误差为土 0.5 C。最高精度可达0.0625 C。HS1101是电容式湿度传感器,可测相 对湿度范围在0%100%RH,误差为土 2%RH。方案选择,有上述数据可知,根据需要(温度测量范围为 -10-50 C,湿度为 0-100% ;温度测量误差为0.c,湿度测量误差为3%RH ;),从设计要求的精度 来看,本方案更
13、优。综上所述,虽然方案一具有综合作用,但是方案二的测试范围和精度都由于 方案一,故本模块采用方案二。2.2.3 显示模块的选择与论证方案一:采用 12864 液晶模块显示测得的数据,可显示较多组的数据,字体 较大,可清晰读数,但 12864 液晶模块价格昂贵,接线复杂,故不采用。方案二:采用 1602 液晶模块显示所测数据, 1602 液晶接线简单方便,同时 也能满足显示需要,价格远低于 12864 液晶。因此,本方案为首选方案。综上所述,显示模块选择方案二。2.3主要器件选取与系统方框图为了使设计具有高可靠性,与实际运用的紧密结合性,从经济、实用的角度 出发,我们对室内温、湿度控制系统进行精
14、心的设计,在设计过程中,我们综合 多方面的知识进行分析,对于本系统的设计,其控制部分的电路基本相同,主要 不同的是对温、湿度传感器的选用,下面就各种不同的传感器构成的温、湿度监 测系统进行分析与对比。2.3.1温度传感器的选取一、热膨胀式温度计该温度计是利用膨胀法来测量温度的一种仪表。膨胀式温度计按选用的物质不同可分为液体膨胀式温度计,气体膨胀式温度计(压力式温度计)和固体膨胀式温度计三大类。对于液体膨胀式温度计,根据填充的工作液不同又可分为水银温 度计和有机液体温度计;固体膨胀式温度计,按结构又可分为双金属温度计和杆 式温度计两种。膨胀式温度计可以用作标准仪器,广泛用于测量设备,管道和容 器
15、的温度;在医疗卫生和食品工业中也得到了广泛的应用。膨胀式温度计具有结 构简单,制造和使用方便,价格便宜以及精度高等优点。缺点:不便于远距离测温(压力式温度计除外),结构脆弱,易坏。二、电阻温度计热电阻是利用导体或半导体的电阻值随温度变化而变化的特性来测量温度的 一种感温元件。使用热电阻作感温元件的温度计常称为电阻温度计。常用的热电 阻有:铜电阻、铂热电阻和镍热电阻。热电阻必须与二次仪表配合使用才能指示 出被测介质的温度。热电阻的测温原理是基于金属导体的电阻值随温度的变化而 变化的特性,再用显示仪表测出热电阻的电阻值从而得出与电阻值相应的温度值。 这种测温的方法已广泛运用于工业生产与民用生活中,
16、在此基础上,人们还将热敏电阻与信号放大、模数转换集成在一块芯片中,开发了集成温度传感器,使得 设计出来的温度自动控制系统既简单可靠性又高,因此在业内运用极广。优点:电阻温度计具有测量精度高,性能稳定,灵敏度高,应用范围广,可 远距离测温,便于微机实时处理,并能实现温度自动控制和记录。三、热电偶热电偶是用两种不同成份的导体焊接在一起,两端温度不同时,在回路中就 会有热电势产生,因此热电偶是通过测量热电势从而测量温度的一种感温元件, 它是一种变换器,它能将温度信号转变为电信号再由显示仪表显示出来。热电偶 测量温度的基本原理是热电效应。它是热电效应理论的具体应用之一。在温度测 量中得到了广泛的应用。
17、优点:测量精度高,结构简单,动态响应快,可作远距离测量, 测温范围广。四、石英温度传感器测温仪石英温度传感器的测温原理是以石英晶体片作为测温元件,将温度变化的模 拟量转化为石英晶体震荡频率的数字量,再将此频率信号进行转换,并显示其温 度值。石英晶体温度传感器稳定性很好,灵敏度可达 0.001 C以上。缺点:响应速度较慢,测温速度约为一秒钟一次,显然不适合快速测温场合。五、DS18B20传感器 适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据 线供。独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即 可实现微处理器与DS18B20的双向通讯。DS18B20支持
18、多点组网功能,多个DS18B20可以并联在唯一的三线上, 实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5 )温范围55 C+ 125 C,在-10+85 C时精度为土 0.5 C。可编程的分辨率为912位,对应的可分辨温度分别为0.5 C、0.25 C、 0.125 C和0.0625 C,可实现高精度测温。在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最 多在750ms内把温度值转换为数字,速度更快。 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同 时可传送CRC校验码,具有极强的
19、抗干扰纠错能力。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 经过以上分析,结合本系统的运用需要,决定选用电压电流式集成温度传感器DS18B20作为系统的测温传感器。2.3.2湿度传感器的选取湿敏传感器是能够感受外界湿度变化,并通过器件材料的物理或化学性质变 化,将湿度转化成有用信号的器件。湿度检测较之其它物理量的检测显得困难, 这首先是因为空气中水蒸气含量要比空气少得多;另外,液态水会使一些高分子 材料和电解质材料溶解,一部分水分子电离后与溶入水中的空气中的杂质结合成 酸或碱,使湿敏材料不同程度地受到腐蚀和老化,从而丧失其原有的性质;再者, 湿信息的传递必须靠水对湿敏器件
20、直接接触来完成,因此湿敏器件只能直接暴露 于待测环境中,不能密封。通常,对湿敏器件有下列要求:在各种气体环境下稳 定性好,响应时间短,寿命长,有互换性,耐污染和受温度影响小等。微型化、 集成化及廉价是湿敏器件的发展方向。HS1101以其全互换性、在标准环境下不需校正、长时间饱和下快速脱湿、快速反应时间、价格低廉等特点深受大 家欢迎。2.3.3总体方案设计该系统主要由以下功能块系统构成:中央控制处理器STC89C52组成的主机 系统;环境数据采集系统,输出显示与键盘控制系统等。主要的系统电路有:电源电路、温度传感器与湿度传感器电路、显示电路, 报警电路、键盘输入控制电路等。电路分析我们在下一章节
21、中进行分析。该系统的主要特点有:(1)该产品的互换性好,响应速度快,抗干扰能力强,外围电路简单易懂, 因此体积小。(2)该系统能用软件的方式控制硬件,所有用软件方式设计的系统向硬件系 统的转换是由有关开发软件自动完成的,易操作。(3 )可以从以前的组合设计转向真正的自由设计,所以设计的移植性好,效 率高。可适合大规模的现场制作。图2-1 基于DS18B20和HS1101的温湿度监测系统方框图第三章设计原理DS18B20 简介概述Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“-线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组 建传感器网络,为测量系
22、统的构建引入全新概念。同DS1820 一样DS18B20也支持“一线总线”接口,测量温度范围为-55C+125 C,在-10+85 C范围内,精度为土0.5C。现场温度直接以“一线总线” 的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量, 如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同, 新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品 更便宜,体积更小。DS18B20数字温度计提供9位温度读数,指示器件的温度 。信息经过单线接口送入 DS18B20或从DS18B20送出,因此从中央处理器 到DS18b20仅需连接一条线(和
23、地),读写和完成温度变换所需的电源可以由数 据线本身提供,而不需要外部电源。因为每一个 DS1820 有唯一的系列(silicon serial number )因此多个 DS1820可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏 器件。此特性的应用范围包括 HVAC环境控制,建筑物、设备或机械内的温度检 测,以及过程监视和控制中的温度检测.特性* 独特的单线接口 ,只需 1 个接口引脚即可通信*多点( multidrop )能力使分布式温度检测应用得以简化*不需要外部元件*可用数据线供电*不需备份电源*测量范围从-55 C至+125 C,增量值为0.5 C等效的华氏温度范围是
24、-67F至257 ,增量值为 0.9 *以 9 位数字值方式读出温度*在 1 秒(典型值)内把温度变换为数字*用户可定义的,非易失性的温度告警设置*告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况)*应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统2 . 引脚排列PIN ASSIGNMENTUAL LAS DS182CBOTTOM HIEjVNC = NC = NC = NC = NC =NC = VDD =DQ =i= S1B20S 16-PIN SSOP Sea Meeh. Drawing* SeclicnOCCCCCCCNNNNNNNNGDSWJOPR 35
25、 PACKAGESee Mbch Drawings Sea ion3.引脚说明引脚8脚SOIC引脚PR35符号说明51GND地42DQ单线运用的数据输入/输出引脚,漏极开 路见。33Vdd寄生电可选Vdd引脚322详细说明1.工作原理图3-1的框图表示DS18B20的主要部件DS18B20有三个主要的数据部件:1) 64位光刻ROM ; 2 )温度灵敏元件;3)非易失性温度告警触发器 TH 和TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能 量贮存在内部的电容器中,在单信号线为低电平的时间期内,断开此电源直到信号线变为高电平重新接上寄生(电容)电源为止。作为另一种可供选择
26、的方法, DS18B20也可用外部5V电源供电。图3-1DS18B20结构框图与DS18B20的通信经过一个单线接口。 在单线接口情况下,在ROM操作未 定建立之前不能使用存贮器和控制操作。主机必须首先提供五种ROM操作命令之一:1) Read ROM(读 ROM) ; 2) Match ROM (匹配 ROM) ; 3)Search ROM (搜索 ROM); 4)Skip ROM (跳过 ROM);5)Alarm Search (告警搜索)。这些命令对每一器件的 64位激光ROM部分进行操作。如果在单线上 有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少 器件及其类型
27、。在成功地执行了 ROM操作序列之后,可使用存贮器和控制操作, 然后主机可以提供六种存贮器和控制操作命令之一。一个控制操作命令指示DS18B20完成温度测量,该测量的结果将放入DS1820的高速暂存存贮器(Scratchpad memory )通过发出读暂存存储器内 容的存储器操作命令可以读出此结果。每一温度告警触发器 TH和TL构成一个字 节的EEPROM。如果不对DS18B20施加告警搜索命令,这些寄存器可用作通用 用户存储器。使用存储器操作命令可以写 TH和TL。对这些寄存器的读访问通过 高速暂存存贮器。所有数据均以最低有效位在前的方式被读写。寄生电源(parasite power)图3
28、-1示出寄生电源电路。当I/O或Vdd引脚为高电平时,这个电路便取得 电源,只要符合指定的定时和电压要求,I/O将提供足够的功率。寄生电源的优 点是双重的:1)利用此引脚,远程温度检测无需本地电源;2 )缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时I/O线上必须提 供足够的功率。因为DS18B20的工作电流高达1mA,5K的上拉电阻将使I/O线 没有足够的驱动能力。如果几个 DS1820在同一条I/O线上而且企图同时变换, 那么这一问题将变得特别尖锐。DS18B20的运用DS18B20通过使用在板温度测量专利技术来测量温度。温度测量电路的方框 图
29、见图3-4所示。DS18B20通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度,而门开通期由高温度系数振荡器决定。计数器予置对应于-55 :的基数,如果在门开通期结束前计数器达到 零,那么温度寄存器它也被予置到-55的数值将增量,指示温度高于-55。同时,计数器用钭率累加器电路所决定的值进行予置。为了对遵循抛物线规律-的振荡器温度特 性进行补偿,这种电路是必需的,时钟再次使计数器计值至它达到 零。如果门开通时间仍未结束, 那么此过程再次重复。钭率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量。 通过改变温度每 升高一度,计数器必须经历的计数个数来实行补偿。因此,
30、为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(钭率累加器的值)二者都必须知道。DS18B20内部对此计算的结果可提供 0.5 C的分辨力。温度以16bit带符 号位扩展的二进制补码形式读出,表 3-1给出了温度值和输出数据的关系。数据 通过单线接口以串行方式传输。DS18B20测温范围-55 C +125 C,以0.5 C递 增。如用于华氏温度,必须要用一个转换因子查找表。表3-1温度数字输出(二进 制)数据输出(16进制)+125000001111111101007D0h+25.062500000001100100010191h+1/2000000000000100
31、00008h000000000000000000000h-1/21111111111111000FFF8h-25.06251111111001101111FF6Fh-551111110010010000FC90h注意DS18b20内温度表示值为1/2 C LSB,如下所示9bit格式:域低仃效位)LSB11001110最高有效(符号)位被复制充满存储器中两字节温度寄存器的高MSB位,由这种“符号位扩展”产生出了示于表1的16bit温度读数可用下述方法获得更高的分辨力。首先,读取温度值,将0.5 0位(LSB)从读取的值中截去,这个值叫做 TEMP_READ。然后读取计数器中剩余的值,这个 值是
32、门周期结束后保留下来的值(COUNT_REMAIN )。最后,我们用到在这个温 度下每度的计数值(COUNT_PER_C)。用户可以用下面的公式计算实际温度值:TEMPRATVRE(温度XTEMP碎”心门心“-吹亠心皿脛皿叫_COUNT_ PER _C4 报警搜索操作DS18B20完成一次温度转换后,就拿温度值和存储在TH和TL中的值进行比较。因为这些寄存器是8位的,所以0.5 C位被忽略不计。TH或TL的最高有 效位直接对应16位温度寄存器的符号位。如果测得的温度高于TH或低于TL,器 件内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新。当 报警标识置位时,DS18B20会对
33、报警搜索命令有反应。这样就允许许多DS18B20 并联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件就会被立 即识别出来并读取,而不用读未报警的器件。5.64位光刻ROM每只DS18B20都有一个唯一的长达64位的编码。最前面8位是单线系列编码(DS18B20的编码是19h )。下面48位是一个唯一的序列号。最后 8位是以上56位的CRC码。64位ROM和ROM 操作控制区允许 DS18B20做为单线 制器件并按照详述于“单线总线系统” 一节的单线协议工作。只有建立了 ROM操 作协议,才能对DS18B20进行控制操作。单线总线控制器必须提供5个ROM操 作命令其中之一:1) Re
34、ad ROM , 2) Match ROM , 3) Search Rom , 4) Skip ROM ,5) Alarm Search。成功进行一次 ROM 操作后,就可以对 DS18b20 进 行特定的操作,总线控制器可以发出六个存储器和控制操作命令中的任一个。64位光刻ROM8位CRC编码48位序列号8位产品系列编码MSBLSB MSBLSB MSBLSB6. CRC发生器DS18B20 中有8位CRC存储在 64位ROM 的最高有效字节中。总线控 制器可以用64位ROM中的前56位计算出一个CRC值,再用这个和存储在 DS18b20中的值进行比较,以确定 ROM数据是否被总线控制器接收
35、无误。 CRC 计算等式如下:CRC=X8+X5+X 4+1DS18B20同样用上面的公式产生一个 8位CRC值,把这个值提供给总线控制 器用来校验传输的数据。在任何使用 CRC进行数据传输校验的情况下,总线控制 器必须用上面的公式计算出一个 CRC值,和存储在DS18B20的64位ROM中的 值或DS18B20内部计算出的8位CRC值(当读暂存器时,做为第9个字节读出 来)进行比较。CRC值的比较以及是否进行下一步操作完全由总线控制器决定。 当在DS18B20中存储的或由其计算的CRC值和总线控制器计算的值不相符时, DS18B20内部并没有一个能阻止命令序列进行的电路。单线CRC可以用一个
36、由移位寄存器和XOR门构成的多项式发生器来产生。移位寄存器的各位都被初始化为 0。然后从系列编号的最低有效位开始, 一次 一位移入寄存器,8位系列编码都进入以后,序列号再进入, 48位序列号都进入 后,移位寄存器中就存储了 CRC值。移入8位CRC会使移位寄存器复0。7.存储器石河子大学学士学位论文8. #石河子大学学士学位论文8. TH/用户字节1TU用户宇节2DS18B20的存储器结构示于图3-2。存储器由一个暂存RAM和一个存储高 低温报警触发值TH和TL的非易失性电可擦除(E2)RAM组成。当在单线总线 上通讯时,暂存器帮助确保数据的完整性。数据先被写入暂存器,这里的数据可 被读回。数
37、据经过校验后,用一个拷贝暂存器命令会把数据传到非易性 (E2)RAM 中。这一过程确保更改存储器时数据的完整性。暂存器的结构为8个字节的存储器。头两个字节包含测得的温度信息。第三 和第四字节是TH和TL的拷贝,是易失性的,每次上电复位时被刷新。下面两个 字节没有使用,但是在读回数据时,它们全部表现为逻辑1。第七和第八字节是计 数寄存器,它们可以被用来获得更高的温度分辨力。还有一个第九字节,可以用 读暂存器命令读出。这个字节是以上八个字节的CRC码。暂存器字节012345678E2 RAM 石河子大学学士学位论文 单线总线系统包括一个总线控制器和一个或多个从机。DS18B20是从机。关于这种总线
38、分三个题目讨论:硬件结构、执行序列和单线信号(信号类型和时序)单线总线只有一条定义的信号线;重要的是每一个挂在总线上的器件都能在适当的时间驱动它。为此每一个总线上的器件都必须是漏极开路或三态输出。DS18B20的单总线端口( I/O引脚)是漏极开路式的,内部等效电路见图3-3。一个多点总线由一个单线总线和多个挂于其上的从机构成。单线总线需要一个约5K Q的上拉电阻图3-3 硬件结构单线总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如 果还想恢复执行的话,总线必必须停留在空闲状态。在恢复期间,如果单线总线 处于非活动(高电平)状态,位与位间的恢复时间可以无限长。如果总线停留在 低电
39、平超过480 g,总线上的所有器件都将被复位。通过单线总线端口访问 DS1820的协议如下:*初始化*ROM操作命令*存储器操作命令*执行/数据通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包 括一个由总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。存在脉 冲让总线控制器知道DS18B20在总线上且已准备好操作。a. ROM操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出5个ROM命令中的任一个。所有ROM操作命令都8位长度。下面是这些命令(参见图2-6流程图):Read ROM 33h这个命令允许总线控制器读到 DS18B20的8位系列编码、唯一的序列号和8
40、位CRC码。只有在总线上存在单只 DS18B20的时候才能使用这个命令。如果总 上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开 路连在一起开成相与的效果)。Match ROM 55h匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线上定位一 只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能响应随 后的存储器操作命令。所有和 64位ROM序列不匹配的从机都将等待复位脉冲。 这条命令在总线上有单个或多个器件时都可以使用。Skip ROM CCh这条命令允许总线控制器不用提供 64位ROM编码就使用存储器操作命令, 在单点总线情况下右以节省
41、时间。如果总线上不止一个从机,在Skip ROM命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。Search ROM F0h当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或 它们的64位ROM编码。搜索ROM命令允许总线控制器用排除法识别总线上的所有从机的64位编码。Alarm Search ECh这条命令的流程图和Search ROM相同。然而,只有在最近一次测温后遇到 符合报警条件的情况,DS18B20才会响应这条命令。报警条件定义为温度高于TH 或低于TL。只要DS18B20不掉电,报警状态将一直保持,直到再一次
42、测得的温 度值达不到报警条件。b. I/O信号DS18B20需要严格的协议以确保数据的完整性。协议包括几种单线信号类 型:复位脉冲、存在脉冲、写0、写1、读0和读1。所有这些信号,除存在脉冲 外,都是由总线控制器发出的。和DS18B20间的任何通讯都需要以初始化序列开始, 一个复位脉冲跟着一个 存在脉冲表明DS18B20已经准备好发送和接收数据(适当的 ROM命令和存储 器操作命令)。总线主机发送(TX) 复位脉冲(最短为480us的低电平信号)接着总线主 机便释放此线并进入接收方式(Rx )。单线总线经过5k的上拉电阻被拉至高电平 状态。在检测到I/O引脚上的上升沿之后,DS18B20等待1
43、5-60us并且接着发 送存在脉冲(60-240us的低电平信号)。c .存储器操作命令下述命令协议概括于表3-2表3-2指令说明协议发出协议代码后 单总线操作备注温度转换命令温度转换启动温度转换44h读温度“忙”状态1存储器命令读暂存存储器读暂存器和CRC字节BEh读数据直到9字节写暂存存储器写字节到暂存器地此2和3处(TH 和TL温度报警触发器)4Eh写二个字节到地址2,33复制暂存存储器把暂存器数据复制到非易性存储器仅地址2和地址348h读复制状态2重新调入E2把贮存在非易失性存储器内的数值 重新调入暂存器(温度报警触发器)B8h读温度“忙”状态读电源发送电源模式到主机B4h读电源Wri
44、te Scratchpad 4E这个命令向DS1820的暂存器中写入数据,开始位置在地址2。接下来写入的两个字节将被存到暂存器中的地址位置2和3。可以在任何时刻发出复位命令来中止写入。Read Scratchpad BEh这个命令读取暂存器的内容。读取将从字节0开始,一直进行下去,直到第9(字节8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。Copy Scratchpad 48h这条命令把暂存器的内容拷贝到 DS18B20的E2存储器里,即把温度报警触 发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间 隙,而DS18B20又正在忙于
45、把暂存器拷贝到 E2存储器,DS18B20就会输出一 个“0”,如果拷贝结束的话,DS18B20则输出“1 ”。如果使用寄生电源,总线控 制器必须在这条命令发出后立即起动强上拉并最少保持10ms。Convert T 44h这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS18B20 保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20 又忙于做时间转换的话, DS18B20 将在总线上输出 “0 ”,若温度转换 完成,则输出“ 1 ”。如果使用寄生电源,总线控制器必须在发出这条命令后立即 起动强上拉,并保持 500ms 。Recall E2 B8h这条
46、命令把报警触发器里的值拷回暂存器。 这种拷回操作在 DS18B20 上电时 自动执行,这样器件一上电 暂存器里马上就存在有效的数据了。若在这条命令发 出之后发出读时间隙,器件会输出温度转换忙的标识:“0”=忙,“1”= 完成。Read Power Supply B4h若把这条命令发给 DS18B20 后发出读时间隙,器件会返回它的电源模式: “0”=寄生电源,“1”=外部电源。d . 读/ 写时间隙DS18B20 的数据读写是通过时间隙处理位和命令字来确认信息交换。写时间隙 当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1时间隙和写0时间隙。所有写时间隙必须最
47、少持续 60 g,包括 两个写周期间至少1闻的恢复时间。I/O线电平变低后,DS18B20在一个15闻到60血的窗口内对I/O线采样。如果线上是高电平, 就是写 1 , 如果线上是低电 平, 就是写 0 主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始 后的15 g内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保持 60 g。读时间隙当从DS18B20读取数据时,主机生成读时间隙。当主机把数据线从高高平拉 到低电平时,写时间隙开始。数据线必须保持至少1冋从DS18B20输出的数据在读时间隙的下降沿出现后15 g内有效。因此,主机在读时间隙开始后
48、必须停止 把I/O脚驱动为低电平15闻,以读取I/O脚状态。在读时间隙的结尾,I/O弓I脚 将被外部上拉电阻拉到高电平。所有读时间隙必须最少60闻,包括两个读周期间至少1闻的恢复时间。HS1101 简介3.2.1 概述HUMIREL 湿度传感器 HS1101/HS1100基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以 应用于办公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度 补偿的场合也可以得到很大的应用。特点:全互换性在标准环境下不需校正长时间饱和下快速脱湿可以自动化焊接,包括波峰焊或水浸高可靠性与长时间稳定性专利的固态聚合物结构可用于线性电压或频率输出回炉
49、快速反应时间322 HS1101工作原理温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变 容式相对湿度传感器,采用独特的工艺设计。设计的电路如图3-4所示。5:1IF -H图3-4湿度测量电路555芯片外接电阻 R57,R58与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚 2,6端相连引入到片内比较器,构成一个多谐波振荡器。HS1101作为一个变化的电容器,仿真图中由Cx代替,连接2和6引脚。充电、放电时间分别为t 充电=Cx(R2 +R1 ) ln2t 放电=CxR1 ln2由图附2-1 HS
50、1101湿度与电容的函数关系可知相对湿度与电容的关系可看成直线段,所以有f= 1 /(t 充电 +t 放电)=1 /Cx(R2+2R1)ln2)=1.442695/(R1+2R2)Cx如果R1=560K,R2=560K那么f=1.442695/(1680)K*C已知 Cx:161pF 193pF则有f:5334Hz4449Hz又RH=0100%由此可以看出,空气相对湿度与555芯片输出频率存在一定 线性关系。可以通过微处理器采集 555芯片的频率,然后查表即可得出相对湿度 值。第四章系统设计系统组成整个系统硬件由三大部分组成:以 DS18B20和HS1101温湿度传感器为主 的温湿度测量传感部
51、分、以 STC89C52单片机为主的控制部分、以1602液晶显 示器为主的显示部分。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照 DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和 对温度的显示。整个系统的电路原理图如图4-1所示:图4-1系统电路原理图氓强眾籃荻為4.1.1温度测量传感部分温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补 码形式,占两个字节)向控制系统传输。输出脚I/O直接与单片机的P2.4相连。RP1 为上拉电阻,传感器采用外部电源供电,在I/O线上不要求强的上拉。使总线上主 机不需向上连接便在温度变换期
52、间使线保持高电平,这就允许在变换时间内其它 数据在单线上传送。湿度测量传感部分HS1101是电容式湿度传感器,由于电容不可直接测量,故选用555多谐震荡电路检测到频率,然后由单片机计算的电容值,再根据电容值算出相应的湿度值, 这样能较精确的测出当前环境的相对湿度。控制部分STC89C52是整个装置的控制核心,STC89C52内带8K字节的FlashROM, EA/Vpp接高电平使CPU在地址小于8K时访问内部存储器,控制程序就可以存放在 FlashROM内,而无须外接片外存储器。 Y1为12MHZ晶振与STC89C52的XTAL1 和XTAL2引脚相连为系统提供时钟频率。C3和R5构成上电复位
53、电路,C2手动上电 复位开关。蜂鸣器电路原理蜂鸣器额定电流IB30mA,而对于AT89S52单片机,P1 口的灌电流为1 . 6mA,拉电流为60识,由此可见,仅靠单片机的P1 口电流是不能驱动蜂鸣器 的,必须使用集晶体管放大电路,为了使单片机消耗的功率更小,所以使用PNP型晶体管9012 。4.1.5 显示部分显示器模块由 1602 液晶显示器及其相配套的控制器、驱动器( driver )和偏 压产生电路构成。可同时显示两行字符。显示器的BDOBD7引脚与STC89C52的 P0 口连接,完成数据传输。4.1.6 电源部分系统电源部分采用的是4节1.5V的电池,能为系统提供稳定的5V电压。4
54、.2 软件流程图图4-1 主程序流程图KO键盘处理子程序K1键盘处理子程序温度采集流程图图4-2 子程序流程图主程序开始,单片机将温湿度预警线和当前温湿度数据显示在1602液晶屏上。如果K3键按下,则进行温湿度报警线的修改,如果按下K1键,则温度报警线加1,如果按下K2键,则温度报警线减1 ;再次按下K3键,光标闪烁到湿度报警线, 如果按下K1键,则湿度报警线加1,如果按下K2键,则湿度报警线减1;再次 按下K3,液晶屏正常显示温湿度。系统总的程序设计见附录附 1读取温度数据子程序的设计本节的主要实现功能为:将传感器检测到的数据信息读出并存于数据缓冲器 中。_18B20_read() / 读出
55、温度函数_18B20_reset();_18B20_delay(200);_18B20_write(0 xcc);18B20 write(0 x44);_18B20_reset();_18B20_delay(1);_18B20_write(0 xcc);_18B20_write(0 xbe);temp_data0=_18B20read_byte();temp_data1=_18B20read_byte();temp=temp_data1;temp=Rse t)|(_1820display4=Tset)beep=O;elsebeep=1;433 数据设置程序的设计本节的主要实现功能为:利用“增”
56、、“减”和“切换”三个按键,可以实现对 温、湿度的设置。当按“切换”键后,进行温度的设置,此时按“增”键,每按 一次,温度增加1度,再次按“切换”键后,进行湿度的设置,此时按“增”键, 每按一次,湿度增加1度,反之,按“减”键时,相应减1度。再次按下“切换” 键时,就会自动退出设置状态,进入工作状态。if(!K2)/如果按下K2dellay(500); /延时去抖动menu+;/ 菜单加一if(menu=3)/如果菜单加到3Sector_erase(0 x2000);擦除扇区 2000Byte_program(0 x2000,Tset); / 将 0X2000 地址写入数据 TsetSecto
57、r_erase(0 x2200); / 擦除扇区 2200据 RsetByte_program(0 x2200,Rset); / 将 0X2200 地址写入数menu=0;/ 回到菜单 0while(!K2); / 等待 K2 释放if(!K0) / 如果按下 K0dellay(500); / 延时去抖动if(menu=1) / 如果是菜单 1Tset+; / 温度报警线加 1else if(menu=2)/ 如果是菜单 2Rset+; / 湿度报警线加 1while(!K0); / 等待 K0 释放if(!K1) / 如果按下 K1dellay(500); / 延时去抖动if(menu=1)
58、 / 如果是菜单 1Tset-; / 温度报警线减 1else if(menu=2)/ 如果是菜单 2Rset-; / 湿度报警线减 1while(!K1); / 等待 K1 释放4.4软件仿真软件仿真结果如图4-1所示I T? 39* CRH? 65XT: U-0R+i:K&LJD2 iw茁 HI 的 ImumilUSlAjEPDLTiKJIF2DLRJ:用tJ-ttflH冠丑= 32:1.-图4-1系统设计的软件仿真通过该仿真图,我们能看到LCD上有2排数据显示,第一排显示的是预设的温度报警线和湿度报警线,第二排显示的是当前实际测出的温度和湿度数据,当温度或者湿度超过预警线,便会触发报警,
59、图中D1表示报警系统。因为当前的温 度较高,所以我们需要降温,D5发光;湿度太低,我们需要加湿,D2发光4.5 硬件调试在实际的电路焊接中加了一个蜂鸣器作为报警器,为外电源预留了接头;温 度传感器和湿度传感器分别在单片机两侧,以防止相互之间的干扰。在电路板上 设置了三个按钮,来改变预设值。在液晶显示器附近接通一个滑动变阻器,用来 改变显示器的亮度。图4-2接上外电源和温度传感器4.6电路测试通过上电测试寝室室温和湿度, 可以看出温度显示精度为o.c,显示刷新时 间约为1s。测试宿舍温度约为26 c,与温度计显示相差1C左右。雨天湿度为27%RH,这个系统达到了预期的效果,表现良好。图4-3实际显示效果第五章结论在大学的学习过程中,毕业设计是一个重要的环节,是我们步入社会参与实 际工程建设的一次极好的演练,我十分有幸能提早把毕业设计和实际工程有机的 结合起来,从最初的选题,开题到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级下册口算竞赛题
- 四年级口算试卷
- 2025年铜压延加工材合作协议书
- 四年级口算练习题大全1
- 危急值闭环管理
- 三年级下册第五单元口算乘法
- 三年级数学下册口算练习题二
- 2024-2025学年二年级数学上册第二单元100以内的加法和减法二第5课时退位减法教案新人教版
- 2 找春天 公开课一等奖创新教案(表格式)
- 第22课 古代诗歌五首 公开课一等奖创新教案
- 2024公路工程施工安全风险辨识与管控实施指南
- 浙江省嘉兴市2023-2024学年高一上学期1月期末考试政治试题
- 新疆2024年新疆和田师范专科学校招聘70人笔试历年典型考题及考点附答案解析
- 【正版授权】 ISO 15978:2002 EN Open end blind rivets with break pull mandrel and countersunk head - AIA/St
- 2024时事政治考试题库(基础题)
- 2024山西文旅投资集团招聘117人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 小学校本课程教材《趣味数学》
- 干细胞疗法推广方案
- (2024年)电工安全培训(新编)课件
- mil-std-1916抽样标准(中文版)
- 《社区康复》课件-第七章 脑瘫患儿的社区康复实践
评论
0/150
提交评论