




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆三峡学院毕业设计(论文)重庆三峡学院毕业设计(论文) 题目题目 基于智能的温度检测系统基于智能的温度检测系统 院院 系系 应用技术学院应用技术学院 专专 业业 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 年年 级级 XXXXXXXXXXXXXX 学生姓名学生姓名 XXXXXXXXXXXX 学生学号学生学号 XXXXXXXXXXXXXXXXXXXXXXXX 指导教师指导教师 XXXXXXXXXXXX 职称职称 XXXXXXXX 完成毕业设计(论文)时间完成毕业设计(论文)时间 20112011 年年 1212 月月 目 录 摘 要.2 第一章绪 论.3 第 1.1 节课题背景.3 第 1.2 节课题来源.3 第 1.3 节 选题的意义.4 第 1.4 节课题内容及要求.4 第二章 总体设计方案.4 第 2.1 节 数字温度计设计方案论证.4 第 2.2 节 总设计框图.5 第三章 系统的硬件设计.5 第 3.1 节 AT89C51 的简介.5 第 3.2 节 晶振电路的设计.2 第 3.3 节 温度采集电路的设计.3 第 3.4 节 温度显示电路的设计.8 第四章 系统的软件设计.10 第 4.1 节 应用软件的介绍.10 第 4.2 节 概述.2 第 4.3 节 DS18B20 的单线协议和命令.2 第 4.4 节 温度采集程序的设计.5 第 4.5 节 温度显示程序的设计.6 结 论.7 致 谢 语.8 参考文献.8 附录.8 仿真图.8 总程序.9 ABSTRACT.13 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 基于智能的温度监测系统 张 敏 重庆三峡学院应用技术学院电子信息工程(应用技术方向)专业 2008 级 重庆万州 摘 要 通过对温度监测系统的研究,设计了以 AT89C51 型单片机作为主控制器件,采用 DS18B20 数字温度传感器为测温元件,LM016L 为温度显示器的智能温度监测系统。设计内容两部 分,即硬件设计和软件设计,本设计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽 等效果。 关键词 AT89C51 DS18B20 LM016L 液晶显示 张敏 基于智能的温度监测系统 第 3 页 共 29 页 第一章 绪 论 第 1.1 节 课题背景 单片机自 1976 年由 Intel 公司推出 MCS-48 开始,迄今已有三十多年了。由于单片机集成度 高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到 人们工作和生活的方方面面。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅 速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域,对各个行 业的技术改造和产品更新换代起着重要的推动作用。 单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据 存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截 然分开,分别寻址的结构,一般需要较大的程序存储器。目前的单片机以采用程序存储器和数据 存储器截然分开的结构为多。 本设计讨论的单片机多功能定时器的核心是目前应用极为广泛的 51 系列单片机,配置了外围 设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足 所需要求而且还有很多功能可供开发,有着广泛的应用领域。 第 1.2 节 课题来源 众所周知,环境温度一直是生物能否较适宜生存的一个重要因素,而人们对环境温度的感知 也从单纯的身体感官的感受发展到用各种温度计来对环境温度进行准确的测量。但是受限于技术 等原因,温度计通常都有体积较大,精度不高等各种缺陷。而数字温度测量芯片的出现则解决了 这些问题,其中的一款芯片 DS18B20 是 DALLAS 公司生产的 1-Wire,即单总线器件,具有线路简 单,体积小的特点。因此,用它来组成一个测温系统,具有线路简单,在一根通信线上可以挂载 很多这样的数字温度芯片,十分方便。 温度传感器 DS1820 是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了 在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。现在, 新一代的 DS18B20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。DS18B20 也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C 范围内,精度为 0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于 恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代 产品不同,新的产品支持 3V5.5V 的电压范围,使系统设计更灵活、方便。而且新一代产品更便 宜,体积更小,这就为用最低的成本制作出用途更广,精度更高的便携带的数字温度计提供了可 能。 温度传感器的发展经历了三个发展阶段: 1. 传统的分立式温度传感器; 2. 模拟集成温度传感器; 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 3. 智能集成温度传感器; 第 1.3 节 选题的意义 温度的测量是科研与生产中最常见的一类测量技术,有效第对温度进行测量可以提高生产效 率,提高产品质量,节能,减轻工人劳动强度,使实际系统的工作品质得到极大的改善。智能温 度测量系统因性价比高,研制周期短而得到广泛应用,采用微处理器构成的智能温度检测系统比 使用分离元器件或集成电路器件构成的温度测量系统功能更强大、结构更灵活、性能更可靠、运 行更稳定,已成为温度测量系统的首选。 第 1.4 节 课题内容及要求 本次设计的主要思路是利用 51 系列单片机,数字温度传感器 DS18B20 和 LM016L 液晶显示, 构成实现温度检测与显示的单片机控制系统,即数字温度计。通过对单片机编写相应的程序,达 到能够实时检测周围温度的目的。 通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、 DS18B20、LCD)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度 计的总体设计。其具体的要求如下: 1、根据设计要求,选用 AT89C51 单片机为核心器件; 2、温度检测器件采用 DS18B20 数字式温度传感器,利用单总线式连接方式与单片机的串行接 口 P0.0 引脚相连; 3、显示电路采用 LM016L 液晶显示温度值,此类液晶模块不仅可以显示数字、字符,还可以 显示各种图形符号以及少量自定义符号,人机界面友好,使用操作也更加灵活、方便,使其日益 成为各种仪器仪表等设备的首选。 第二章 总体设计方案 第 2.1 节 数字温度计设计方案论证 2.1.1 方案一 由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应, 将其随被测温度变化的电压或电流值采集过来,进行 A/D 转换后,就可以用单片机进行数据的处 理,通过显示电路就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较 麻烦。因此,我们引出第二种方案。 2.1.2 方案二 我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感 器 DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可 张敏 基于智能的温度监测系统 第 5 页 共 29 页 以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本 设计中采用了方案二。 通过方案二设计的温度计总体电路图如附录(仿真图)所示,控制器采用单片机 AT89C51,温 度传感器采用 DS18B20,用 LM016L 的显示功能实现温度显示。 第 2.2 节 总设计框图 本设计主要介绍了用单片机和数字温度传感器 DS18B20 相结合的方法来实现温度的采集,以 单片机 AT89C51 芯片为核心,温度传感器 DS18B20 和 LM016L 液晶显示,构成了一个多功能单片机 数字温度计。该装置适用于人民的日常生活和工、农业生产的温度测量,实现对温度的监测。其 主要研究内容包括两方面,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对 系统软件部分的设计,应用 C 语言实现温度的采集与显示。通过利用数字温度传感器 DS18B20 进 行设计,能够满足实时检测温度的要求,同时通过 LM016L 的显示功能,可以实现不间断的温度显 示。其总体设计框图如图 2-1 所示: 2-1 设计总框图 第三章 系统的硬件设计 第 3.1 节 AT89C51 的简介 AT89C51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可编 程的 Flash 只读程序存储器,兼容标准 8051 指令系统及引脚,并集成了 Flash 程序存储器,既 可在线编程(ISP),也可用传统方法进行编程,因此,低价位 AT89C51 单片机可应用于许多高性价 比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机 AT89C51 具有低 电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手 持式产品的设计使用系统可用二节电池供电。 3.1.1AT89C51 的主要特性如下: .与 MCS-51 单片机产品兼容; .4K 字节可编程闪烁存储器; .寿命:1000 写/擦循环; .数据保留时间:10 年; 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) .全静态工作:0Hz-24Hz; .三级程序存储器锁定; .128*8 位内部 RAM; .32 根可编程 I/O 线; .两个 16 位定时器/计数器; .5 个中断源; .可编程串行通道; .低功耗的闲置和掉电模式; .片内振荡器和时钟电路 3.1.2 芯片 AT89C51 的引脚排列如图 3-1 所示。 图 3-1 AT89C51 单片机引脚图 3.1.3 AT89C51 引脚功能介绍 单片机芯片 AT89C51 为 40 引脚双列直插式封装。其各个引脚功能介绍如下: (1) VCC:供电电压; (2) GND:接地; (3) P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每个管脚可吸收 8TTL 门电流。当 P1 口的 管脚写”1”时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地 址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当 FLASH 进行校验时,P0 输出原码,此时 P0 外部电位必须被拉高。 (4) P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入”1”后,电位被内部上拉为高,可用作输入,P1 口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) (5) P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2 口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2 口当用于外部程序存储器 或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址”1”时,它利用 内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 (6) P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入”1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电 平,P3 口将输出电流(ILL),也是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口, 同时 P3 口同时为闪烁编程和编程校验接收一些控制信号。其具体功能如表 3.1 所示。 表 3.1 P3 口的特殊功能 端口定义符号表示功能描述 P3.0RXD 串行输入口 P3.1TXD 串行输出口 P3.2INT0 外部中断 0 P3.3INT1 外部中断 1 P3.4T0 定时器 0 外部输入 P3.5T1 定时器 1 外部输入 P3.6WR 外部数据存储器写选通 P3.7RD 外部数据存储器读选通 (7) RST:复位输入端。当振荡器复位时,要保持 RST 脚两个机器周期的高电平时间。 (8) ALE / PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信 号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意 的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址 上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令时 ALE 才起作用。另外,该引脚被略微拉高。如 果微处理器在外部执行状态 ALE 禁止,置位无效。 (9) PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期 PSEN 两次有效。但访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。 (10) EA/VPP:当 EA 保持低电平时,访问外部 ROM;注意加密方式 1 时,EA 将内部锁定为 RESET;当 EA 端保持高电平时,访问内部 ROM。在 FLASH 编程期间,此引脚也用于施加 12V 编程 电源(VPP)。 (11) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12) XTAL2:来自反向振荡器的输出。 张敏 基于智能的温度监测系统 第 3 页 共 29 页 第 3.2 节 晶振电路的设计 单片机晶振电路的设计如图 3-2 所示。XTAL1(X1)为反向振荡放大器的输入及内部时钟工作 电路的输入。按照理论上 AT89C51 使用的是 12MHz 的晶振,但实测使用 11.0592MHz。所以设计者 通常用的是 11.0592MHz。 图 3-2 单片机晶振电路 第 3.3 节 温度采集电路的设计 由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的 外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用 DALLAS 公司的数字温度传感器 DS18B20 作为测温元件。 3.3.1 DS18B20 的简介 DALLAS 最新单线数字温度传感器 DS18B20 是一种新型的”一线器件” ,其体积更小、更适用 于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器 DS18B20 是世界 上第一片支持”一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为 912 位转换精度,测温分辨率可达 0.0625 摄氏度,分辨率设定参数以及用户设定的报警温度存 储在 EEPROM 中,掉电后依然保存。被测温度用符号扩展的 16 位数字量方式串行输出;其工作电 源既可以在远端引入,也可以采用寄生电源方式产生;多个 DS18B20 可以并联到 3 根或 2 根线上, CPU 只需一根端口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和 逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数 字温度计,十分方便。 DS18B20 的性能特点如下: .独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条总线即可实现微处理器与 DS18B20 的双向通讯; 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) .DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温; .DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管 的集成电路内; .适应电压范围宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电; .测温范围-55125,在-10+85时精度为0.5; .零待机功耗; .可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温; .在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多在 750ms 内把 温度值转换为数字,速度更快; .用户可定义报警设置; .报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; .测量结果直接输出数字温度信号,以一线总线串行传送给 CPU,同时可传送 CRC 校验码, 具有极强的抗干扰纠错能力; .负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; 以上特点使 DS18B20 非常适用与多点、远距离温度检测系统。 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发 器 TH 和 TL、配置寄存器。DS18B20 的管脚排列、各种封装形式如图 3-3 所示。其中,DQ 为数据 输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供 电源;GND 为地信号;VDD 为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。其电路 图 3-4 所示。 图 3-3 外部封装形式 图 3-4 传感器电路图 3.3.2 DS18B20 内部结构 图 3-5 为 DS1820 的内部结构框图,它主要包括寄生电源、温度传感器、64 位激光 ROM 单线 接口、存放中间数据的高速暂存器(内含便笺式 RAM),用于存储用户设定的温度上下限值的 TH 和 TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。DS18B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装。 张敏 基于智能的温度监测系统 第 5 页 共 29 页 其中,64 bit 闪速 ROM 的结构如下 3.2 表所示: 表 3.2 64 bit 闪速 ROM 的结构 8bit 校验 CRC48bit 序列号8bit 工厂代码(10H) MSB LSBMSB LSBMSB LSB 开始的 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前 面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。 图 3-5 DS18B20 内部结构框图 温度传感器 DS18B20 的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。高速暂存 RAM 的结构为 8 字节的存储器,结构如表 3.3 所示。 表 3.3 高速暂存 RAM 结构图 中间结果暂存 RAM 字节 温度值低位字节 0 温度值高位字节 1 TH/用户使用字节 1 2 TL/用户使用字节 2 3 配置字节 4 保留字节 5 保留字节 6 保留字节 7 CRC 字节 8 其中,前 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失的,每次上 电复位时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 暂存存储器的第 5 个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下表 3.4: 表 3.4 配置寄存器 TH/用户使用字节 1 TL/用户使用字节 2 非易失性电可擦除 RAM 配置字节 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 0R1R0111111 MSB LSB 其中 R0 和 R1 是温度值分辨率位,可按表 3.5 进行配置。 表 3.5 温度值分辨率配置表 R1R0分辨率最大转换时间(ms) 009 位93.75ms(tconv/8) 0110 位183.50ms(tconv /4) 1011 位375ms(tconv /2) 1112 位750ms(tconv) 当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符号扩 展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可通过单线接口读到该数据, 读取时低位在前、高位在后,数据格式以 0.0625/LSB 形式表示。温度值格式如下表 3.6: 表 3.6 温度值 低232221202-12-22-32-4 高SSSSS262524 MSB LSB 这是 12 位转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中,二进制中的前 面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到 实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际 温度。格式中,S 表示位。对应的温度计算:当符号位 S=0 时,表示测得的温度植为正值,直接 将二进制位转换为十进制;当 S=1 时,表示测得的温度植为负值,先将补码变换为原码,再计算 十进制值。例如+125的数字输出为 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字 输出为 FF6FH,-55的数字输出为 FC90H。 DS18B20 温度传感器主要用于对温度进行测量,数据可用 16 位符号扩展的二进制补码读数形 式提供,并以 0.0625/LSB 形式表示。表 3.7 是部分温度值对应的二进制温度表示数据。 表 3.7 部分温度的二进制数表示 温度数字输出(二进制)数字输出(16 进制) +125 07D0H +85 0550H +25.0625 0191H +10.125 00A2H +0.5 0008H 张敏 基于智能的温度监测系统 第 7 页 共 29 页 0 0000H -0.5 FFF8H -10.125 FFE5H -25.0625 FF6FH -55 FC90H DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、TL 字节内容作比较,若 TTH 或 T 0(480us+) - 1 2、响应:DS18B20 检测到该上升沿后,延时 1560us,通过拉低总线 60240us 来产生应答 脉冲。DQ: 1(1560us) - 0(60240us) 3、接收响应:主机接收到从机的应答脉冲后,说明有单线器件在线。至此,初始化完成。 4.3.2 ROM 操作命令 当主机检测到应答脉冲,便可发起 ROM 操作命令。共有 5 类 ROM 操作命令,如表 4.1: 表 4.1 ROM 操作命令 指令类型命令字节功能说明 Read Rom 读 ROM 33H 读取激光 ROM 中的 64 位,只能用于总线上单个 DS18B20 器 件情况,多挂时会发生数据冲突; Match Rom 匹配 ROM 55H 此命令后跟 64 位 ROM 序列号,寻址多挂总线上的对应 DS18B20,只有序列号完全匹配的 DS18B20 才能响应后面的 内存操作命令,其他不匹配的将等待复位脉冲,可用于单挂 或多挂两种情况; Skip Rom 跳过 ROM CCH 可无须提供 64 位 ROM 序列号即可运行内存操作命令,只能 用于单挂; Search Rom 搜 索 ROM F0H 通过一个排除法过程,识别出总线上所有器件的 ROM 序列号; AlarmSearch 报警搜索 ECH 命令流程与 Search Rom 相同,但 DS18B20 只有最近的一次 温度测量时满足了报警触发条件的,才会响应此命令。 4.3.3 内存操作命令 张敏 基于智能的温度监测系统 第 3 页 共 29 页 在成功执行 ROM 操作命令后,才可使用内存操作命令。共有 6 种内存操作命令,如表 4.2: 表 4.2 内存操作命令 指令类型命令字节功能说明 Write Scratchpad 写暂存器 4EH 写暂存器中地址 2地址 4 的 3 个字节(TH,TL 和配置寄存器) 在发起复位脉冲之前,3 个字节都必须要写; Read Scratchpad 读暂存器 BEH 读取暂存器内容,从字节 0 一直到字节 8,共 9 个字节,主机 随时发起复位脉冲,停止此操作,通常我们只需读前 5 个字 节; Copy Scratchpad 复制暂存器 48H 将暂存器中的内容复制进 EERAM,以便将温度告警触发字节存 入非易失内存,如果此命令后主机产生读时隙,那么只要器 件还在进行复制都会输出 0,复制完成后输出 1; Convert T 温度转换 44H 开始温度转换操作,若在此命令后主机产生时隙,那么只要 器件还在进行温度转换就会输出 0,转换完成后输出 1; Recall E2 重调 E2 暂存器 B8H 将存储在 EERAM 中的温度告警触发值和配置寄存器值重新拷 贝到暂存器中,此操作在 DS18B20 加电时自动产生; ReadPower Supply 读供电方 式 B4H 主机发起此命令后每个读数时隙内,DS18B20 会发信号通知它 的供电方式:0 寄生电源,1 外部供电。 4.3.4 数据处理 DS18B20 要求有严格的时序来保证数据的完整性。在单线 DQ 上存在复位脉冲、应答、写”0” 、 写”1”读”0”和读”1”几种型号类型,其中除了应答脉冲以外,均有主机产生。 1、DS18B20 的复位时序如图 4-1: 图 4-1 DS18B20 的复位时序 数据位的读和写则是通过使用读、写是时序实现的。首先来看写时序,时序图如图 4-2 所示。 当主机将数据线从高电平拉至低电平时产生写时序。有两种类型的写时序:写”1”和写”0” 。所 有写时序必须在 60us 以上(即有高拉低后持续 60us 以上),各个写时序之间必须保证最短 1us 的 恢复时间。DS18B20 在 DQ 线变低后的 15us 至 60us 的窗口时间内对 DQ 线进行采样,如果为高电 平就写为”1” ,如果为低电平就写为”0” 。对于主机产生写”1”时隙的情况,数据线必须先被拉 低,然后释放,在写时序开始后的 15us 内允许 DQ 线拉至高电平。对于主机产生写”0”时隙的情 况,DQ 线必须被拉至低电平且至少保持低电平 60us 的时间。 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 图 4-2 写时序 再来看读时序,时序图如图 4-3 所示。当主机从 DS18B20 读数据时,把数据线从高电平拉至 低电平,产生读时序数据线 DQ 必须保持低电平至少 1us,来自 DS18B20 的输出数据在读时序下降 沿之后 15us 内有效,因此在此 15us 内,主机必须停止将 DQ 引脚置低。在读时序结束时,DQ 引 脚将通过外部上拉电阻拉回至高电平。所有的读时序最短必须持续 60us,各个读时序之间必须保 证最短 1us 的回复时间。 图 4-3 读时序 所有的读写时序至少需要 60us,且每两个对立的时序之间至少需要 1us 的回复时间。在写时 序中,主机将在拉低总线 15us 内释放总线,并向 DS18B20 写”1” ;若主机拉低总线后能保持至少 60us 的低电平,则向单总线器件写”0” 。DS18B20 仅在主机发出读时序时才向主机传送数据,所 以当主机向 DS18B20 发出读数据命令后,必须马上产生读时序,以便 DS18B20 能传输数据。 第 4.4 节 温度采集程序的设计 4.4.1 程序流程图 温度采集程序流程图如图 4-4 所示。 张敏 基于智能的温度监测系统 第 5 页 共 29 页 开开始始 液液晶晶显显示示器器和和 D DS S1 18 8B B2 20 0初初始始化化 延延时时1 1s s 读读D DS S1 18 8B B2 20 0数数据据 显显示示温温度度 判判断断液液晶晶显显示示 器器是是否否忙忙 延延时时1 10 00 0u us s 是是 否否 图 4-4 温度采集流程 4.4.2 主程序 void main()/主程序 LCD_Initialise(); Read_Temperature(); Delay(50000); Delay(50000); while(1) Read_Temperature(); if(DS18B20_IS_OK) Display_Temperature(); DelayXus(100); 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 第 4.5 节 温度显示程序的设计 4.5.1 程序流程图 温度显示程序流程图如图 4-5 所示: 进进入入显显示示 子子程程序序 位位数数转转换换 送送显显示示地地址址 送送显显示示数数据据 使使液液晶晶显显示示 返返回回主主程程 序序 图 4-5 LED 显示流程图 4.5.2 显示程序 void Display_Temperature()/显示程序 uchar i; uchar t = 150, ng = 0; if(Temp_Value1 Temp_Value0 = Temp_Value0+1; if(Temp_Value0=0 x00) Temp_Value1+; ng = 1; Display_Digit0 = df_TableTemp_Value0 CurrentT = (Temp_Value0 Display_Digit3 = CurrentT/100; Display_Digit2 = CurrentT%100/10; Display_Digit1 = CurrentT%10; Current_Temp_Display_Buffer11 = Display_Digit0 + 0; Current_Temp_Display_Buffer10 = .; Current_Temp_Display_Buffer9 = Display_Digit1 + 0; Current_Temp_Display_Buffer8 = Display_Digit2 + 0; 张敏 基于智能的温度监测系统 第 7 页 共 29 页 Current_Temp_Display_Buffer7 = Display_Digit3 + 0; if(Display_Digit3 = 0) Current_Temp_Display_Buffer7 = ; if(Display_Digit2 = 0 if(ng) if(Current_Temp_Display_Buffer8 = ) Current_Temp_Display_Buffer8 = -; else if(Current_Temp_Display_Buffer7 = ) Current_Temp_Display_Buffer7 = -; else Current_Temp_Display_Buffer6 = -; Set_LCD_POS(0 x00); for(i=0;i16;i+) Write_LCD_Data(Temp_Disp_Titlei); Set_LCD_POS(0 x40); for(i=0;i16;i+) Write_LCD_Data(Current_Temp_Display_Bufferi); Set_LCD_POS(0 x4d); Write_LCD_Data(0 x00); Set_LCD_POS(0 x4e); Write_LCD_Data(C); 结 论 本设计介绍了基于智能温度监测系统设计实现过程,本人在这几周的时间内阅读有关温度监 测设计的相关资料,设计了系统所需的电路原理图及实现采集与显示功能的软件程序,完成了基 于智能温度监测系统设计。设计中采用最常用的单片机 AT89C51 作为主控模块,单总线数字温度 传感器 DS18B20 用来测量温度,温度数据采用 LCD 显示。本设计的特点是构成系统的硬件器件少, 操作简单,数据处理功能强。 通过这次毕业设计使我学习到了很多的东西,不仅加深了对专业知识的理解,而且更好地把 理论知识与实践相结合,提高了自身的动手能力和实践水平,增强了学习单片机系统开发与设计 的兴趣。 在本设计中不可避免存在一些不足之处,我会在以后的学习生活中不断加以完善。相信本次 毕业设计的经历一定会在我今后的学习生活中产生巨大的推动作用。 致 谢 语 2012 届电子信息工程(应用技术方向)专业毕业设计(论文) 经过几个月的忙碌,我的毕业设计也已经接近尾声。在这段毕业设计期间,我的老师给了我 很大的帮助。在此,我要衷心感谢我的指导教师王悦善老师,在毕业设计期间我的设计和论文都 是在王老师全面、具体的指导下进行的,老师对论文的选题、构思、资料收集到最后定稿的各个 阶段都给了我很大的宝贵意见和悉心指导,认真帮助我纠正设计上的错误和写作论文上的不规范 之处,在王老师的指导和帮助下我才得以顺利地完成了毕业设计。他严谨的治学态度,诲人不倦 的师者风范、忘我的工作精神深深感动了我。 同时也要感谢班上同学的帮助,他们在我的毕业设计期间给我提供了很大的帮助,在他们的 帮助下我少走了许多弯路,提高了工作效率。 最后,感谢百忙之中抽时间来对我的毕业设计论文进行审阅、评议和参加论文答辩的各位老 师! 参考文献 1于永.51 单片机 C 语言常用模块与综
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年癌症疼痛药食品行业研究报告及未来行业发展趋势预测
- 2025年二氧化碳回收行业研究报告及未来行业发展趋势预测
- 2025年电容器绝缘纸行业研究报告及未来行业发展趋势预测
- 2025年钢材贸易行业研究报告及未来行业发展趋势预测
- 2025年玻镁板行业研究报告及未来行业发展趋势预测
- 化学溶液析出实验教学反思
- 湖南省中考数学真题汇编与详细解析
- 医院高危药品使用管理及目录更新
- 新能源行业2025年高效发电技术突破与应用报告
- 2025年仿制药一致性评价对医药市场医药企业市场细分市场策略的研究报告
- 中小学高级职称英语全英答辩题
- 新版教科版科学五年级上册全册课件
- 小学地方课程教案(全面完整版)
- 山西省家庭经济困难学生认定申请表
- 国家职业技能标准——城市轨道交通列车司机(2020版)
- 《社会学概论》全套课件-PPT
- 动力弹塑性分析滞回模型-迈达斯
- 驾驶员实用英语口语
- 小学六年级上册音乐-第1课《我的祖国》--湘教版(12张)ppt课件
- 脐疗-望脐知健康ppt课件
- 完整版陆河客家请神书
评论
0/150
提交评论