基于at89c52的ds18b20多点测温

  • 格式:pdf
  • 大小:103.36 KB
  • 文档页数:1
基于 A T 8 9 C 5 2的 D S 1 8 B 2 0多点测温
◆ 方 超
2 8 )
【 摘要 】 随着 时代 的发展 , 各个领域对 温度 测量的要求越来越 高, 而 供 应 不 足 的 问题 。 且要 求设备更加 简单实用 ,本文重点研 究单片机 的一个 I / 0 口作 场效应管的栅极连接 一个 T / o口,用来控制场效应管 的导通 为数 据 总 线 同 时驱 动 6 4个 DS 1 8 B 2 0温度 传 感 器 . 从 而使 系统 测 温 和 截 止 。当 主控 芯 片对 D S 1 8 B 2 0下 达 转 换 指 令 后 , 场 效应 管 导 通 , 更加全 面, 经 济 实用 。 ’ 对数据 线进行上 拉, 使其保持充足 的电流供应, 确保 D S 1 8 B 2 0正常 【 关键词 】 单片机 温度传感器 进 行温 度 转 换 。 二、 控制器对 D 8 B 2 o的 操作 流 程 ( 1 ) 复位 : 首先对 D S 1 8 B 2 0芯 片 进 行 复位 , 复位 是 由控 制 器 给 D S 1 8 B 2 0温 度 传 感器 采 用 电线 总线 进 行 数 据 传 输 ,每 片 D S 1 8 B 2 0单 总 线 至 少 4 8 0 u S的 低 电平 信 号 , 当 D S 1 8 B 2 0接 到 此 复 D S 1 8 2 B 2 0温 度 传 感 器 有 独 有 的 6 4 位 ( 8字 节 ) 片 内固化 R O M用 来 位 信 号 后 则 会 在 1 5  ̄6 0 u S后 回发 一 个 芯 片 的存 在脉 冲 。 确定通讯 目标 。理论上 在一根总线上 只要 D S 1 8 B 2 0温度传感器片 ( 2 ) 存在脉冲 : 在 复位 电平结束之后 , 控制器应 该将数据 单总 内R O M的 内容 不重 复,数据 可以正常传输 。实际上 ,由于单片机 线 拉高 ,以便于 在 1 5 6 0 u S后接 收存在 脉冲 ,存在 脉冲 为一个 ( A T 8 9 C 5 2 ) I / O口的负载 能力等 问题导 致 目前 一根数 据总线 上最 6 0  ̄2 4 0 u S的低 电平信号 ,至此 ,通信双 方 已经达成 了基本 的协 多存在 8 个 D S 1 8 B 2 0芯片, 下面对 D S I 8 B 2 0工作 的电路进行 分析, 议, 接 下来将会是控制器与 1 8 B 2 0间的数据 通信, 如 果复位低 电平 以便 找到 驱 动 能力 不 足 的原 因 , 并改进增强。 的时间不足或是单总线的电路 断路都不会接到存在脉冲 。 单 片 机 的 负 载 及 功 率 问题 ( 3 ) 控制器 发送 R O M指令 : R O M指令 共有 5条 , 一个工 作周期 首 先 就 是 单 片 机 的负 载 能 力 到 底 是 多 少 , 从 A T 8 9 C 5 2 R C的 数 只 能 发 一 条 , R O M指 令 分 别 是 读 R O M数 据 、 指 定 匹 配 芯 片 、 跳 跃 据 手 册 中可 以知 道 单片 机 ( A T 8 9 C 5 2 R C ) 每 个 引 脚 的 限 制 电 流 R O M 、 芯片搜索 、 报 警 芯 片 搜 索 。R O M指 令 为 8位 长 度 , 功 能 是 对 片 3 . 2 m h 。 总线 的电压 、 电流情况可分为以下四种情况 讨论 : 单片机写 内的 6 4位 光 刻 R O M进 行 操 作 。 其 主 要 目 的是 为 了 分 辨 一 条 总线 上 1 、 单片机写 0 、 单片机读 1 、 单片机读 0 。 挂接的多个器件 并做处理 。诚然 ,单总线上可 以同时挂接多个器 ( 1 ) 单片机 写 1 : 每片芯片 上 电时有 5 u A的固定 电流 消耗 , 6 4 件, 并通过每个器件上所 独有 的 I D号来区别。 片并联一共是 3 2 0 u A 。当单 片机 A T 8 9 C 5 2 R C P O口输出高 电平 时输 ( 4 ) 控制器发送存储器操 作指令 : 在 R O M指 令 发 送 给 D S 1 8 B 2 0 出 电压 最 低 0 . 7 5 V c c时 , 最 大 输 出 电流 3 0 0 u A 。如 果 不加 上 拉 电 阻 之 后 , 紧 接 着 就 发 送 存 储 器 操 作 指 令 。 操 作 指 令 同样 为 8位 , 共6 而挂载 6 4片 D S I 8 B 2 0时 , 当单 片 机 ( A T 8 9 C 5 2 R C ) 输 出 高 电 平 时 总 条 , 存储 器操作指令 分别是写 R A M数 据 、 读R M 数据 、 A 将 R A M数 据 线上的 电压将小于 0 . 7 5 V c c 。所 以至少多 出来 的 2 0 u A要 由上 拉电 复制 到 E E P R O M 、 温度转换、 将E E P R O M中 的报 警值 复 制 到 R AM 、 工 作 阻提供才能保证 电路输 出高 电平 时电压达 到 0 . 7 5 V c c 。此时求得 方式切换 。存储器操作指令的功能是命令 D S 1 8 B 2 0做什 么样 的工 上 拉 电 阻 阻 值应 小 于 2 5 0 K Q。 作, 是芯片控制 的关键 。 当单片机 A T 8 9 C 5 2 R C P O口输 出 高 电平 时 输 出 电 压 最 低 ( 5 ) 执行或数据读写 : 一个存储器操作指令 结束后 则进行 指令 0 . 9 V c c时 , 最 大 输 出 电流 8 0 u A 。 此时挂载 6 4片 D S 1 8 B 2 0时上 拉 电 执行或数据的读写 , 这个操作要视存储器操作指令而 定。 如执 行温 阻提 供 的 电流 最 小 为 2 4 0 u A 。 此 时 求得 上 拉 电 阻 的最 大 阻值 度转 换指令则控制器 ( 单 片机) 必须 等待 D S 1 8 B 2 0执行其指 令 , 一 20. 8 3KQ 。 般转换时间为 5 0 0 u S 。如 执 行 数据 读 写指 令 则 需 要 严 格遵 循 ( 2 ) 单片机写 0 : P 0口输 出低 电平 且其灌入 电流最大为 3 . 2 m A D S 1 8 B 2 0的读写时序来操作 。若要读 出当前 的温度 数据我们 需要 时, 总 线 上 的 电压 为 0 . 4 5 V 。所 以 当 单 片 机 写 0时 , 由上 拉 电 阻 提 执 行 两 次 工 作 周 期 , 第 一 个 周 期 为 复位 、 跳过 R O M指 令 、 执 行 温 度 供 的 电流 要 小 于 3 . 2 m A 。 所 以上 拉 电阻 要 大 于 1 . 5 6 2 5 K Q。 转换存储 器操 作指令 、 等待 5 0 0 u S 温度转换 时间。 紧接着执行第二 ( 3 ) 单片机读 l : 因为单片机读取数据时 i / o口要先写 l , 因此 个周期为复位 、 指定匹配芯片指令 、 写6 4位 R O M 、 执 行读 R A M的存 总 线 的状 态 与 单 片 机 写 1 相 类 似 。此 处 便 不 再 讨 论 。 储器操作指令、 读数据 ( 最 多为 9个字节 , 中途 可停止, 只读简单温 ( 4 ) 单片机读 0 : D S 1 8 B 2 0 输 出的低 电平 是通 过数据总线 与地 度值则读前 2个字节 即可) 。 相连 的场效应管导通产生 的。 场效应管导通时 的电阻为 1 0 0 Q。 所 程 序 执 行 顺序 : 复位 ( 8 0 0 u S ) 、 跳过 R 0 M( 7 0 0 u S ) 、 温 度 转 换 以如 果 想 使 场 效 应 管 导 通 时 数 据 总线 上 的 电压 小 于 0 . 4 5 V ,必 须 ( 7 0 0 u S ) 、 等待温度转换 ( 5 0 0 m S ) : 复位 ( 8 0 0 u S ) 、 指 定 匹 配 芯 片 使场效应管上 的分压小于 0 . 4 5 V 。 即总 线 灌 入 D S 1 8 B 2 0的 电流 要 ( 7 0 0 u S ) 、 8字节 序列号 ( 7 0 0 u S . 8 ) 、读 R A M指 令 ( 7 0 0 u S ) 、读取