




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 I 页 共 页 基于基于 RS485 总线的远程监测实时温度系统毕业论文总线的远程监测实时温度系统毕业论文 目 录 引言引言 1 1 1 系统设计系统设计 2 1 1 任务要求 2 1 2 总体设计 2 2 2 设计方案论证设计方案论证 3 2 1 主机部分方案论证 3 2 2 从机部分方案论证 3 2 3 通讯总线接口方案论证 3 3 3 系统硬件电路设计系统硬件电路设计 5 3 1 主控机电路设计 5 3 1 1 单片机 STC89C52 外围电路设计 5 3 1 2 液晶显示电路设计 7 3 1 3 报警电路设计 9 3 1 4 键盘控制电路设计 10 3 2 从机电路设计 11 3 2 1 温度采集电路设计 11 3 3 主从机 RS485 接口电路设计 14 3 4 程序下载电路设计 15 4 4 RS485RS485 通信技术通信技术基本原理基本原理 17 4 1 RS485 多机通信概述 17 4 2 多机通信基本原理 17 4 3 串行通信原理 18 4 3 1 串行通信基础知识 18 4 3 2 MCS 51 系列单片机串行口的结构 19 4 3 3 MCS 51 单片机串行口的控制 20 4 3 4 波特率设计 21 5 5 系统软件程序设计系统软件程序设计 23 5 1 通信协议设计 23 5 2 数据校验方法 24 5 3 从机系统控制设计 24 5 3 1 从机串口通信协议设计 25 第 II 页 共 页 5 3 2 温度采集程序设计 27 5 4 主机系统控制设计 29 5 4 1 主机的串口通信协议设计 31 5 4 2 键盘控制设计 32 5 4 3 液晶显示设计 35 5 4 4 报警部分设计 37 6 6 系统调试过程系统调试过程 38 6 1 硬件调试 38 6 2 软件调试 38 7 7 结论结论 39 谢谢 辞辞 41 参考文献参考文献 42 附附 录录 44 附录 A 硬件电路原理图 44 附录 B PCB 电路图 45 附录 C 程序代码 47 第第 1 页页 共共 58 页页 引言 单片机自从诞生以来 从 8 位 16 位到 32 位 数不胜数 应有尽有 有与主流的 C51 系列兼容的 也有不兼容的 但它们各具特色 互成互补 为单片机的应用提供了 广阔空间 单片机以其体积小 面向控制 高性价比等优点 在工业领域中扮演着重 要角色 在实际的应用中 经常需要多个单片机之间协调的工作 即多机通信 在测 试领域 想要构建一个较大规模的测试系统 都不可避免地采用包括 PC 单片机和其 他测试设备在内的多机系统 它们之间可能是近距离的 也可能是距离很远的 那么 相应的信息交换就可以通过并行通信或串行通信来实现 并行通信只适用于近距离的 通信 而串行通信适用于远距离的通信 有单片机参与的多机系统 将涉及单片机与 PC 机 单片机与单片机或单片机与其他测试设备之间的通信 MCS 51 系列单片机的串 行口工作模式 2 和模式 3 可实现多机通信 在一些要求响应速度快 实时性强 控制量多的应用场合 单个单片机构成的系 统往往难以胜任 这时就需要利用多个单片机结合 PC 组成分布式系统成为一个比较好 的解决方案 在这样的分布式系统中 可以使用 RS 232 总线连接 PC 和单片机 但由 于 RS 232 总线标准存在传输速率慢 传输距离短的缺点 很多时候无法满足工业应用 中多机系统的通信要求 因此实际应用中经常使用的是 RS 485 总线标准 RS 485 采用 平衡发送和差分接收来实现通信 具有极强的抗共模干扰能力 接收灵敏度也相当高 同时 最大传输速率和最大传输距离也大大提高 另外 RS 485 实现了多点互联 最多 可达 256 台驱动器和 256 台接收器 非常便于多器件的连接 在多机通信中 最重要 的是保证通信有条不紊的进行 因此不仅需要完整的电路设计 还需要有严格的通信 协议和完善的通信软件 本设计主要介绍 89C52 单片机构成的多机通信系统 重点介 绍了其通信协议 电路连接和通信软件的设计方法 毕业设计的目的是了解基本电路设计的流程 丰富自己的知识和理论 巩固所学 的知识 提高自己的动手能力和实验能力 从而具备一定的设计能力 本设计着重于 对单片机串行通信理论知识的理解 了解多机通信的工作原理 以便以后在单片机领 域的开发和研制打下基础 提高自己的设计能力 培养创新能力 丰富自己的知识理 论 做到理论和实际结合 理解单片机的接口技术 中断技术 存储方式 时钟方式 和控制方式 这样才能更好的利用单片机来做有效的设计 第第 2 页页 共共 58 页页 1 系统设计 1 1 任务要求 1 研究 RS485 总线技术的运用 即如何进行通信协议的设计 2 如何进行数据的采集 3 环境温度的测量 4 实现温度数据采集传输和集中监控功能 1 2 总体设计 整个监测系统主要分为两个部分 见图 1 1 的主机系统框图 单片机 STC89C52 芯 片 和图 1 2 的从机系统框图 主机部分 根据系统的要求 主机部分需要完成的功能 是读取并显示从机采集回来的实时 数据信息 并且对从机的外设进行控制 由键盘输入需要读取的从机的设备号 再输 入相应的数值来控制对应的从机设备上的 LED 灯 液晶显示部分则负责显示由从机采 集回来的实时信息 如温度 湿度等信息 并显示键盘输入的数据等等 报警部分 当采集到的温度大于设置温度值时 蜂鸣器工作 系统框图如下图 1 1 所示 图 1 1 主控机系统框图 从机部分 从机部分负责采集相关信息 等待主机的控制命令 并可以根据实际需要更改从 机地址 主要的功能是 正常模块下循环采集模数转换器的数据 模数转换部分包括 电压和亮度信息 并且处理监听状态 监听主机是否发送读取信息命令或者控制 LED 灯命令 以 52 单片机为核心 温度传感器采用 DS18B20 根据这些要求 从机系统的 框图如下图 1 2 所示 图 1 2 从机系统框图 第第 3 页页 共共 58 页页 2 设计方案论证 2 1 主机部分方案论证 根据系统的要求 主机需要完成的功能是读取从机采集回来信息 并且对从机的 外设进行控制 设计了以下三个方案 方案 一 以 ARM 处理器为控制核心 优点是系统外设丰富 可以节省大量的 外围设备及布线面积 缺点是只能采用贴片的封装 但是由于工艺的原因 需要花费 大量的时间在硬件电路的制作上 方案 二 以 PC 机为控制核心 由上位机来统一控制信息的采集 优点是可 以实现丰富的控制功能 缺点是 PC 体积都较大 且成本很高 方案 三 以 52 系列单片机为控制核心 优点是系统结构简单 利于各部分 功能 且成本较低 体积较小 方便安装等 缺点是功能较少 如需要增加其它功能 需要加入相应的硬件 但根据本系统的要求 以 52 单片机为核心 再加上 DS18B20 等 信息转换模块就可以很好完成系统要求的功能 综合以上三个主机方案 最终选择以 52 单片机为控制核心 DS18B20 来完成系统 对信息的采集 2 2 从机部分方案论证 从机部分需要完成各种信息的采集以及简单的对采集回来的信息进行处理 根据 这些要求 设计了以下几个方案 方案 一 用热敏电阻进行温度采集 能得到很好的精确度和速度 但热敏电 阻的可靠性差 测量温度准确率低 而且必须经过专门的接口电路转换成数字信号后 才能由单片机进行处理 且相对于数字温度传感器来说 成本较高 方案 二 用 DS18B20 温度传感器来采集温度 DS18B20 作为一种数字化温度传 感器 DS18B20 测温时无需任何外部元件 可直接输出 9 12 位 含符号位 的被测温度 值 测温范围为 55 125 在 1O 85 范围内测量精度为 0 5 输出测量 分辨率可调 最高可达 0 062 5 支持 单线总线 技术 仅需要占用一个通用 I O 端口即可完成与单片机的通信 现场温度直接以 单线总线 的数字方式传输 大 大提高了系统的抗干扰能力 综合以上两个从机方案 最终选择以 DS18B20 数字温度传感器进行温度的采集 2 3 通讯总线接口方案论证 系统的要求是一台主机 多台从机 这就需要将主机和所有的从机全部都要连到 一根总线 以满足主机读取从机的信息要求 至于通信方式是全双工还是半双工没关 系 只要主机能读取从机采集回来的信息即可 根据以上要求 设计了以下两个方案 第第 4 页页 共共 58 页页 方案 一 采用 RS 232 标准 优点实现简单 模块设计相当成熟 且成本也较 低 非常适合点对点的通讯 缺点是 接口的信号电平值较高 易损坏接口电路的芯 片 又因为与 TTL 电平不兼容故需使用电平转换电路方能与 TTL 电路连接 传输速率 较低 在异步传输时 波特率为 20Kbps 现在由于采用新的 UART 芯片 16C550 等 波 特率达到 115 2Kbps 接口使用一根信号线和一根信号返回线而构成共地的传输形式 这种共地传输容易产生共模干扰 所以抗噪声干扰性弱 传输距离有限 最大传输距 离标准值为 50 米 实际上也只能用在 15 米左右 方案 二 采用 RS 485 标准 它采用平衡发送和差分接收方式实现通信 发送 端将串行口的 TTL 电平信号转换成差分信号 A B 两路输出 经过线缆传输之后在接收 端将差分信号还原成 TTL 电平信号 由于传输线通常使用双绞线 又是差分传输 所 以又极强的抗共模干扰的能力 总线收发器灵敏度很高 可以检测到低至 200mV 电压 最高的通讯高达 2 5Mbps 故传输信号在千米之外都是可以恢复 而且 RS 485 允许最 大的从机数量达到 128 台 具强大的扩展能力 综合以上两个方案 本系统最终选择 RS 485 为系统的通信总线 这符合本系统的 点对多点的非平衡通讯模式和远距离传输模式 第第 5 页页 共共 58 页页 3 系统硬件电路设计 本系统采用单片机为核心设计电路 使用软硬件结合的方式 控制系统主要由两 部分组成 主控机部分和从机部分 其中主控机由供电电路 单片机应用电路 键盘 控制电路 液晶显示电路 输入接口电路和报警电路等组成 从机由供电电路 单片 机应用电路 输入接口电路 温度采集电路 键盘控制电路和 LED 显示电路组成 3 1 主控机电路设计 该主控机主要是使用单片机进行控制 通过液晶显示屏对相关的数据进行显示 该部分电路用到的元器件有 单片机 STC89C52 液晶显示屏 12864 晶振 22 1184MHz 4 与门芯片 74LS08 MAX485 蜂鸣器 三极管 9014 电阻和电 容等 主控机的具体电路原理图见附录 A 3 1 1 单片机 STC89C52 外围电路设计 在该系统中 单片机是整个系统的核心 整个系统运行的控制由单片机进行处理 它即协调整机工作 又是数据处理器 是软硬件系统连接的桥梁 将编译好的程序通 过下载接口烧录到单片机后 而单片机连接外部各个器件 统一处理接收到的数据和 传送指令到各个器件以便执行相关程序 按键的信号控制单片机的相应端口 再由各 判断语句选择执行的功能 单片机系统把全部的端口资源提供出来 本系统中对其外围电路的接口的设计如 图 3 1 所示 P0 口用来驱动液晶显示 P0 口的 I O 端口内部没有上拉电阻 所以需要通过 10K 的排阻后 再控制时钟芯片 其中 10K 的电阻用于做上拉电阻 增强单片机的驱动能 力 这个电阻值可以变化 但是不能太小 太小的话单片机承受不了 太大会减弱驱 动能力 P1 口用来连接外部按键 主要是构成一个 4X4 的矩阵键盘 其中 P1 0 P1 3 是行 控制 P1 4 P1 7 是列控制 P2 0 作为报警部分的数据输出口 P2 4 P2 7 连接到液晶显示屏 用来驱动显示 屏等功能 P3 0 P3 1 为串口发送与接收端口 P3 2 为地址输入驱动的控制端口 P3 3 为接收器输出使能端口 P3 4 为驱动器输出使能端口 第第 6 页页 共共 58 页页 图 3 1 单片机 STC95C52 外围电路设计原理图 STC89C52 是一种带 8K 字节闪烁可编程可擦除只读存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 COMOS8 的微处理 器 俗称单片机 该器件采用 ATMEL 搞密度 非易失存储器制造技术制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 STC89C52 具体介绍如下 主电源引脚 2 根 VCC Pin40 电源输入 接 5V 电源 GND Pin20 接地线 外接晶振引脚 2 根 XTAL1 Pin19 片内振荡电路的输入端 XTAL2 Pin20 片内振荡电路的输出端 控制引脚 4 根 RST VPP Pin9 复位引脚 引脚上出现 2 个机器周期的高电平将使单片机复位 ALE PROG Pin30 地址锁存允许信号 PSEN Pin29 外部存储器读选通信号 EA VPP Pin31 程序存储器的内外部选通 接低电平从外部程序存储器读指令 图 3 2 STC89C52 引脚图 第第 7 页页 共共 58 页页 如果接高电平则从内部程序存储器读指令 可编程输入 输出引脚 32 根 STC89C52 单片机有 4 组 8 位的可编程 I O 口 分别位 P0 P1 P2 P3 口 每个 口有 8 位 8 根引脚 共 32 根 PO 口 Pin39 Pin32 8 位双向 I O 口线 名称为 P0 0 P0 7 P1 口 Pin1 Pin8 8 位准双向 I O 口线 名称为 P1 0 P1 7 P2 口 Pin21 Pin28 8 位准双向 I O 口线 名称为 P2 0 P2 7 P3 口 Pin10 Pin17 8 位准双向 I O 口线 名称为 P3 0 P3 7 STC89C52 主要功能如表 3 1 所示 表 3 1 STC89C52 主要功能 主要功能特性 兼容 MCS51 指令系统8K 可反复擦写 Flash ROM 32 个双向 I O 口256x8bit 内部 RAM 3 个 16 位可编程定时 计数器中断时钟频率 0 24MHz 2 个串行中断可编程 UART 串行通道 2 个外部中断源共 6 个中断源 2 个读写中断口线3 级加密位 低功耗空闲和掉电模式软件设置睡眠和唤醒功能 3 1 2 液晶显示电路设计 在该系统中 显示部分的作用是 不需要外界的仪器就能让人一眼看出当时的具 体情况 显示数据可以通过数码管显示 也可以通过 LCD 显示 本系统采用的是 HJ12864M 1 液晶屏来显示所采集到的实时温度信息和按键处理时的具体操作的显示 其接口电路如图 3 3 所示 在本系统中液晶每屏可以显示 4 行 8 列共 32 个 16x16 点阵 的汉字 每个显示 RAM 可显示 1 个中文字符或 2 个 16x8 点阵全高 ASCII 码字符 即每 一屏最多可实现 32 个中文字符或 64 个 ASCII 码字符的显示 图 3 3 液晶显示电路 液晶显示器 LCD 是一种低功耗的显示器件 在计算机 万用表 袖珍式仪表和 手机等低功耗应用系统中广泛应用 市场上销售的 LCD 其背面含有驱动和控制电路 有专门的 IC 来完成 LCD 的动作控制 在设计 LCD 的接口电路中 只要送入适当的命令 第第 8 页页 共共 58 页页 码和要显示的数据 LCD 便会将其字符显示出来 在过程控制上非常方便 LCD 可以分 为两种类型 一种是文字模式 一种为绘图模式 带中文字库的 12864 是一种具有 4 位 8 位并行 2 线或 3 线串行多种接口方式 内部含有国标一级 二级简体中文字库 的点阵图形液晶显示模块 其显示分辨率为 128 64 内置 8192 个 16 16 点汉字 和 128 个 16 8 点 ASCII 字符集 利用该模块灵活的接口方式和简单 方便的操作指令 可 构成全中文人机交互图形界面 可以显示 8 4 行 16 16 点阵的汉字 也可完成图形 显示 由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比 不论硬 件电路结构或显示程序都要简洁得多 且该模块的价格也略低于相同点阵的图形液晶 模块 本系统使用的 12864M 1 是一种图形点阵液晶显示器 它主要由行驱动器 列驱动 器及 128X64 全点阵液晶显示器组成 可完成图形显示 也可以显示 8X4 个 16X16 点阵汉字 与外部 CPU 接口可采用串行或并行方式控制 12864的主要技术参数和性能 1 电源 VDD 5V 2 显示内容 128 列 X64 行 点 3 全屏幕点阵 4 2M ROM 总共提供8192个汉字 16X16 点阵 5 16K ROM CGROM 总共提供128 个字符 16X8 点阵 6 工作温度 20 70 存储温度 30 80 RS R W 的配合选择决定控制界面的 4 种模式如下表 3 2 表 3 2 RS R W 的配合控制界面的模式 RSR W功能说明 LLMPU 写指令到指令暂存器 IR LH读出忙标志 BF 及地址计数器 AC 的状态 HLMPU 写入数据到数据暂存器 DR HHMPU 从数据暂存器 DR 中读出数据 HHMPU 从数据暂存器 DR 中读出数据 模块的外部接口 外部接口信号如下表 3 3 所示 串行接口 PCB 上的 PS 链接到 S 端 表 3 3 外部接口信号 串行接口 PCB 上的 PS 链接到 S 端 第第 9 页页 共共 58 页页 管脚号管脚名称LEVER管脚功能描述 1VSS0V电源地 2VDD 5V电源正 3V0 液晶显示器驱动 d 电压 可调 4 CSH L片选信号 5SIFH L串行数据输入 出 6CLKH L串行同步时钟 7BLAH L背光源使能 高电平有效 8BLK3V背光源电压 外部接口信号如下表 3 4 所示 并行接口 JP PCB 上的 PS 链接到 P 端 表 3 4 外部接口信号 并行接口 JP PCB 上的 PS 链接到 P 端 第第 10 页页 共共 58 页页 管脚 号 管脚名 称 LEVER管脚功能描述 1VSS0V电源地 2VDD 5V电源正 3VO 液晶显示器驱动电器 可调 4RSH LRS H 表示DB7 DB0 为显示数据 RS L 表示 DB7 DB0 为控制指令 5R WH LR W H E H 数据被督导DB7 DB0 R W l E H L DB7 DB0 的数据被写到 IR 或 DR 6EH L使能信号 7DB0H L数据线 8DB1H L数据线 9DB2H L数据线 10DB3H L数据线 11DB4H L数据线 12DB5H L数据线 13DB6H L数据线 14DB7H L数据线 15PSB串并口选择 16NC空脚 17RST复位脚 低电平有效 18VOUT倍压输出脚 19LEDA背光电源正极 5V 20LEDK背光电源负极 0V 3 1 3 报警电路设计 该部分主要是对所采集到的温度指标来做出相应的回应 主要是通过中断来完成 该电路直接与单片机的 P2 0 口相连 由单片机的 P2 0 口进行直接控制 用一个蜂鸣 器进行报警的状态的反应 设置为高电平时驱动蜂鸣器 即当 P2 0 为高电平时 三极 管 9013 工作 此时三极管的集电极为低电平 这样就驱动了蜂鸣器 如果 P2 0 为 低电平 此时三极管不工作 三极管的集电极为高电平 蜂鸣器不工作 具体的电路 原理图如下图 3 4 所示 第第 11 页页 共共 58 页页 图 3 4 报警电路原理图 3 1 4 键盘控制电路设计 键盘是一组按键的集合 它是最常用的单片机输入设备 通过键盘输入数据或命 令 实现简单的人机对话 键盘上闭合键的识别是由专用硬件实现的 称为编码键盘 靠软件实现的称为非编码键盘 键盘可以分为两类 独立连接式和矩阵式 矩阵式键盘 也即通常所说的行列式键盘 由行线和列线组成 按键位于行 列 的交叉点上 行 列分别连接到按键开关的两端 行线通过上拉电阻接到高电平 无 按键动作时 行线处于高电平状态 有按键按下时 交点的行线和列线接通 行线电 平状态将由与此行线相连的列线电平决定 如果列线电平低 则行线电平为低 如果 列线电平高 则行线电平也为高 这一点是识别矩阵键盘按键是否被按下的关键所在 由于矩阵键盘中行 列线是多键共用的 各按键均影响该键所在行和列的电平 所以 必须将行列线信号配合起来作适当地处理 才能确定闭合键所在的位置 矩阵式键盘 节省了很多 I O 口 适用于按键数量较多的场所 本系统采用的是 4x4 矩阵式键盘 具体原理图如图 3 5 所示 4x4 键盘总共为 16 个按键 如果采用每个按键接一根控制线 那么要 16 根控制线 这样的设计就浪费了 单片机的很多 I O 口资源 所以设计中选择使用矩阵式键盘 如图所示 在图中行线 通过上拉电阻 10K 接到 5V 平时无按键动作时 行线处于高电平状态 而当有按键按 下时 则对应的行线和列线短接 行线电平状态将由与此电平线相连接的列线的电平 决定 图 3 5 键盘控制电路原理图 其工作原理 这里假设了 L1 L4 在没有受到驱动时为高电平 而 H1 H4 为低电平 第第 12 页页 共共 58 页页 在程序中每 10ms 定时查询一次 H1 H4 当发现其中有一个变为高电平时就进一步扫描 看看哪个按键被按下 具体过程说明如下 假设查询到 H1 为高电平 H2 H3 H4 为低 电平 那么可能被按下的按键为 S1 S5 S9 S13 这样就进一步探测 先把 L1 设为 低电平 L2 L4 为高电平 那么如果此时 H1 仍然为高电平 就是 S1 按键被按下 如果 H1 为低电平 那么就把 L2 设为低电平 L1 L3 L4 为高电平 如果此时 H1 仍然为高 电平 那么就是 S5 按键被按下了 以此类推 就可以确定 S1 S16 中有哪个按键被按 下了 假设 S1 按键被按下 那么当把 L1 设置为高电平时 读 H1 为高电平 但有时由 于受到干扰 或者按键的抖动 就可能判断为有的按键多次被按下 这就用到 去抖 动 技术 即当把 L1 设置为低电平时 每隔 50ms 读一次 H1 一共可以读 3 次 如果 连续 3 次 H1 都为高电平则认为 S1 这个按键确实被按下了 3 2 从机电路设计 从机采用 STC89C52 作为基本控制器来负责现场监控并采取现场的温度信号 具体 的从机电路原理图见附录 B 3 2 1 温度采集电路设计 该系统使用的是线性的数字温度传感器 DS18B20 来检测环境温度 本系统中 不 把 DS18B20 直接焊接到电路板上 而是采用外接的方式 在电路板上焊接一个三脚插 针 然后通过三芯的排线将 DS18B20 芯片接到电路板上 这样可以方便在测试外部温 度调节角度 由于 DS1820 采用单总线结构 因此外围电路非常简单 通过一上拉电阻 R5 即可与单片机相连 这里将 DS1820 的数据引脚 DQ 与单片机的 T1 口 即 P3 5 相 连 通过这条数据线接收温度测量值 电路板上连接 DS18B20 的三脚插针电路图如图 3 6 所示 图 3 6 DS18B20 硬件连接图 温度测量采用最新的单线数字温度传感器 DS18B20 DS18B20 是美国 DALLAS 半导 体公司最新推出的一种改进型智能温度传感器 与传统的热敏电阻相比 它能够直接 读出被测温度并且可根据实际要求通过简单的编程实现 9 12 位的数字值读数方式 可 以分别在 93 75ms 和 750ms 内完成 9 位和 12 位的数字量 并且从 DS18B20 读出的信息 或写入 DS18B20 的信息仅需要一根接口线 单线接口 读写 温度变换功率来源于数 据总线 总线本身也可以向所挂接的 DS18B20 供电 而无需额外电源 因而 使用 第第 13 页页 共共 58 页页 DS18B20 可使系统结构更趋简单 可靠性更高 DS18B20 的引脚图见图 3 7 引脚说明 如表 3 5 所示 底视图 图 3 7 DS18B20 的引脚图 表 3 5 DS18B20 详细引脚功能描述 序号名称引脚功能描述 1GND地信号 2DQ数据输入 输出引脚 开漏单总线接口引脚 当被用着在寄生电源下 也可以向器件提供电源 3VDD可选择的 VDD 引脚 当工作于寄生电源时 此引脚必须接地 DS18B20 的读写时序和测温原理与 DS1820 相同 只是得到的温度值的位数因分辨 率不同而不同 且温度转换时的延时时间由 2s 减为 750ms DS18B20 测温原理如图 2 8 所示 图中低温度系数晶振的振荡频率受温度影响很小 用于产生固定频率的脉冲信 号送给计数器 1 高温度系数晶体振荡器随温度变化其振荡率明显改变 所产生的信号 作为计数器 2 的脉冲输入 计数器 1 和温度寄存器被预置在 55 所对应的一个基数值 计数器 1 对低温度系数晶体振荡器产生的脉冲信号进行减法计数 当计数器 1 的预置 值减到 0 时 温度寄存器的值将加 1 计数器 1 的预置将重新被装入 计数器 1 重新开 始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器中的数值即为所测温度 斜率累加器 预置 低温度系数晶振 低温度系数晶振 计数器 1 0 计数器 2 比较 预置 温度寄存器 0 加 1 停止 第第 14 页页 共共 58 页页 图 3 8 DS18B20 工作原理 由于 DS18B20 是在一根 I O 线上读写数据 因此 对读写的数据位有着严格的时 序要求 DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性 该协议定 义了几种信号的时序 初始化时序 读时序 写时序 所有时序都是将主机作为主设 备 单总线器件作为从设备 而每一次命令和数据的传输都是从主机主动启动写时序 开始 如果要求单总线器件回送数据 在进行写命令后 主机需启动读时序完成数据 接收 数据和命令的传输都是低位在先 DS18B20 的复位时序如图 3 9 所示 图 3 9 DS18B20 的复位时序图 DS18B20 的读时序如图 3 10 所示 对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程 对于 DS18B20 的读时隙是从主机把单总线拉低之后 在 15 秒之内就得释放单总线 以让 DS18B20 把数据传输到单总线上 DS18B20 在完成一个读时序过程 至少需要 60us 才能完成 图 3 10 DS18B20 的读时序图 DS18B20 的写时序如图 3 11 所示 对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程 对于 DS18B20 写 0 时序和写 1 时序的要求不同 当要写 0 时序时 单总线要被拉 低至少 60us 保证 DS18B20 能够在 15us 到 45us 之间能够正确地采样 IO 总线上的 0 电平 当要写 1 时序时 单总线被拉低之后 在 15us 之内就得释放单总线 图3 11 DS18B20的写时序图 第第 15 页页 共共 58 页页 3 3 主从机 RS485 接口电路设计 本系统使用的串行通信总线标准接口是 RS 485 串行接口 RS 485 接口电路用到的 发送起 接收器芯片是 MAX485 发送器的 A B 引脚和接收器的 A B 引脚是对应连接 的 在收发器中会出现这种情况 它只能用于半双工通信 具体的电路连接图见图 3 12 和图 3 13 所示 图 3 12 主机的 RS 485 接口电路图 图 3 13 从机的 RS 485 接口电路原理图 本系统采用的 MAX485 接口芯片是 Maxim 公司的一种 RS485 芯片 该芯片采用单 一电源 5V 工作 额定电流为 300uA 采用半双工通讯方式 它完成将 TTL 电平转换为 RS485 电平的功能 其引脚结构图见图 3 14 所示 从图中可以看出 MAX485 芯片的结 构和引脚都非常简单 内部包含有一个驱动器和接收器 RO 和 DI 端分别为接收器的输 出和驱动器的输入端 与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可 RE 和 DE 端分别为接收和发送的使能端 当 RE 为逻辑 0 时 器件处于接收状态 当 DE 为 逻辑 1 时 器件处于发送状态 因为 MAX485 工作在半双工状态 所以只需用单片机的 一个管脚控制这两个引脚即可 A 端和 B 端分别为接收和发送的差分信号端 当 A 引脚 的电平高于 B 时 代表发送的数据为 1 当 A 引脚的电平低于 B 时 代表发送的数据为 0 在与单片机连接时接线非常简单 只需要一个信号控制 MAX485 的接收和发送即可 同时将 A 和 B 端之间加匹配电阻 一般可选 100 的电阻 本系统选用的是 120 的 电阻 第第 16 页页 共共 58 页页 图 3 14 MAX485 引脚图和典型工作电路 表 3 6 为 MAX485 接口芯片的收发器的逻辑真值表 它们便于半双工的通信接口电 路使用 半双工的通信方式可以实现多节点的对等通信网络 需要注意的是 收发器 的发送器和接收器共用总线 所以接收信号和输出信号都用 A 和 B 表示 表 3 6 MAX485 收发器逻辑功能表 收发器发送逻辑功能收发器接收逻辑功能 输入输出输入输出 REDEDIAB REDEA BRO 1111000 0 2V1 1100100 0 2V0 10X高阻高阻00输入开路1 10X高阻 3 4 程序下载电路设计 在单片机开发环境下 本系统通过下载接口电路模块实现编程和在线实时仿真及 程序烧写 使用烧录口 只要在设计时电路板上预留一个标准的 ISP 接口 配合并口 下载线 就可以不用拔出芯片 在电路板上就可以对芯片进行编程配置 本系统中使 用的下载电路 完成源程序代码下载到 89C52 芯片中 它需要和微机上的 ISP 下载器 软件配合使用来完成这样的功能 同时 为了方便下载以及稳定输入单片机的电源 本系统在单片机的 40 脚处 连接了一个 0 1uF 的电容进行滤波 这样可以增加烧录的 成功性 具体的下载接口电路原理图如图 3 15 所示 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 16 May 2008Sheet of File C Documents and Settings user 业业 业业业业 业业业业业 DdbDrawn By 12 34 56 78 910 JP2 HEADER 5X2 P15 P16 P17 RESET GND VCC 第第 17 页页 共共 58 页页 图 3 15 下载接口电路图 并口下载线内部使用了 HC244 芯片对信号进行隔离 带 5 1V 过压保护 具有二极 管电压隔离 可防止误插到 JTAG 座时的目标板电源保护 本系统所使用的 ISP 下载线 其接口与双龙 AVR 所有开发板兼容的排列 具体管脚排列如下 第 1 脚 MOSI 第 2 脚 VCC 第 3 脚 NC 第 4 脚 GND 第 5 脚 RESET 第 6 脚 GND 第 7 脚 SCK 第 8 脚 GND 第 9 脚 MISO 第 10 脚 GND 该并口 ISP 下载线具有如下特点 1 支持所有双龙 SL 系列 AVR AT89S 单片机开发实验器 管脚与双龙所有 AVR 开发板兼容 2 支持的器件为 ATMEL 公司的 AT89S 系列 包含 AT89S51 52 和 AVR 系列 3 支持的烧录文件格式 INTEL 格式的 HEX 文件 EEP 文件 二进制 BIN 文件 4 支持缓冲区数据修改和保存 缓冲区中的数据可以保存为二进制 BIN 文件 INTEL 格式的 HEX 或 EEP 文件 第第 18 页页 共共 58 页页 4 RS485 通信技术基本原理 4 1 RS485 多机通信概述 目前 在通信领域里 一对一的通信方式已经远远不能满足人们设计的需要 多 机通信已经成为通信控制领域的主流通信形式 单片机多机通信是指由两台以上单片 机组成的网络结构 可以通过串行通信方式共同实现对某一过程的最终控制 目前 单片机多机通信的形式较多 但通常可分为星型 环型 串行总线型和主从式多机型 四种 本设计采用的就是主从式多机型 它是一种分散形网络结构 具有接口简单和 使用灵活等优点 8 11 如图4 1为主从式基于RS485的单片机多机通信示意图 图 4 1 单片机 RS 485 总线多数据采集系统功能示意图 4 2 多机通信基本原理 在多机通信中 每台从机都分配有一个从机地址 主机与从机之间进行串行通信 时 通常是主机先呼叫某从机地址 唤醒被叫从机后 主 从两机之间进行数据交换 而未被呼叫的从机则继续进行各自的工作 可是 如果在主机与某被呼叫从机进行数 据交换过程中 其它的从机如果不采取相应的数据识别技术 则这些从机就会因为串 行通信线上有数据传输而时时被打断 影响正常的工作 利用单片机的串口工作方式 2 方式3可以很好的解决上述问题 在多机通信过程中 从机首先要解决的是如何识别主机发送的是地址信息还是数 据信息 当发送的是地址信息时 各从机都响应串口中断 接收主机下发的一帧地址 数据 而当主机发送数据帧时 无关从机可不响应串口中断 解决的方法是 当主机 发送一帧地址信息时 应保持这帧数据的第9位为1 从机按照工作方式2或工作方式3 运行时 将串行口控制寄存器SCON中的控制位SM2置为1 当所接收的一帧数据的第9位 为1 所有从机都产生串口中断 接收这一帧地址数据并与各自的从机地址进行比较 以判断主机是否要与本机通讯 接收到的地址数据与从机地址相等的为被呼叫从机 该从机将串行口控制寄存器SCON中的控制位SM2清为0 去接收主机发来的数据帧 数据 帧的第9位为0 此时不管接收到的第9位数据是否为1或0 都要产生串口中断 这就 保证了主机与被叫从机间的正常数据通讯 数据通讯结束后 该从机又重新将串行口 第第 19 页页 共共 58 页页 控制寄存器SCON中的控制位SM2置为1 为下一次与主机进行通讯作好准备 其它的从机 则一直在SM2 1下继续自己的工作 不会因为主 从机之间的数据通讯而被打断 多机通信的实现 主要靠主机和从机正确地设置与判断多机通信控制位 SM2 和发 送或接收的第 9 位数据 TB8 或 RB8 当主机给从机发送信息时 要根据发送信息的性 质来设置 TB8 发送地址信号时 设置 TB8 1 发送数据或命令时 设置 TB8 0 当从 机的 SM2 为 1 时 该从机只接收地址帧 RB8 位为 1 对数据帧 RB8 位为 0 将不予理 睬 而当 SM2 为 0 时 该从机接收所有发来的信息 多机通信过程概述如下 1 令所有从机的 SM2 位置 1 使它们处于只接收地址帧的状态 即从机复位 2 主机发送一帧地址信息 其中包括 8 位地址 第 9 位 即 TB8 为 1 以表示 发送的是地址 3 从机接收到地址帧后 各自中断 CPU 把接收到的地址与其本机地址作比较 4 地址相符的从机清除其 SM2 标志 准备接收主机发来的数据 命令 地址不 符的从机仍维持 SM2 1 不变 对主机发来的数据帧不予理睬 直到主机发来新的地址 帧 5 主机发送数据或控制信息 第 9 位为 0 给被寻址的从机 6 被寻址的从机 因 SM2 0 可以接收主机发送过来的所有数据 当从机接收 数据结束时 置位 SM2 返回接收地址帧状态 复位状态 7 当主机需改为与其它从机通信时 可再发出地址帧来呼叫其它的从机 4 3 串行通信原理 单片机 PC 及其他设备之间进行的信息交换称为数据通信 数据通信的方式有并 行数据通信和串行数据通信两种 实际应用中具体采用哪种方式 要根据数据传送的距 离来决定 如果是 PC 和外围设备之间的数据通信 距离小于 30m 时 可以采用并行数 据通信 而距离大于 30m 时 则应采用串行数据通信 如果是单片机或 PC 与测量仪器 之间的数据通信 距离小于 15m 时 可以采用并行数据通信 而距离大于 15m 时 则 应采用串行数据通信 6 10 本设计是基于 RS485 的远程温度监测系统 是属于远距离的数据通信 所以采用 的通信方式是 串行数据通信 结合本系统的具体情况 这里主要介绍串行通信的基 本知识和 MCS 51 系列单片机串行接口的结构及原理 4 3 1 串行通信基础知识 串行通信的方式可以按传输方式分 还可以按传输的数据结构来分 前者反映了 通信设备的硬件通信能力 后者反映了数据传输的效率 根据被测对象和测试设备情 第第 20 页页 共共 58 页页 况 可以选择不同的串行通信方式 串行通信的传输方式按通信设备的配置不同共有 3 种 即单工 半双工和全双工 单工是指数据传输只能从一方传向另一方 反方向则 不可以传输 半双工是指数据可以在两个方向传输 但每一时刻只能允许数据朝同一 个方向传输 全双工则没有方向和时间的限制 数据传输可以同时朝两个方向传输 串行通信又分为异步通信和同步通信两种基本方式 在本设计中采用的是串行异步通 信方式 异步通信时 数据是以字符为单位进行传送的 一个字符又称为一帧信息 每个 字符由 4 个部分组成 起始位 数据位 奇偶校验位和停止位 这样一组信息就称为 一帧数据或简称一帧 一帧信息由起始位开始 停止位结束 异步传送的字符格式如 图 4 2 所示 起始位D0D1 DN奇偶校验位停止位 图 4 2 异步通信的字符格式 起始位为 0 信号 占用 1 位 用来表示一帧信息的开始 其后就是数据位 它可 以是 5 位 6 位 7 位或 8 位 传送时低位在先 高位在后 再后面的是奇偶校验位 即可编程位 只占 l 位 最后是停止位 它用逻辑 l 来表示一帧信息的结束 可以 是 l 位 1 位半或 2 位 异步通信的特点是数据在线路上的传送不连续 传送时 字符间隔不固定 各个 字符可以是连续传送 也可以是间断传送 这完全取决于通信协议或约定 间断传送 时 在停止位后 线路上自动保持为 l 在异步通信时 通信双方必须事先约定以下两 项 1 字符格式 双方要事先约定字符的编码形式 奇偶校验形式及起始位和停止 位的规定 2 波特率 波特率就是传送速率 即每秒传送的二进制位数 单位为波特或 bit s 波特率与字符的传送速率之间的关系为 波特率等于一个字符的二进制编码位 数乘字符 秒 通信时要求发送端与接收端的波特率必须一致 异步串行通信的波特率 一般为 50 9600bit s 高低不等 4 3 2 MCS 51 系列单片机串行口的结构 MCS 51 系列单片机有一个全双工的串行口 这个串口既可以用于网络通信 也可 以实现串行异步通信 还可以作为同步移位寄存器使用 MCS 51 系列单片机串行口主 要由发送数据缓冲器 发送控制器 输出控制门 接收控制器 输入移位寄存器 接 收数据缓冲器等组成 如图 4 3 所示 发送缓冲器只能写入 不能读出 接收缓冲器 只能读出 不能写入 故两者使用同一个符号 SBUF 占用同一个地址 99H 通过使 用不同的读 写缓冲器的指令来决定是对哪一个缓冲器进行操作 串行口还有两个专 第第 21 页页 共共 58 页页 用寄存器 SCON PCON SCON 用来存放串行口的控制和状态信息 PCON 用于改变串行通 信的波特率 波特率发生器可由定时器 Tl 或 T2 构成 MCS 51 系列单片机串行口正是 通过对上述专用寄存器的设置 检测与读取来管理串行通信 使用串行接口以后 串行收 发的工作主要由串行接口来完成 在发送时 由 CPU 执行一条写指令把数据写入发送缓冲器 则启动串行口一位一位地向外发送 与此同 时接收端也可以一位一位地接收数据 直到把一组数据接收完 送入接收缓冲器 然 后通知 CPU CPU 执行一条读指令把接收缓冲器的内容读入 可见 在整个串行收 发 过程中 CPU 操作的时间很少 使得 CPU 还可以从事其他各种操作 从而大大提高了 CPU 的效率 内部总线 1串行口中断 输入移位寄存器 98 串 行 控 制 寄 存 器 接收控制器 发送控制器 8 8 8 接收 99 门 发送 99 定 时 器 图 4 3 MCS 51 单片机串行口结构框图 4 3 3 MCS 51 单片机串行口的控制 串行口的工作主要受串行口控制寄存器 SCON 的控制 另外也和电源控制寄存器 PCON 有关 1 串行口控制寄存器 SCON 串行控制寄存器 SCON 用以设定串行口的工作模式 接收 发送控制及设置状态标 志 字节地址 98H 可位寻址 其格式为 D7 D6 D5 D4 D3 D2 D1 D0 SM0SM1SM2RENTB8RB8TIRI SM0 SMl 串行口工作模式选择位 可选择 4 种工作模式 见表 4 1 所示 SM2 多机通信控制位 主要用于模式 2 和模式 3 若 SM2 1 则允许多机通信 在主 从式多机通信中 SM2 用于从机的接收控制 当 SM2 1 时 从机可接收地址帧 若接收到的第 9 位数据 RB8 为 0 时 数据帧 不启动接收中断标志 RI 即 RI 0 并 且将接收到的前 8 位数据丢弃 只有当 RB8 为 1 时 地址帧 才将接收到的前 8 位数 据送入 SBUF 中 并置位 RI 以产生中断申请 当 SM2 0 时 从机可接收所有信息 即 接收到一帧数据后 不论第 9 位数据是 0 还是 l 都置 RI 1 接收到的数据装入 SBUF 中 在模式 1 时 若 SM2 1 则只有接收到有效停止位时 RI 才置 l 以便接收下一帧 数据 在模式 0 时 SM2 必须是 0 表 4 1 MCS 51 单片机串行口的工作模式 SMO SM1工作模式功能说明波特率 第第 22 页页 共共 58 页页 0 0模式0 同步移位寄存器方 式 fosc l2 0 1模式l10位异步接收发送可变 由定时器控制 1 0模式211位异步接收发送fosc 32或fosc 64 1 l模式311位异步接收发送可变 由定时器控制 REN 允许接收控制位 只有当 REN 1 时 允许接收数据 若 REN 0 时 则禁止接 收 该位相当于串行接收的开关 由软件置 1 或清零 TB8 在模式 2 和模式 3 中 TB8 是发送数据的第 9 位 根据发送数据的需要由软 件置位或复位 它可作为奇偶校验位 单机通信 也可在多机通信中作为发送地址帧 或数据帧的标志位 多机通信时 一般约定 发送地址帧时 设置 TB8 1 发送数据帧 时 设置 TB8 0 在模式 0 或模式 1 中 该位未用 RB8 在模式 2 或模式 3 中 RB8 为接收数据的第 9 位 它即可以是约定的奇偶校 验位 也可以是约定的地址 数据标志位 可根据 RB8 被置位的情况对接收数据进行某 种判断 例如多机通信时 若 RB8 1 说明收到的数据为地址帧 RB8 0 收到的数据 为数据帧 在模式 1 时 若 SM2 0 即不是多机通信的情况 则 RB8 是已接收到的停止 位 模式 0 中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 4706.127-2025家用和类似用途电器的安全第127部分:水暖毯、水暖褥垫及类似器具的特殊要求
- Beef market in the U.S.-外文版培训课件(2025.9)
- 刺梨叶茶课件成功的条件
- 农业安全生产培训形式课件
- 农业区位课件评课
- 养发培训话术课件
- 员工离职解除劳动合同协议书7篇
- 兴安石油安全培训课件
- 化工产安全培训意义课件
- 内部市场化培训课件
- 2024年江苏省《辅警招聘考试必刷500题》考试题库附答案(能力提升)
- 公共管理学:理论、实践与方法 课件 第2章 公共管理的公共性、服务性与共治性
- ISO9001质量管理体系标准
- 全科医生培训个人总结
- 歌曲《wake》中英文歌词对照
- 2024年职教高考《机械制图》考试题库
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DL∕T 2487-2022 电力燃煤机械名词术语
- 藏餐培训前台课程设计
- 对外投资合作国别(地区)指南 -玻利维亚-20240530-00504
评论
0/150
提交评论