单片机与PC机的通信设计.pdf
第 5期 2 0 0 7年 1 0月 工矿 自 动化 I n du s t r y a n d M i ne Au t omat i o n NO . 5 0c t . 2 0 0 7 文章 编号 1 6 7 1 ~2 5 1 X 2 0 0 7 0 5 0 1 1 6 0 3 单片机与 P C机的通信设计 卢 超 陕西理 工学 院物 理 系 , 陕西 汉 中 7 2 3 0 0 0 摘 要 针 对现有 单 片机 与 P C机 之 间的通 信 问题 , 提 出了一 种科 学的 、 可行 的 方案 , 即利 用单 片机模 拟 串 口和 VB 6 . 0实现 单 片机 与 P C机 双 向数 据传 输 的方法 , 并介 绍 了具体 的硬 件 电路 和 相 关程 序 的设计 。 关键 词 单 片机 ;AT 8 9 C 2 0 5 1 ;串行 通信 ; P C机 ; VB 6 . 0 ;MS C o mm 控 件 中图分类 号 T P 3 9 3 文 献标 识码 B 0 引言 MC S 一5 1 单 片机 中只有 1个 串行 通信 口, 如果 该 串行 通信 口要 和其 它 单 片机 通 信 , 还 要 和 P C机 通信就需要用硬件或是软件扩展 1个串行通信 口。 通常情 况下 使用 8 2 5 0或 8 2 5 l通 用 同 步/ 异 步 接 收 发送 芯片进 行扩展 , 这 样 会额 外 占用 单 片 机 I / O 口 资源 , 电路也 会 比较 复杂 , 8 2 5 0的控 制 软 件 还 需 要 单 独编 写 , 增 加 了 系统 的 成本 。文 章 介 绍一 种 利 用 单片机 普通 I / 0 口和 VB 6 . 0实现 串行通 信的方 法 , 以单 片机 AT 8 9 C 2 0 5 1为例 说 明 。 l 串行 通信 的基本 原理 串行 通信 分为异 步 和同步 2种方式 。在 单片 机 中使用的串行通信都是异步方式 , 而异步通信采用 的是异 步传送 格式 , 其 字符 格式如 图 1 所 示 , 数 据发 送 和接收均 将起 始位 和停止 位作 为开始 和结束 的标 志。在异步通信 中, 起始位 占用 1位 低电平 , 用来 表示 字符 的 开始 , 其 后 为 7或 8位 的数 据 编 码 , 第 8位通 常作 为奇偶校 验位 , 共 有 3种 方式 供选 定 , 即 奇校验、 偶校验和无校验。最后为停止位 高电平 , 用来表示字符传送结束 。上述字符格式通常作 为 1 个 串行 帧 , 若 无 奇 偶校 验 位 , 即 为常 见 的 1 0位 帧 格式 。 停 l 一 校 停 止 拍 L 一1 o * 一 验 止 位 位 位 位 0 , 1 l 0 0 0 , 1 0 / l 0 , 1 0 , l 0 , 1 0 , l 0 , 1 1 图 1 异步 串行通信的字符格式示意图 收稿 日期 2 0 0 7 ~O 4 1 O 作者简介 卢超 1 9 7 9 一 , 男 , 陕 西汉 中人 , 硕士 , 陕 西理工学 院物理系教师 , 现主要从事 电子技术 、 测控方面的研究工作。 串行 通 信 中, 每 秒 传 送 的 数 据 位称 为 波 特 率 。 如数据 传送 的波 特 率 为 1 2 0 0 b p s , 采 用 1 0位 帧 格 式, 则每秒传送字节为 1 2 0个 , 而字节中每一位传送 时间 即为 波特 率 的倒 数 丁一 1 / 1 2 0 0 0 . 8 3 3 ms 。 同样 , 如数据 传送 的波 特 率 为 9 6 0 0 b p s , 则 字 节 中 每 一位 传 送 时 间 丁一1 / 9 6 0 0 0 . 1 0 4 ms 。根 据数 据传送的波特率, 即字节 中每一位的传送时间, 便可 用普 通 I / 0 口来模 拟实现 串行 通信 的时序 。 2 P C机 与单 片机 的通信 电路 8 9 C 2 0 5 1单 片 机 通 过 普 通 I / O 口 与 P C 机 R S 2 3 2串口实现通信的硬件接 口电路如 图 2所示。 由于 P C系列 微 机 串行 口为 R S 2 3 2 C标 准 接 口, 与 输入 、 输 出均 采 用 T T L 电 平 的 8 9 C 2 0 5 1单 片机 在 接 口规 范 上不一 致 , 因此 T T L电平 到 R S 2 3 2接 口电 平的转换 采用 MAX I M 公 司的 MA X 2 3 2标准 R S 2 3 2 接 口芯 片 , 该 芯 片可 以用单 电压 5 V 实现 R S 2 3 2 接 口 逻 辑 ‘ 1 ’ 一 3 一 一 1 5 V 和 逻 辑 ‘ 0 ’ 3 ~ 1 5 V 的 电平转 换。在 实 际 电路 中, 8 9 C 2 0 5 1的 P 1 . 3 为模拟发送端 , P 1 . 4为模 拟接收端 。 f 图 2 P C机与单 片机模拟 串口通信的硬件电路图 维普资讯 2 0 0 7年 第 5期 卢 超 单 片机与 P C机 的通信 设计 1 1 7 3单片 机模 拟 串口软件 的设 计 8 9 C 2 0 5 1单片机 的 P 1 . 3和 P 1 . 4口分别模 拟 串行通信 的发送 和 接 收 端 , 其 接 口程 序 主 要 由发 送 子 程序 和接收 子 程 序组 成 , 通信 速率 为 4 8 0 0 b p s , 帧 格式 为 N. 8 . 1 。发送 时 , 先 发送 1 个起 始位 低 电 平 , 接着 按低位 在 先 的顺 序 发 送 8位 数据 , 最后 发 送停止位 。接收时 , 先判断 P 1 . 4接 收端 口是否有 起 始低 电 平 出 现 , 如 有 则 按 低 位 在 先 的 顺 序 接 收 8位数 , 最后判断 P 1 . 4口是 否有停止高 电平 出现 , 如有 则完 成 1 个 数 据 接 收 , 否 则 继 续 等待 。其 中软 件编 写要 严格按 照 异 步通 信 的 时 序 进行 , 每 字节 位 传送时间隔按通信速 率 4 8 0 0 b p s计算 为 2 0 8 g s 。 其程 序流 程如 图 3所 示 。 图 3 主机 主程序 和串行 口中断服务程序 流程 图 4 P C机 通信软 件 的设计 4 .1发 送 接 收 数 据 P C机 利用 VB 6 . 0编程 。用 VB 6 . 0开发 串行 通信 程序 普遍采 用 以下 2种方 法 一 种 是利 用 w i n d o ws的 AP I函数 ; 另一 种是 采用 VB 6 . 0的通 信控 件 MS C o mm。利 用 AP I 函数 编 写 串行 通 信 程 序较 为复 杂 , 需 要调 用许 多繁琐 的 AP I函数 , 而 VB 6 . 0 的 MS C o mm通 信 控 件 提 供 了 标 准 的事 件 处 理 函 数 、 事 件 和方法 , 用户 不必 了解通 信过 程 中的底层 操 作 和 AP I 函数 , 从 而 比较 容 易 、 高 效 地 实 现 了 串 口 通信 。MS C o mm 控件提 供 了 2种 功 能 完 善 的 串 口 数 据 发 送 和 接 收 功 能 一 种 是 查 询 法 , 通 过 检 查 C o mmE v e n t 属 性 的值 来 轮 询 P o l l i n g 事 件 和 通 信 状 态 , 可 以使用 定 时器 或 D O⋯ L o o p程 序 实 现 ; 另 一 种是 事 件驱 动法 E v e n t d r i v e n , 利 用 MS C o mm 控 件 的On C o mm事 件 捕 获 串 口通 信错 误 或 事件 , 并 在 On C o mm 事件 中编写 程 序进行 相应处 理 , 这种方 法响应及时、 可靠性高 , 本设计采用了该方法来接收 远端 单 片机 的 回执 信 息 , 以使 P C机 作 出更 快 的反 应 。 为实 现通信 程序 , 须在 V B开发环境 下设置一个 用做控制 通信 的窗体 。窗体 上 主要有 1个 通信 控件 MS C o m ml 和 2个 T i me r 控件 。VB的特 点是 事 件驱 动 , 定时器控 件会定时触发相应 事件 的驱动程 序 。软 件采用 定 时器 T i me r l 控 件 来 实 现 在数 据 信息 送 出 3 0 S 后 T i me r 1 . I n t e r v a l 3 0 0 0 0 , 如 P C机 仍 未收 到任何 回执信 息时 , 程序 自动跳 出系统 。 为 了使 主机 能 够 对 过程 进 行实 时 控制 , 需 要 在 发送命令以后设定等待 的时 间, 也可以通过条件判 断下一步是发送还是接收命 令。对发送 的命令, 可 能是文 本 方 式 或 二 进 制 代 码 。在 发 送 二 进 制 代 码 时 , 应 特别 注意 发 送 的格 式 。发 送 命 令 过程 是 一个 带参过程 , 这样可使发送命令简便易行 。 接 收 数据 是 一 个 被动 的 过程 , 可 以通过 函数来 实现 , 由定 时器 开启 。在接 收过程 中 , 多 数用 特征字 符 , 如 “ OK” 、 “ ” 等 。这 些需 要在 通信协 议 中约定 。 4 . 2 自动接 收 、 监 视 总线状 态和 通信错 误 的处理 自动 接 收 、 监 视 总 线状 态 和通 信 错 误 的处理 可 以通 过 On C o mm 事 件 实 现 。VB程 序 运 行 过 程 中 只要 设 置 MS C o mm1 . Rt h r e s h o l d 一 1 , 在 接 收 事 件 发 生 时 程序 就 会 自动 访 问 MS C o mm1 . 0 n C o mm 过 程 。 由于外 界 干扰或 电压 波动等 原 因 , P C机 和单 片机 之 间的通 信 可能 会 出现错 误 , 如 接 收 缓 冲 区溢 出、 网络端口超速等 。这些可能发生的事件都能在 代码 中引起运 行错误 , 为 了处理 这些 错误 , 需要将 错 误处 理 代 码 添 加 到 程 序 中 。通 过 控 件 中 的 On C o mm事件可以捕捉和处理错误 。在通信过程中所 发生 的 通 信 错 误 是 C o mmE v e n t属 性 返 回 的 。当 C o mmE v e n t 属 性值发 生 改变 时 , 表 明有 通 信 错误 , 就会 产生 On C o mm 事件 。同时 , 可 以利用 自动 引发 On C o mm 事 件 的特 点 在 接 收 过 程 中加 入 状 态 显 示 码 , 这 样可 以监 视通信 线路 状态 , 得 到单片机 和主 机 的通 信进程 。 5 结 语 经 过 电路 测试 、 软 件调试 和 系统组装 , 实 现 了多 片单片机和 P C机问的通信。这种方法不需增加额 外硬件就能实现数据的双向传输功能 , 且具有简单 可靠 、 成本低的优点 。 维普资讯 第 5期 2 0 07年 1 O月 工矿 自 动 化 I nd us t r y an d M i ne Au t o mat i o n NO . 5 0c t . 2 00 7 文章编 号 1 6 7 1 2 5 1 X 2 0 0 7 O 5 0 1 1 8 0 2 网络数字视频监控系统在梁宝寺矿的应用设计 贾堂刚 , 张战 国。 1 . 肥 城矿业 集 团梁宝寺 矿 , 山东 肥城2 7 1 6 0 0 ;2 . 天 地 常州 自动化 股份 有限公 司 , 江苏 常州 2 1 3 0 1 5 摘 要 文章 介绍 了网络 数 字视 频监 控 系统在 梁 宝寺矿应 用 中的方 案设计及 该 系统的 构成 、 功 能和应 用 效 果 等 。 关键 词 煤 矿 ;网络视 频监 控 ;数 字化 中 图分 类号 T D 7 6 文献标 识码 B 0 引言 随着 计 算 机 技 术 和 网 络 技 术 的 发 展 , 基 于 T C P / I P协 议 的 I P网络 在煤 矿 得到 了广 泛 的应 用 , 也促进 了基 于 I P技 术 的视 频 技 术 在 煤 矿 的 应 用 。 从 技术 和管理 角度 出发 , 引 入 网络 视 频 监 控 系统 已 经成为 一种必 然 。 本 文主要 介绍 网络数 字视 频监控 系统 在梁宝 寺 矿 的应 用设计 。 网络数 字视频监 控系 统作 为梁宝 寺 矿全矿井综合 自动化系统 的一部分, 采用成熟的网 络技术 和先进 、 稳 定 的 H. 2 6 4压 缩 格 式 视 频 编码 , 井下部分采用数字编码器和矿用本安模拟摄像机 , 实 现 了矿 井生 产重要 环节 的实时 监控 、 录像存 档 、 多 级监 控 、 系统联 动等 功能 。 1方案选 择 目前 , 网 络 视 频 监 控 系 统 主 要 有 2种 模 式 1 采用模拟摄像机 , 通过光缆或电缆点对点地上 传 图象 ; 2 采用 数 字方式 , 将 图象数 字 化后 通过 网 络上传 , 实现一点对 多点 的监控。 梁宝寺矿井下 已 收稿 日期 2 0 0 7 0 5 1 3 作者简介 贾堂刚, 男 。 高级工程 师。 1 9 9 1年毕 业于 山东 科技大 学工业 电气 自动化专业 , 现任肥城矿业集团梁宝寺矿副总经理。 敷 设千 兆工 业 以太 环 网 , 主 干 通 道 使 用 6芯 光 缆 。 从 节 省投资 、 减少 工程 维护量 的角度 出发 , 考虑 充分 利 用现 有 的千兆 以太 环 网, 因 此选 用 第 2种 网络 视 频 监控 模式 , 即数 字视 频监控 模式 。在该模 式 中 , 图 象 经过前 端数 字化处 理 , 采用 T C P / I P协 议 、 通 过 井 下 千兆 工业 以太环 网 主干道传输 。 井下摄像机因有照度要求 , 目前市场上 的网络 摄像机无法满足井下要求 , 因此采用矿用本安摄像 机与视频编码器的组合方式。矿用本安摄像机输出 的模拟视频信号经过视频编码器数字化处理后 , 输 入 矿用 以太 网交换 机 , 再 通 过千 兆 工 业 以太 环 网上 传至地面调度中心的视频服务器存储、 代理转发, 由 数 字矩阵 把视 频送 到 监视 器 或 大屏 幕 上显 示 , 从 而 实现 远程监 控 。 本方案 具有 以下 特点 1 数字视 频摄 像机 可 以就 近 接人 千兆 以太 环 网 , 非 常方 便 ; 2 视频数字信号通过千兆以太环 网传输, 无 距 离 限制 , 无 干扰 、 可靠 性高 ; 3 采用网络传输 , 易于实现“ 一点对多点, 多 点 对 多点” 的视频监 控 ; 4 系统结 构灵 活多样 , 容量 易扩展 ; 5 授 权 的网络 客户端 可控 制摄 像机 、 录像 、 查 询等, 不受地域、 时间限制。 参考文献 [ 1 ] 李 圣明, 曹玉强 , 孙 清. 基于 R S 4 8 5总线 的分布式测 控系统 [ J ]. 仪表技术 与传感器 , 2 0 0 4 1 1 . [ 2 ] 李湘江 , 邹筱梅. Vi s u a l B a s i c串行通 信 技 术 [ J ] . 工 矿 自动化 , 2 0 0 2 2 . [ 3 ] 王丽 , 雷秀 , 余建国. 基 于 P C机与单 片机 A T8 9 C 5 2 的串行通 信协议设计 [ J ] . 机 电工程技术 , 2 0 0 6 2 . [ 4 ] 江正战. 串行通信接 口标准 R s 4 2 3 / 4 2 2 / 4 8 5及其应 用 [ J ] . 电子技术应用 , 1 9 9 4 9 . [ 5 ] 王琦 , 秦娟英 , 周 伟. 用 R S 4 8 5构成总线 型多点数 据采集 系统 [ J ] . 计算机 自动测量与控制 , 2 0 0 0 8 . [ 6 ] 余 国卫, 陈俊生 , 张丽平 , 等. 单片机串行通信技 术在数 据采集系统中的应 用[ J ] . 微处理机 , 2 0 0 5 4 . 维普资讯