




免费预览已结束,剩余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 级 重庆万州 404000 摘 要 通过对温度监测系统的研究 设计了以 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 也支持 一线总线 接口 测量温度范围为 55 C 125 C 在 10 85 C 范围内 精度为 0 5 C 现场温度直接以 一线总线 的数字方式传输 大大提高了系统的抗干扰性 适合于 恶劣环境的现场温度测量 如 环境控制 设备或过程控制 测温类消费电子产品等 与前一代 产品不同 新的产品支持 3V 5 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 摄氏度 可编程为 9 12 位转换精度 测温分辨率可达 0 0625 摄氏度 分辨率设定参数以及用户设定的报警温度存 储在 EEPROM 中 掉电后依然保存 被测温度用符号扩展的 16 位数字量方式串行输出 其工作电 源既可以在远端引入 也可以采用寄生电源方式产生 多个 DS18B20 可以并联到 3 根或 2 根线上 CPU 只需一根端口线就能与诸多 DS18B20 通信 占用微处理器的端口较少 可节省大量的引线和 逻辑电路 因此用它来组成一个测温系统 具有线路简单 在一根通信线 可以挂很多这样的数 字温度计 十分方便 DS18B20 的性能特点如下 独特的单线接口方式 DS18B20 在与微处理器连接时仅需要一条总线即可实现微处理器与 DS18B20 的双向通讯 2012 届电子信息工程 应用技术方向 专业毕业设计 论文 DS18B20 支持多点组网功能 多个 DS18B20 可以并联在唯一的三线上 实现组网多点测温 DS18B20 在使用中不需要任何外围元件 全部传感元件及转换电路集成在形如一只三极管 的集成电路内 适应电压范围宽 电压范围 3 0 5 5V 在寄生电源方式下可由数据线供电 测温范围 55 125 在 10 85 时精度为 0 5 零待机功耗 可编程的分辨率为 9 12 位 对应的可分辨温度分别为 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 脚 PR 35 封装或 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 00000111 1101000007D0H 85 00000101 010100000550H 25 0625 00000001 100100010191H 10 125 00000000 1010001000A2H 0 5 00000000 000010000008H 张敏 基于智能的温度监测系统 第 7 页 共 29 页 0 00000000 000000000000H 0 5 11111111 11111000FFF8H 10 125 11111111 01011110FFE5H 25 0625 11111110 01101111FF6FH 55 11111100 10010000FC90H DS18B20 完成温度转换后 就把测得的温度值与 RAM 中的 TH TL 字节内容作比较 若 T TH 或 T 0 480us 1 2 响应 DS18B20 检测到该上升沿后 延时 15 60us 通过拉低总线 60 240us 来产生应答 脉冲 DQ 1 15 60us 0 60 240us 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 Value 1 Temp Value 0 Temp Value 0 1 if Temp Value 0 0 x00 Temp Value 1 ng 1 Display Digit 0 df Table Temp Value 0 CurrentT Temp Value 0 Display Digit 3 CurrentT 100 Display Digit 2 CurrentT 100 10 Display Digit 1 CurrentT 10 Current Temp Display Buffer 11 Display Digit 0 0 Current Temp Display Buffer 10 Current Temp Display Buffer 9 Display Digit 1 0 Current Temp Display Buffer 8 Display Digit 2 0 张敏 基于智能的温度监测系统 第 7 页 共 29 页 Current Temp Display Buffer 7 Display Digit 3 0 if Display Digit 3 0 Current Temp Display Buffer 7 if Display Digit 2 0 if ng if Current Temp Display Buffer 8 Current Temp Display Buffer 8 else if Current Temp Display Buffer 7 Current Temp Display Buffer 7 else Current Temp Display Buffer 6 Set LCD POS 0 x00 for i 0 i 16 i Write LCD Data Temp Disp Title i Set LCD POS 0 x40 for i 0 i 16 i Write LCD Data Current Temp Display Buffer i 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 语言常用模块与综合系统设计实例精讲 J 北京 电子工业出版社 2008 2 张越等 基于 DS18B20 温度传感器的数字温度计 J 微电子学 2007 3 李朝青 单片机原理及接口技术 J 北京航空航天大学出版社 1998 4 黄河 基于 DS18B20 的单总线数字温度计 J 湘潭师范学院学报 2008 5 王建强等 基于 DSP 控制器与 DS18B20 的温度测量方法 J 仪器仪表与检测技术 2009 附 录 仿真图仿真图 张敏 基于智能的温度监测系统 第 9 页 共 29 页 总程序总程序 writer shopping w include include define uint unsigned int define uchar unsigned char define delayNOP nop nop nop nop sbit DQ P3 3 sbit LCD RS P2 0 sbit LCD RW P2 1 sbit LCD EN P2 2 uchar code Temp Disp Title Current Temp uchar Current Temp Display Buffer TEMP uchar code Temperature Char 8 0 x0c 0 x12 0 x12 0 x0c 0 x00 0 x00 0 x00 0 x00 uchar code df Table 2012 届电子信息工程 应用技术方向 专业毕业设计 论文 0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 9 uchar CurrentT 0 uchar Temp Value 0 x00 0 x00 uchar Display Digit 0 0 0 0 bit DS18B20 IS OK 1 void DelayXus uint x 延时程序 uchar i while x for i 0 i 200 i bit LCD Busy Check 判忙程序 bit result LCD RS 0 LCD RW 1 LCD EN 1 delayNOP result bit P0 LCD EN 0 return result void Write LCD Command uchar cmd 写命令 while LCD Busy Check LCD RS 0 LCD RW 0 LCD EN 0 nop nop P0 cmd delayNOP LCD EN 1 delayNOP LCD EN 0 void Write LCD Data uchar dat 写数据 while LCD Busy Check LCD RS 1 LCD RW 0 LCD EN 0 P0 dat delayNOP LCD EN 1 delayNOP LCD EN 0 void LCD Initialise LCD 初始化程序 Write LCD Command 0 x01 DelayXus 5 Write LCD Command 0 x38 DelayXus 5 张敏 基于智能的温度监测系统 第 11 页 共 29 页 Write LCD Command 0 x0c DelayXus 5 Write LCD Command 0 x06 DelayXus 5 void Set LCD POS uchar pos 设置 LCD1602 的显示位置 Write LCD Command pos 0 x80 void Delay uint x 延时程序 while x uchar Init DS18B20 初始化 18B20 uchar status DQ 1 Delay 8 DQ 0 Delay 90 DQ 1 Delay 8 DQ 1 return status uchar ReadOneByte 读取一字节数据 uchar i dat 0 DQ 1 nop for i 0 i 1 DQ 1 nop nop if DQ dat 0X80 Delay 30 DQ 1 return dat void WriteOneByte uchar dat 写一字节数据 uchar i for i 0 i 1 2012 届电子信息工程 应用技术方向 专业毕业设计 论文 void Read Temperature 读取温度 if Init DS18B20 1 DS18B20 IS OK 0 else WriteOneByte 0 xcc WriteOneByte 0 x44 Init DS18B20 WriteOneByte 0 xcc WriteOneByte 0 xbe Temp Value 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液氮化工知识培训内容课件
- 从业资格证实操考试资料及答案解析
- 2025年贵州建设职业技术学院单招综合素质考试题库及答案
- 中级护理考试题库真题及答案解析
- 平安考场安全员考试题库及答案解析
- 安全b证题库有500题及答案解析
- 基金从业资格道德考试及答案解析
- 期货从业资格考试讲义及答案解析
- 重庆从业资格证考试题及答案解析
- 养老护理技师题库及答案解析
- 2022智慧园区设计、建设与验收技术规范
- 自备车补贴申请表
- 注塑成型技术培训之工艺理解课件
- 信息论与编码(第4版)完整全套课件
- 广西佑太药业有限责任公司医药中间体项目环评报告书
- 汽修厂安全风险分级管控清单
- 海绵城市公园改造施工组织设计
- 上体自编教材-体育运动概论-模拟
- 05625《心理治疗》案例分析
- GB/T 2679.7-2005纸板戳穿强度的测定
- GB/T 25840-2010规定电气设备部件(特别是接线端子)允许温升的导则
评论
0/150
提交评论