利用单片机实现串口通信.docx

上传人:hw****26 文档编号:3086039 上传时间:2019-05-20 格式:DOCX 页数:7 大小:146.14KB
下载 相关 举报
利用单片机实现串口通信.docx_第1页
第1页 / 共7页
利用单片机实现串口通信.docx_第2页
第2页 / 共7页
利用单片机实现串口通信.docx_第3页
第3页 / 共7页
利用单片机实现串口通信.docx_第4页
第4页 / 共7页
利用单片机实现串口通信.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、题目: 利用单片机实现串口通信摘要:串口是计算机上一种非常通用设备通信的协议,它按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。而本文将介绍如何利用单片机与上位机来实现与电脑的串口通信。关键词:串口通信;单片机;上位机1.引言:51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输

2、线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。2.串口通信介绍:(1)串 口 通 信 参 数 :SCON 串行口控制寄存器 通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是 51芯片的串行口控制寄存器。它的寻址地址是 98H,是一个可以位寻址的寄存器,作用就是监视和控制 51芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用 SCON寄存器。它的各个位的具体定义如下:(MSB) (LSB)SM0 SM1 SM2 REN TB8 RB8 TI RI1.串行口控制寄存器 SCONSM0、SM1 为串行口工

3、作模式设置位,这样两位可以对应进行四种模式的设置。看表 2串行口工作模式设置。SM0 SM1 模 式 功 能 波特率0 0 0 同步移位寄存器 fosc/120 1 1 8位 UART 可变1 0 2 9位 UART fosc/32或fosc/641 1 3 9位 UART 可变2串行口工作模式设置在这里只说明最常用的模式 1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的 fosc代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver)的英文缩写。SM2在模式 2、模式 3中为多处理机通信使能位。在模式 0中要求

4、该位为0。REM为允许接收位,REM 置 1时串口允许接收,置 0时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚 P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入 REM=0来禁止接收,在子程序结束处加入 REM=1再次打开串口接收。大家也可以用上面的实际源码加入 REM=0来进行实验。TB8发送数据位 8,在模式 2和 3是要发送的第 9位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB

5、8接收数据位 8,在模式 2和 3是已接收数据的第 9位。该位可能是奇偶位,地址/数据标识位。在模式 0中,RB8 为保留位没有被使用。在模式 1中,当 SM2=0,RB8 是已接收数据的停止位。TI发送中断标识位。在模式 0,发送完第 8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到 SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式 0,接收第 8

6、位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求 CPU取走数据。但在模式 1中,SM2=1 时,当未收到有效的停止位,则不会对 RI置位。同样 RI也必须要靠软件清除。常用的串口模式 1是传输 10个位的,1 位起始位为 0,8位数据位,低位在先,1 位停止位为 1。它的波特率是可变的,其速率是取决于定时器 1或定时器2的定时值(溢出速率)。AT89C51 和 AT89C2051等 51系列芯片只有两个定时器,定时器 0和定时器 1,而定时器 2是 89C52系列芯片才有的。波 特 率 :这 是 一 个 衡 量 通 信 速 度 的 参 数 。 它

7、 表 示 每 秒 钟 传 送 的 bit 的 个 数 。 例 如300 波 特 表 示 每 秒 钟 发 送 300 个 bit。 当 我 们 提 到 时 钟 周 期 时 , 我 们 就 是 指波 特 率 例 如 如 果 协 议 需 要 4800 波 特 率 , 那 么 时 钟 是 4800Hz。 这 意 味 着 串口 通 信 在 数 据 线 上 的 采 样 率 为 4800Hz。 通 常 电 话 线 的 波 特 率 为14400, 28800 和 36600。 波 特 率 可 以 远 远 大 于 这 些 值 , 但 是 波 特 率 和 距 离 成反 比 。 高 波 特 率 常 常 用 于 放

8、置 的 很 近 的 仪 器 间 的 通 信 , 典 型 的 例 子 就 是GPIB 设 备 的 通 信 。 数 据 位 :这 是 衡 量 通 信 中 实 际 数 据 位 的 参 数 。 当 计 算 机 发 送 一 个 信 息 包 , 实 际 的 数 据不 会 是 8 位 的 , 标 准 的 值 是 5、 7 和 8 位 。 如 何 设 置 取 决 于 你 想 传 送 的 信 息 。比 如 , 标 准 的 ASCII 码 是 0 127( 7 位 ) 。 扩 展 的 ASCII 码 是 0 255( 8位 ) 。 如 果 数 据 使 用 简 单 的 文 本 ( 标 准 ASCII 码 ) , 那

9、 么 每 个 数 据 包 使 用7 位 数 据 。 每 个 包 是 指 一 个 字 节 , 包 括 开 始 /停 止 位 , 数 据 位 和 奇 偶 校 验 位 。由 于 实 际 数 据 位 取 决 于 通 信 协 议 的 选 取 , 术 语 “包 ”指 任 何 通 信 的 情 况 。 停 止 位 :用 于 表 示 单 个 包 的 最 后 一 位 。 典 型 的 值 为 1, 1.5 和 2 位 。 由 于 数 据 是 在 传输 线 上 定 时 的 , 并 且 每 一 个 设 备 有 其 自 己 的 时 钟 , 很 可 能 在 通 信 中 两 台 设 备间 出 现 了 小 小 的 不 同 步

10、。 因 此 停 止 位 不 仅 仅 是 表 示 传 输 的 结 束 , 并 且 提 供 计算 机 校 正 时 钟 同 步 的 机 会 。 适 用 于 停 止 位 的 位 数 越 多 , 不 同 时 钟 同 步 的 容 忍程 度 越 大 , 但 是 数 据 传 输 率 同 时 也 越 慢 。 奇 偶 校 验 位 :在 串 口 通 信 中 一 种 简 单 的 检 错 方 式 。 有 四 种 检 错 方 式 : 偶 、 奇 、 高 和 低 。 当然 没 有 校 验 位 也 是 可 以 的 。 对 于 偶 和 奇 校 验 的 情 况 , 串 口 会 设 置 校 验 位 ( 数据 位 后 面 的 一 位

11、 ) , 用 一 个 值 来 确 保 传 输 的 数 据 有 偶 数 或 者 奇 数 个 逻 辑 高位 。 例 如 , 如 果 数 据 是 011, 那 么 对 于 偶 校 验 , 校 验 位 为 0, 保 证 逻 辑 高 的位 数 是 偶 数 个 。 如 果 是 奇 校 验 , 校 验 位 为 1, 这 样 就 有 3 个 逻 辑 高 位 。 高位 和 低 位 不 真 正 的 检 查 数 据 , 简 单 置 位 逻 辑 高 或 者 逻 辑 低 校 验 。 这 样 使 得 接收 设 备 能 够 知 道 一 个 位 的 状 态 , 有 机 会 判 断 是 否 有 噪 声 干 扰 了 通 信 或

12、者 是 否传 输 和 接 收 数 据 是 否 不 同 步 。(2)通信协议的使用通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在 PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:0xA1:单片机读取 P0端口数据,并将读取数据返回 PC机;0xA2:单片机从 PC机接收一段控制数据;0xA3:单片机操作成功信息。在系统工作过程中,单片机接收到 PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到 0xA1时,读取 P0端口数据,并将读取数据返回PC机;当单片机接收到 0xA2时,单片机等待从 P

13、C机接收一段控制数据;当 PC机接收到 0xA3时,就表明单片机操作已经成功。3.单片机温度显示原理:(1)系统框图为了以数字的形式来显示采集的温度我们需要以一个单片机来处理数据,由于对单片机的性能要求不是很高,我们采用 51 系列单片机来处理数据,系统总体方框图如图 1:图 1(2)温度采集模块采 用 DS18B20 温 度 传 感 器 , DS18B20 输 出 的 量 为 数 字 量 , 只 要 按 特 定 的 时 序读 出 数 值 就 可 获 得 温 度 数 据 , 电 路 较 为 简 单 且 成 本 较 低 , DS18B20 如 图 3 所示 。DS18B20 通 过 一 个 单

14、线 接 口 发 送 或 接 收 信 息 , 因 此 在 中 央 微 处 理 器 和DS18B20 之 间 仅 需 一 条 连 接 线 , 每 只 DS18B20 都 有 一 个 独 特 的 片 序 列 号 , 所以 多 只 DS18B20 可 以 同 时 连 在 一 根 单 线 总 线 上 。 DS1820 依 靠 一 个 单 线 端 口通 讯 。 在 单 线 端 口 条 件 下 , 必 须 先 建 立 ROM 操 作 协 议 , 才 能 进 行 存 储 器 和控 制 操 作 。 因 此 , 控 制 器 必 须 首 先 提 供 下 面 5 个 ROM 操 作 命 令 之 一 :1) 读 ROM

15、, 2) 匹 配 ROM, 3) 搜 索 ROM, 4) 跳 过 ROM, 5) 报 警 搜 索 。 这些 命 令 对 每 个 器 件 的 激 光 ROM 部 分进 行 操 作 , 在 单 线 总 线 上 挂 有 多 个 器 件 时 , 可 以 区 分 出 单 个 器 件 , 同 时 可 以向 总 线 控 制 器 指 明 有 多 少 器 件 或 是 什 么 型 号 的 器 件 。 成 功 执 行 完 一 条 ROM 操 作 序 列 后 , 即 可 进 行 存 储 器 和 控 制 操 作 , 控 制 器 可 以 提 供 6 条 存 储 器 和控 制 操 作 指 令 中 的 任 一 条 。 一 条

16、 控 制 操 作 命 令 指 示 DS1820 完 成 一 次 温 度测 量 。 测 量 结 果 放 在 DS1820 的 暂 存 器 里 , 用 一 条 读 暂 存 器 内 容 的 存 储 器 操作 命 令 可 以 把 暂 存 器 中 数 据 读 出 。 硬 件 电 路 设 计 如 图 所 示 。DS18B20 硬 件 连 接4.PC机与单片机的硬件接口电路图为上位 PC机与下位单片机 80C51的连接电路。PC 机与单片机本身都自带串行通讯接口,但由于在分布式系统中 PC机与各单片机的分布不集中,不能利用 RS-232通讯传输,只能改用 RS-485。RS-485 采用差分式传输信号,最大

17、传输距离为 1 219 m最大传输速率为 10 Mbs对同时出现的两条信号线 A、B 的干扰有较强的抑制能力。当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对 RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。RS-485 采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约 120 )。5 设 计 总 结 和 体 会 通 过 对 这 一 系 统 的 设 计 , 我 们 对 以 前 所 学 的 知 识 有 了 更 深 的 了 解 , 懂 得了 以 前 基 础 学 习 的 重 要 性 , 在 这 一 设 计

18、 过 程 中 我 们 查 阅 了 大 量 地 资 料 , 并 对以 往 所 学 进 行 了 系 统 性 的 复 习 和 总 结 。 今 后 我 们 会 更 加 注 重 基 础 知 识 的 学 习 。6 参 考 文 献1康 华 光 电 子 技 术 基 础 模 拟 部 分 ( 第 五 版 ) 高 等 教 育 出 版 社2康 华 光 电 子 技 术 基 础 数 字 部 分 ( 第 五 版 ) 高 等 教 育 出 版 社3闫 玉 德 , 俞 虹 51 单 片 机 原 理 与 应 用 :C 语 言 版 机 械 工 业 出 版 社 2004-7-14刘 荣 科 51 单 片 机 C 语 言 应 用 与 开 发 北 京 航 空 航 天 大 学 出 版 社 2010-9-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。