电子信息工程专业毕业论文

上传人:m**** 文档编号:203422314 上传时间:2023-04-24 格式:DOCX 页数:37 大小:393.10KB
收藏 版权申诉 举报 下载
电子信息工程专业毕业论文_第1页
第1页 / 共37页
电子信息工程专业毕业论文_第2页
第2页 / 共37页
电子信息工程专业毕业论文_第3页
第3页 / 共37页
资源描述:

《电子信息工程专业毕业论文》由会员分享,可在线阅读,更多相关《电子信息工程专业毕业论文(37页珍藏版)》请在装配图网上搜索。

1、摘要温湿度是一种最基本的环境参数,温湿度的测量方法和装置对现在的生活、 生产具有重要的意义。此温湿度测量系统是基于单线式温度传感器DS18B20、电 容式湿度传感器、单片机 STC89C52 对温度湿度分别测量并通过液晶显示屏1602 经行显示。温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能 力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度 数据,可读性高。其结构简单、经济实用、清洗效果好,具有很高的实用价值。本 系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。关键词:单片机,温温度,DS18B20,传感器,液晶显示器AbstractTemp

2、erature and humidity is one of the most basic environmental parameters. Temperature and humidity measurement methods and devices has the vital significance on present life. The temperature and humidity measurement system is based on singleline type temperature sensor DS18B20, capacitive moisture sen

3、sorSCM STC89C52 for temperature humidity measurement and respectively by LCD display. The line 1602 Temperature sensor DS18B20 is singleline type, volume super-small, hardware KaiXiao ultra-low, strong anti-jamming capability, high precision, additional features strong ideal single-chip microcompute

4、r temperature sensor, real-time temperature data, depending on the directive given readable. This system has a readable, high stability, reaction speed, measured values exact characteristic.Key words: microcontroller,temperature and humidity,DS18B20, sensor,LCD目录第 1 章绪 论 1第 2 章设计方案 22.1 计算机、电子技术发展概述

5、 22.2 系统主要单元的选择与论证 32.2.1 单片机控制模块的选择论证 32.2.2 温度湿度检测模块的选择与论证 32.2.3 显示模块的选择与论证 42.3主要器件选取与系统方框图 42.3.1 温度传感器的选取 42.3.2 湿度传感器的选取 62.3.3 总体方案设计 6第 3 章设计原理 83.1 DS18B20 简介83.1.1 概述 83.1.2 详细说明 93.2 HS1101 简介193.2.1 概述 193.2.2 HS 1 101工作原理 19第 4 章系统设计 214.1系统组成 214.1.1 温度测量传感部分 214.1.2 湿度测量传感部分 224.1.3

6、控制部分 224.1.4 蜂鸣器电路原理 224.1.5 显示部分 224.1.6 电源部分 224.2 软件流程图 234.3 系统总的程序设计 264.3.1 读取温度数据子程序的设计 264.3.2 数据比较程序的设计 264.3.3 数据设置程序的设计 27第 5 章 结论 28第 6 章 参考文献 36第 7 章 致 谢 错误!未定义书签。第1章 绪 论现代电子技术日新月异,各种新型的自动控制系统也越来越多地运用到人们 的日常生活、工业生产等领域,它不但可以提高劳动生产率,而且可以使控制的 设备或执行的操作更加精确。传感器是信息采集的重要工具,传感器技术与通信 技术(信息传输)和计算

7、机技术(信息处理),构成了现代信息技术的三大支柱, 它们在信息系统中分别起着“感觉”,“神经”,和“大脑”的作用。现代电子产品 正在以前所未有的革新速度,向着功能多样化,体积最小化,功耗最低化的方向 发展。它与传统电子产品在设计上的显著区别:一是大量使用大规模可编写芯片, 以提高产品性能,缩小产品体积,降低产品功耗;二是广泛运用现代计算机技术, 以提高电子设计自动化程序,缩短开发周期,提高产品的竞争力。单片机的单芯 片的微小体积和极低的成本,可广泛地嵌入到电子系统,办公自动化、舰船、个 人信息终端及通信产品等方方面面,成为现代电子系统中最重要的智能化工具。测量温湿度的关键是温湿度传感器,温湿度

8、传感器的发展经历了三个发展阶 段:传统的分立式传感器,模拟集成传感器,智能集成传感器。目前,国 际上新型温湿度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向 飞速发展。本文介绍智能集成温度传感器DS18B20和湿度传感器HS1101的结构特征; 以STC89C52单片机为控制器,以1602型LCD为显示器的温湿度测量装置;单 片机对温、湿度传感器的控制程序,温、湿度的读取,16进制到BCD码转换以及 LCD显示程序。使用DS1820的测温系统电路简单,测温精度高,连接方便,占 用处理器I/O端口少。使用HS1101的湿度传感器价格低廉,精度高,软件资源丰 富。但是较小的硬件开销意味着

9、相对复杂的软件补偿,传感器与处理器间采用串 行的数据通信,因此在进行软件设计时设计汇编程序时I/O的时序就显得较为复 杂。温湿度是最基本的环境参数,人们的生活与其息息相关,在工业生产过程中 需要实时测量温湿度,在农业生产中也离不开温湿度的测量,因此研究温度和湿 度的测量方法和装置具有重要的意义。第2章设计方案在本章中,我们将温、湿度环境监测系统的总体设计及其主要功能特点进行 简单的分析,并给出它的特点、实现功能、系统的简单操作以及对单片机及其控 制系统的了解。2.1 计算机、电子技术发展概述近年来,计算机技术迅猛发展,使得计算机在工业,农业,国防科研及日常 生活的各个领域显示了日益旺盛的生命力

10、,它已成为各国工业发展水平的主要标 志之一,是发展新技术,改造老技术的强有力的武器,计算机使人类面临着一个 新的赞赏技术和工业革命,它的作用远远超过了因蒸汽机和电的出现而产生的工 业革命。目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS 化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等几个方面 发展。近几年,由于 CMOS 技术的进步,大大地促进了单片机的 CMOS 化,此 种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功耗精细管理 状态,并且单片机一般采用精简指令集结构和流水线技术,可以大幅度提高运行 速度,提升信息处理功能,中断和定时控制功能

11、,在一般上还具有串行扩展技术 随着低价位OTP及各种类型片内程序存储器的发展,加之外围接口不断进入片内, 特别是 IIC,API 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系 统结构更加简化及规范化。这就引导我们利用单片机来实现对数显可调稳压电源 的控制。随着电子技术的迅速发展,计算机已深入渗透到我们的生活中,就51 系列而 言,由于 Intel 公司将其内核使用权以专利互换或出售的形式转给世界许多著名 IC 制造商,随着计算机技术的不断发展,在工业测量控制领域内单片机的应用越来 越广泛。同时,随着超大规模集成电路工艺和集成制造技术的不断完善,单片机 的硬件集成度也不断提高,已经出

12、现了能满足各种不同需求、具有各种特殊功能 的单片机,这类单片机具有集成度高、性能价格比优越、货源充足等优点,在工 业测量领域内获得了极为广泛的应用价值。现代的电子产品朝密集型发展,而电子产品的温度特性普遍比较差,这就对 温、湿度的监测提出了新的要求。若采用国外进口的温、湿度监测系统,虽然其 性能较好,但是结合国情,其价格相当昂贵,又是全英文,推广起来较困难。就是在以上问题出现的情况下,我们设计出一个利用集成温度传感器及湿度 传感器,配合单片计算机系统,从软件的编制上实现对各外围硬件的控制,最终 实现对当前环境温、湿度进行监测。在硬件的设计上,所有元器件都采用了通用 型产品,使得设计出来的产品生

13、产及维修都相当方便,可以有效地降低成本,同 时另外一点就是能用软件实现的功能尽量选用软件进行操作,更加突出了产品的 简单性和高可靠性,因此,我们这一设计方法是一个值得推广的方法,接下来我 们就对方案与设计原理方框图进行比较分析。2.2 系统主要单元的选择与论证2.2.1 单片机控制模块的选择论证方案一:采用XC9000系列的FPGA。该类器件具有并行处理能力,能快速 的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵方案二:采用单片机作为控制核心,单片机数学运算功能较强。在程序相互 调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成 熟,价格便宜。基于以

14、上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用2.2.2 温度湿度检测模块的选择与论证方案一:选用 DHT11 作为温湿度检测模块。 DHT11 是一款数字输出的复合 传感器,包含一个电阻式感湿元件和 NTC 式温度检测元件,可测 2090%RH 湿 度,误差5%RH, 050摄氏度,误差2摄氏度。方案二:选用DS18B20温度传感器和HS1101湿度传感器。DS18B20是一 线式数字温度传感器,具有独特的单线式接口方式,测量范围在55C125C, 误差为土0.5C。最高精度可达0.0625C。HS1101是电容式湿度传感器,可测相 对湿度范围在0%100%RH,误差为土2%R

15、H。方案选择,有上述数据可知,根据需要(温度测量范围为-10-50C,湿度为 0-100%;温度测量误差为0.1 C,湿度测量误差为3%RH;),从设计要求的精度 来看,本方案更优。综上所述,虽然方案一具有综合作用,但是方案二的测试范围和精度都由于 方案一,故本模块采用方案二。2.2.3 显示模块的选择与论证方案一:采用 12864 液晶模块显示测得的数据,可显示较多组的数据,字体 较大,可清晰读数,但12864 液晶模块价格昂贵,接线复杂,故不采用。方案二:采用 1602 液晶模块显示所测数据,1602 液晶接线简单方便,同时 也能满足显示需要,价格远低于 12864 液晶。因此,本方案为首

16、选方案。综上所述,显示模块选择方案二。2.3 主要器件选取与系统方框图为了使设计具有高可靠性,与实际运用的紧密结合性,从经济、实用的角度 出发,我们对室内温、湿度控制系统进行精心的设计,在设计过程中,我们综合 多方面的知识进行分析,对于本系统的设计,其控制部分的电路基本相同,主要 不同的是对温、湿度传感器的选用,下面就各种不同的传感器构成的温、湿度监 测系统进行分析与对比。2.3.1 温度传感器的选取一、热膨胀式温度计 该温度计是利用膨胀法来测量温度的一种仪表。膨胀式温度计按选用的物质 不同可分为液体膨胀式温度计,气体膨胀式温度计 (压力式温度计) 和固体膨胀式 温度计三大类。对于液体膨胀式温

17、度计,根据填充的工作液不同又可分为水银温 度计和有机液体温度计;固体膨胀式温度计,按结构又可分为双金属温度计和杆 式温度计两种。膨胀式温度计可以用作标准仪器,广泛用于测量设备,管道和容 器的温度; 在医疗卫生和食品工业中也得到了广泛的应用。膨胀式温度计具有结 构简单,制造和使用方便,价格便宜以及精度高等优点。缺点:不便于远距离测温(压力式温度计除外) ,结构脆弱,易坏。二、电阻温度计 热电阻是利用导体或半导体的电阻值随温度变化而变化的特性来测量温度的 一种感温元件。使用热电阻作感温元件的温度计常称为电阻温度计。常用的热电 阻有: 铜电阻、铂热电阻和镍热电阻。热电阻必须与二次仪表配合使用才能指示

18、 出被测介质的温度。热电阻的测温原理是基于金属导体的电阻值随温度的变化而 变化的特性,再用显示仪表测出热电阻的电阻值从而得出与电阻值相应的温度值 这种测温的方法已广泛运用于工业生产与民用生活中,在此基础上,人们还将热 敏电阻与信号放大、模数转换集成在一块芯片中,开发了集成温度传感器,使得 设计出来的温度自动控制系统既简单可靠性又高,因此在业内运用极广。优点:电阻温度计具有测量精度高,性能稳定,灵敏度高,应用范围广,可 远距离测温,便于微机实时处理,并能实现温度自动控制和记录。三、热电偶 热电偶是用两种不同成份的导体焊接在一起,两端温度不同时,在回路中就 会有热电势产生,因此热电偶是通过测量热电

19、势从而测量温度的一种感温元件, 它是一种变换器,它能将温度信号转变为电信号再由显示仪表显示出来。热电偶 测量温度的基本原理是热电效应。它是热电效应理论的具体应用之一。在温度测 量中得到了广泛的应用。优点:测量精度高,结构简单,动态响应快,可作远距离测量, 测温范围广。四、石英温度传感器测温仪石英温度传感器的测温原理是以石英晶体片作为测温元件,将温度变化的模 拟量转化为石英晶体震荡频率的数字量,再将此频率信号进行转换,并显示其温 度值。石英晶体温度传感器稳定性很好,灵敏度可达0.001 C以上。缺点:响应速度较慢,测温速度约为一秒钟一次,显然不适合快速测温场合。五、DS18B20传感器(1) 适

20、应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据 线供。(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即 可实现微处理器与DS18B2 0的双向通讯。(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上, 实现组网多点测温。(4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成 在形如一只三极管的集成电路内。(5) 温范围一55 C_ 125 C,在-10+85C时精度为土 0.5C。(6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5C、0.25C、 0.125C和0.0625C,可实现高

21、精度测温。(7) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最 多在750ms内把温度值转换为数字,速度更快。(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同 时可传送CRC校验码,具有极强的抗干扰纠错能力。(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 经过以上分析,结合本系统的运用需要,决定选用电压电流式集成温度传感器 DS18B20 作为系统的测温传感器。2.3.2湿度传感器的选取湿敏传感器是能够感受外界湿度变化,并通过器件材料的物理或化学性质变 化,将湿度转化成有用信号的器件。湿度检测较之其它物理量的检测显得困

22、难, 这首先是因为空气中水蒸气含量要比空气少得多;另外,液态水会使一些高分子 材料和电解质材料溶解,一部分水分子电离后与溶入水中的空气中的杂质结合成 酸或碱,使湿敏材料不同程度地受到腐蚀和老化,从而丧失其原有的性质;再者, 湿信息的传递必须靠水对湿敏器件直接接触来完成,因此湿敏器件只能直接暴露 于待测环境中,不能密封。通常,对湿敏器件有下列要求:在各种气体环境下稳 定性好,响应时间短,寿命长,有互换性,耐污染和受温度影响小等。微型化、 集成化及廉价是湿敏器件的发展方向。HS1101以其全互换性、在标准环境下 不需校正、长时间饱和下快速脱湿、快速反应时间、价格低廉等特点深受大 家欢迎。2.3.3

23、 总体方案设计该系统主要由以下功能块系统构成:中央控制处理器STC89C52组成的主机 系统;环境数据采集系统,输出显示与键盘控制系统等。主要的系统电路有:电源电路、温度传感器与湿度传感器电路、显示电路, 报警电路、键盘输入控制电路等。电路分析我们在下一章节中进行分析。该系统的主要特点有:(1)该产品的互换性好,响应速度快,抗干扰能力强,外围电路简单易懂, 因此体积小。(2)该系统能用软件的方式控制硬件,所有用软件方式设计的系统向硬件系 统的转换是由有关开发软件自动完成的,易操作。(3)可以从以前的组合设计转向真正的自由设计,所以设计的移植性好,效 率高。可适合大规模的现场制作。图 2-1 基

24、于 DS18B20 和 HS1101 的温湿度监测系统方框图第3章 设计原理3.1 DS18B20 简介3.1.1 概述Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线 总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建 传感器网络,为测量系统的构建引入全新概念。同DS1820 一样DS18B20也支持“一线总线”接口,测量温度范围为-55 C+125 C,在-10+85 C范围内,精度为土0.5 C。现场温度直接以“一线总线” 的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量, 如:环境控制、设备或过程控制、测温类消费电子

25、产品等。与前一代产品不同, 新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品 更便宜,体积更小。DS18B20 数字温度计提供 9 位温度读数,指示器件的温度 。 信息经过单线接口送入 DS18B20 或从 DS18B20 送出,因此从中央处理 器到 DS18b20 仅需连接一条线(和地),读写和完成温度变换所需的电源可以由 数据线本身提供 ,而不需要外部电源。因为每一个 DS1820有唯一的系列(silicon serial number )因此多个 DS1820 可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器 件。此特性的应用范围包括 HVAC

26、环境控制,建筑物、设备或机械内的温度检测, 以及过程监视和控制中的温度检测.1. 特性*独特的单线接口,只需 1 个接口引脚即可通信*多点(m ultidrop )能力使分布式温度检测应用得以简化*不需要外部元件*可用数据线供电*不需备份电源*测量范围从-55C至+125C,增量值为0.5 C等效的华氏温度范围是PIN ASSIGNMENT-67 F 至 257 F ,*以9位数况)系统2 .3.ALLAS S182O*在1秒(典型*用户可定义白rb 1 2 3 jJ为 0.9 F式读出温度一二值)内把温度变换为数字勺,*告警搜索命令只非易失性的温度告警设置NC = 116只别和寻址温度NC

27、=KC 1=NC =在编定的极4 135 12611应用范围包括恒温控制,工业系统,消费O OS1820引脚排列Section引脚说明=NC限之外的器件(温度告警情= NC=1 NC=NC类产品, 温度计或任何热敏S1620S16PIN SSOPSa Mach. DrawingsSection引脚8脚SOIC引脚PR35符号r说明51GND地42DQ单线运用的数据输入/输出引脚,漏极开路 见。33Vdd寄生电可选Vdd引脚3.1.2 详细说明1. 工作原理图 3-1 的框图表示 DS18B20 的主要部件 DS18B20 有三个主要的数据 部件:1) 64位光刻ROM; 2)温度灵敏元件;3)

28、非易失性温度告警触发器TH 和TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能 量贮存在内部的电容器中,在单信号线为低电平的时间期内,断开此电源 直到 信号线变为高电平重新接上寄生(电容)电源为止。作为另一种可供选择的方法, DS18B20也可用外部5V电源供电。图3-1 DS18B20结构框图与DS18B20的通信经过一个单线接口。在单线接口情况下,在ROM操作未 定建立之前不能使用存贮器和控制操作。主机必须首先提供五种ROM操作命令之 一:1) Read ROM(读 ROM) ; 2) Match ROM (匹配 ROM); 3)Search ROM (搜索 ROM)

29、; 4)Skip ROM (跳过 ROM);5)Alarm Search (告警搜索)。这些命令对每一器件的 64 位激光 ROM 部分进行操作。如果在单线上有许多器件, 那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。 在成功地执行了 ROM 操作序列之后,可使用存贮器和控制操作,然后主机可以 提供六种存贮器和控制操作命令之一。一个控制操作命令指示 DS18B20 完成温度测量,该测量的结果将放入 DS1820的高速暂存存贮器(Scratchpad memory)通过发出读暂存存储器内容的 存储器操作命令可以读出此结果。每一温度告警触发器TH和TL构成一个字节的 EE

30、PROM。如果不对DS18B20施加告警搜索命令,这些寄存器可用作通用用户存 储器。使用存储器操作命令可以写TH和TL。对这些寄存器的读访问通过高速暂 存存贮器。所有数据均以最低有效位在前的方式被读写。2. 寄生电源(parasi te power)图3-1示出寄生电源电路。当I/O或Vdd引脚为高电平时,这个电路便 取得电源,只要符合指定的定时和电压要求,I/O将提供足够的功率。寄生电源的 优点是双重的: 1 )利用此引脚,远程温度检测无需本地电源; 2 )缺少正常电源 条件下也可以读 ROM。为了使 DS18B20 能完成准确的温度变换,当温度变换发生时 I/O 线上必 须提供足够的功率。

31、因为DS18B20的工作电流高达1mA, 5K的上拉电阻将使I/O 线没有足够的驱动能力。如果几个DS1820在同一条I/O线上而且企图同时变换, 那么这一问题将变得特别尖锐。3. DS18B20的运用DS18B20 通过使用在板温度测量专利技术来测量温度。温度测量电路的方框 图见图 3-4 所示。DS18B20 通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来 测量温度,而门开通期由高温度系数振荡器决定。计数器予置对应于-55厂的基数, 如果在门开通期结束前计数器达到零,那么温度寄存器它也被予置到-55; 的数值 将增量,指示温度高于-55。同时,计数器用钭率累加器电路所决定的值进行

32、予置。为了对遵循抛物线规律 的振荡器温度特性进行补偿,这种电路是必需的,时钟再次使计数器计值至它达到 零。如果门开通时间仍未结束,那么此过程再次重复。钭率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量。 通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿。因此,为了获 得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(钭率累 加器的值)二者都必须知道。DS18B20内部对此计算的结果可提供0.5C的分辨力。温度以16bit带符号 位扩展的二进制补码形式读出,表3-1给出了温度值和输出数据的关系。数据通过 单线接口以串行方式传输。DS18B20测温范围-5

33、5C+125C,以0.5C递增。女口 用于华氏温度,必须要用一个转换因子查找表。表 3-1温度数字输出(二进制)数据输出(16进 制)+125000001111111101007D0h+25.062500000001100100010191h+1/200000000000010000008h000000000000000000000h-1/21111111111111000FFF8h-25.06251111111001101111FF6Fh-551111110010010000FC90h注意DS18b20内温度表示值为1/2CLSB,如下所示9bit格式:EJ=25C110111110最低有爺

34、检)LSH最高有效(符号)位被复制充满存储器中两字节温度寄存器的高 MSB 位,由 这种“符号位扩展”产生出了示于表 1 的 16bit 温度读数。可用下述方法获得更高的分辨力。首先,读取温度值,将0.5C位(LSB )从 读取的值中截去,这个值叫做TEMP_READ。然后读取计数器中剩余的值,这个 值是门周期结束后保留下来的值(COUNT_REMAIN)。最后,我们用到在这个温 度下每度的计数值(COUNT_PER_C)。用户可以用下面的公式计算实际温度值:TE同 PRATURE(温度)=TEMPREaD-0 ?5 十(COL1NJPEk1N1_REXL.UN)COLMJ _FER_C4 .

35、报警搜索操作DS18B20完成一次温度转换后,就拿温度值和存储在TH和TL中的值进行比 较。因为这些寄存器是8位的,所以0.5C位被忽略不计。TH或TL的最高有效 位直接对应16位温度寄存器的符号位。如果测得的温度高于TH或低于TL,器件 内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新。当报 警标识置位时,DS18B20会对报警搜索命令有反应。这样就允许许多DS18B20并 联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件就会被立即 识别出来并读取,而不用读未报警的器件。5 . 64位光刻ROM每只DS18B20都有一个唯一的长达64位的编码。最前面8位是单线系列

36、编 码(DS18B20的编码是19h)。下面48位是一个唯一的序列号。最后8位是以上 56位的CRC码。64位ROM和ROM操作控制区允许DS18B20做为单线制器件 并按照详述于“单线总线系统”一节的单线协议工作。只有建立了 ROM 操作协 议,才能对DS18B20进行控制操作。单线总线控制器必须提供5个ROM操作命 令其中之一:1) Read ROM, 2) Match ROM, 3) Search Rom, 4) Skip ROM, 5) Alarm Search。成功进行一次ROM操作后,就可以对DS18b20进行特定的 操作,总线控制器可以发出六个存储器和控制操作命令中的任一个。64

37、位光刻ROM8位CRC编码48位序列号8位产品系列编码MSBLSB MSBLSB MSBLSB6. CRC 发生器DS18B20中有8位CRC存储在64位ROM 的最高有效字节中。总线 控制器可以用 64 位 ROM 中的前 56 位计算出一个 CRC 值,再用这个和存储在 DS18b20中的值进行比较,以确定ROM数据是否被总线控制器接收无误。CRC 计算等式如下:CRC=X8+X5+X4+1DS18B20同样用上面的公式产生一个8位CRC值,把这个值提供给总线 控制器用来校验传输的数据。在任何使用CRC进行数据传输校验的情况下,总线 控制器必须用上面的公式计算出一个CRC值,和存储在DS1

38、8B20的64位ROM 中的值或DS18B20内部计算出的8位CRC值(当读暂存器时,做为第9个字节 读出来)进行比较。CRC值的比较以及是否进行下一步操作完全由总线控制器决 定。当在 DS18B20 中存储的或由其计算的 CRC 值和总线控制器计算的值不相符时,DS18B20内部并没有一个能阻止命令序列进行的电路。单线CRC可以用一个由移位寄存器和XOR门构成的多项式发生器来产生。移位寄存器的各位都被初始化为 0。然后从系列编号的最低有效位开始, 一次一位移入寄存器, 8 位系列编码都进入以后,序列号再进入, 48 位序列号都 进入后,移位寄存器中就存储了 CRC值。移入8位CRC会使移位寄

39、存器复0。7. 存储器DS18B20的存储器结构示于图3-2。存储器由一个暂存RAM和一个存储 高低温报警触发值TH和TL的非易失性电可擦除(E2)RAM组成。当在单线总 线上通讯时,暂存器帮助确保数据的完整性。数据先被写入暂存器,这里的数据 可被读回。数据经过校验后,用一个拷贝暂存器命令会把数据传到非易性( E2) RAM 中。这一过程确保更改存储器时数据的完整性。暂存器的结构为 8 个字节的存储器。头两个字节包含测得的温度信息。第三 和第四字节是 TH 和 TL 的拷贝,是易失性的,每次上电复位时被刷新。下面两个 字节没有使用,但是在读回数据时,它们全部表现为逻辑1。第七和第八字节是计 数

40、寄存器,它们可以被用来获得更高的温度分辨力。还有一个第九字节,可以用 读暂存器命令读出。这个字节是以上八个字节的 CRC 码。8. 单线总线系统单线总线系统包括一个总线控制器和一个或多个从机。DS18B20是从机。关 于这种总线分三个题目讨论:硬件结构、执行序列和单线信号(信号类型和时序)。单线总线只有一条定义的信号线;重要的是每一个挂在总线上的器件都能在 适当的时间驱动它。为此每一个总线上的器件都必须是漏极开路或三态输出。DS18B20的单总线端口(I/O引脚)是漏极开路式的,内部等效电路见图3-3。一 个多点总线由一个单线总线和多个挂于其上的从机构成。单线总线需要一个约 5K Q的上拉电阻

41、。*5V图 3-3 硬件结构单线总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如 果还想恢复执行的话,总线必必须停留在空闲状态。在恢复期间,如果单线总线 处于非活动(高电平)状态,位与位间的恢复时间可以无限长。如果总线停留在 低电平超过480 us,总线上的所有器件都将被复位。通过单线总线端口访问 DS1820 的协议如下:*初始化*ROM 操作命令*存储器操作命令*执行/数据通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包 括一个由总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。存在脉冲让总线控制器知道 DS18B20 在总线上且已准备好操作。a. R

42、OM操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出5个ROM命令中的任一 个。所有 ROM 操作命令都 8 位长度。下面是这些命令(参见图 2-6 流程图):Read ROM 33h这个命令允许总线控制器读到 DS18B20 的 8 位系列编码、唯一的序列号 和 8 位 CRC 码。只有在总线上存在单只 DS18B20 的时候才能使用这个命令。如 果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏 极开路连在一起开成相与的效果)。Match ROM 55h匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定 位一只特定的DS18B20。只有和

43、64位ROM序列完全匹配的DS18B20才能响应随 后的存储器操作命令。所有和64位ROM序列不匹配的从机都将等待复位脉冲。 这条命令在总线上有单个或多个器件时都可以使用。Skip ROM CCh这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命 令,在单点总线情况下右以节省时间。如果总线上不止一个从机,在Skip ROM命 令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲 突(漏极开路下拉效果相当于相与)。Search ROM F0h 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器 件或它们的64位ROM编码。搜索ROM命令允许总线控制器用

44、排除法识别总线 上的所有从机的 64位编码。Alarm Search ECh这条命令的流程图和Search ROM相同。然而,只有在最近一次测温后遇到符 合报警条件的情况, DS18B20 才会响应这条命令。报警条件定义为温度高于 TH 或低于TL。只要DS18B20不掉电,报警状态将一直保持,直到再一次测得的温 度值达不到报警条件。b. I/O信号DS18B20 需要严格的协议以确保数据的完整性。协议包括几种单线信号 类型:复位脉冲、存在脉冲、写0、写 1、读 0 和读 1。所有这些信号,除存在脉 冲外,都是由总线控制器发出的。和 DS18B20 间的任何通讯都需要以初始化序列开始,一个复位

45、脉冲跟着 一个存在脉冲表明 DS18B20 已经准备好发送和接收数据(适当的 ROM 命令和存 储器操作命令)。总线主机发送(TX) 一复位脉冲(最短为480us的低电平信号)接着总线主 机便释放此线并进入接收方式(Rx)。单线总线经过5k的上拉电阻被拉至高电平 状态。在检测到I/O引脚上的上升沿之后,DS18B20等待15-60us并且接着发送 存在脉冲(60-240us的低电平信号)。c .存储器操作命令下述命令协议概括于表 3-2表 3-2指令说明协议发出协议代码后单总 线操作备注温度转换命令温度转 换启动温度转换44h读温度“忙”状态1存储器命令读暂存乞二/吃阴 存储器读暂存器和CRC

46、字节BEh读数据直到9字节写暂存乞二/吃阴 存储器写字节到暂存器地此2和3处(TH和TL 温度报警触发器)4Eh写二个字节到地址2,33复制暂 存存储 器把暂存器数据复制到非易性存储器 仅地址2和地址348h读复制状态2重新调入E2把贮存在非易失性存储器内的数值重新 调入暂存器(温度报警触发器)B8h读温度“忙”状态读电源 发送电源模式到主机B4h读电源Write Scratchpad 4E这个命令向 DS1820 的暂存器中写入数据,开始位置在地址 2。接下来 写入的两个字节将被存到暂存器中的地址位置 2 和 3。可以在任何时刻发出复位 命令来中止写入。Read Scratchpad BEh

47、这个命令读取暂存器的内容。读取将从字节 0 开始,一直进行下去,直 到第9 (字节8, CRC)字节读完。如果不想读完所有字节,控制器可以在任何 时间发出复位命令来中止读取。Copy Scratchpad 48h这条命令把暂存器的内容拷贝到 DS18B20 的 E2 存储器里,即把温度报 警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读 时间隙,而DS18B20又正在忙于把暂存器拷贝到E2存储器,DS18B20就会输出 一个“0”如果拷贝结束的话,DS18B20则输出“1”如果使用寄生电源,总线 控制器必须在这条命令发出后立即起动强上拉并最少保持 10ms。Convert

48、 T 44h 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而 后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙, 而DS18B20又忙于做时间转换的话,DS18B20将在总线上输出“0”若温度转 换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立 即起动强上拉,并保持 500ms。Recall E2 B8h这条命令把报警触发器里的值拷回暂存器。这种拷回操作在DS18B20上 电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。若在这条命 令发出之后发出读时间隙,器件会输出温度转换忙的标识: “0”=忙,“1”=完 成。Re

49、ad Power Supply B4h若把这条命令发给 DS18B20 后发出读时间隙,器件会返回它的电源模 式:“0”=寄生电源,“1”=外部电源。d .读/写时间隙DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换。写时间隙 当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1时间隙和写0时间隙。所有写时间隙必须最少持续60 us, 包括两个写周期间至少1 us的恢复时间。I/O线电平变低后,DS18B20在一个15 us到60 u s的窗口内对I/O线采样。 如果线上是高电平,就是写 1,如果线上是低电平,就是写 0 主机要生成一个写时间隙,必

50、须把数据线拉到低电平然后释放,在写时间隙开始 后的15 u s内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保持60 u s。读时间隙当从 DS18B20 读取数据时,主机生成读时间隙。当主机把数据线从高高 平拉到低电平时,写时间隙开始。数据线必须保持至少lus ;从DS18B20输出的 数据在读时间隙的下降沿出现后15 us内有效。因此,主机在读时间隙开始后必须 停止把I/O脚驱动为低电平15 u s,以读取I/O脚状态。在读时间隙的结尾,I/O引 脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60 us,包括两个读周期 间至少lus的恢复时间。3.2 HS1

51、101 简介3.2.1 概述HUMIREL 湿度传感器 HS1101/HS1100 基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以 应用于办公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度 补偿的场合也可以得到很大的应用。特点:全互换性 在标准环境下不需校正 长时间饱和下快速脱湿可以自动化焊接,包括波峰焊或水浸 高可靠性与长时间稳定性专利的固态聚合物结构 可用于线性电压或频率输出回炉3.2.2 HS1101工作原理温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变容式相 对湿度传感器,采用独特的工艺设计。图3-4湿度测量电路555芯

52、片外接电阻R57, R58与HS1101,构成对HS1101的充电回路。7端通过 芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2, 6端相连引 入到片内比较器,构成一个多谐波振荡器。HS1101作为一个变化的电容器,仿真图中由Cx代替,连接2和6引脚。 充电、放电时间分别为t 充电 =Cx(R2 +R1 ) ln2t 放电 =CxR1 ln2由图附2-1 HS1101湿度与电容的函数关系可知相对湿度与电容的关系可看成 直线段,所以有f= 1 /(t 充电 +t 放电 )= 1 /Cx(R2+2R1)ln2)=1.442695/(R1+2R2)Cx如果R1=560K,R2=56

53、0K那么f=1.442695/(1680)K*C已知 Cx:161p F193pF则有f:5334Hz4449Hz又RH=0100%由此可以看出,空气相对湿度与555芯片输出频率存在一定线 性关系。可以通过微处理器采集555芯片的频率,然后查表即可得出相对湿度值。第4章 系统设计4.1 系统组成整个系统硬件由三大部分组成:以DS18B20和HS1101温湿度传感器为主的 温湿度测量传感部分、以STC89C52单片机为主的控制部分、以1602液晶显示器 为主的显示部分。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照 DS18B20 的通信协议编制。系统的工作是在程序控制下,完成

54、对传感器的读写和 对温度的显示。整个系统的电路原理图如图 4-1 所示:C7C8 II- w rTXri 12M 匚rrrrjiLT.rr .幽 XrjJ-i;叮.12P2J1MRJI.UP3HRXkF:6rk ruF:7r21 R 25W图4-1 系统电路原理图4.1.1 温度测量传感部分温度传感器DS18B2 0将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节)向控制系统传输。输出脚/0直接与单片机的P2.4相连。RP1 为上拉电阻,传感器采用外部电源供电,在I/O线上不要求强的上拉。使总线上主 机不需向上连接便在温度变换期间使线保持高电平,这就允许在变换时间内其它 数据

55、在单线上传送。4.1.2 湿度测量传感部分HS1101是电容式湿度传感器,由于电容不可直接测量,故选用555多谐震荡电 路检测到频率,然后由单片机计算的电容值,再根据电容值算出相应的湿度值, 这样能较精确的测出当前环境的相对湿度。4.1.3 控制部分STC89C52是整个装置的控制核心,STC89C52内带8K字节的FlashROM,EA/Vpp接高电平使CPU在地址小于8K时访问内部存储器,控制程序就可以存放在 FlashROM内,而无须外接片外存储器。Y1为12MHZ晶振与STC89C52的XTAL1和 XTAL2引脚相连为系统提供时钟频率。C3和R5构成上电复位电路,C2手动上电复 位开

56、关。4.1.4 蜂鸣器电路原理蜂鸣器额定电流IBW30mA,而对于AT89S52单片机,P1 口的灌电流为1.6mA, 拉电流为60 口 A,由此可见,仅靠单片机的P1 口电流是不能驱动蜂鸣器的,必须使 用集晶体管放大电路,为了使单片机消耗的功率更小,所以使用PNP型晶体管 9012。4.1.5 显示部分显示器模块由1602液晶显示器及其相配套的控制器、驱动器(driver)和偏压 产生电路构成。可同时显示两行字符。显示器的BD0BD7引脚与STC89C52的P0 口连接,完成数据传输。4.1.6 电源部分系统电源部分采用的是4节1.5 V的电池,能为系统提供稳定的5V电压。4.2 软件流程图

57、图 4-1 主程序流程图K0 键盘处理子程序K1 键盘处理子程序图 4-2 子程序流程图主程序开始,单片机将温湿度预警线和当前温湿度数据显示在 1602 液晶屏 上。如果K3键按下,则进行温湿度报警线的修改,如果按下K1键,则温度报警 线加 1,如果按下 K2 键,则温度报警线减 1;再次按下 K3 键,光标闪烁到湿度 报警线,如果按下 K1 键,则湿度报警线加 1,如果按下 K2 键,则湿度报警线减 1;再次按下K3,液晶屏正常显示温湿度。4.3 系统总的程序设计见附录附14.3.1 读取温度数据子程序的设计本节的主要实现功能为:将传感器检测到的数据信息读出并存于数据缓冲器 中。_18B20

58、_read() 读出温度函数_18B20_reset();/总线复位_18B20_delay(200);_18B20_write(0xcc);/发命令_18B20_write(0x44);/发转换命令_18B20_reset();_18B20_delay(1);_18B20_write(0xcc);/发命令_18B20_write(0xbe);temp_data0=_18B20read_byte(); /读温度值的低字节 temp_data1=_18B20read_byte(); /读温度值的高字节 temp=temp_data1;temp=Rset)|(_1820display4=Tset)

59、beep=0;elsebeep=1;4.3.3 数据设置程序的设计 本节的主要实现功能为:利用“增”、“减”和“切换”三个按键,可以实现 对温、湿度的设置。当按“切换”键后,进行温度的设置,此时按“增”键,每 按一次,温度增加 1 度,再次按“切换”键后,进行湿度的设置,此时按“增” 键,每按一次,湿度增加1 度,反之,按“减”键时,相应减1 度。再次按下“切 换”键时,就会自动退出设置状态,进入工作状态。if(!K2)/如果按下 K2dellay(500); /延时去抖动menu+;/菜单加一if(menu=3)/如果菜单加到 3Sector_erase(0x2000);/擦除扇区 2000

60、Byte_program(0x2000,Tset); /将 0X2000 地址写入数据TsetSector_erase(0x2200);/擦除扇区 2200Byte_program(0x2200,Rset); /将 0X2200 地址写入数据Rsetmenu=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)/如果是菜单 1Tset-; /温度报警线减 1else if(menu=2)如果是菜单 2Rset-; /湿度报警线减 1 while(!K1); /等待 K1 释放第5章 结论在大学的学习过程中,毕业设

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!