课设:基于单片机的RS-232C串行通讯接口设计_第1页
课设:基于单片机的RS-232C串行通讯接口设计_第2页
课设:基于单片机的RS-232C串行通讯接口设计_第3页
课设:基于单片机的RS-232C串行通讯接口设计_第4页
课设:基于单片机的RS-232C串行通讯接口设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳航空航天大学沈阳航空航天大学 课课 程程 设设 计计 论文 论文 题目题目 基于单片机的 RS 232C 串行通讯接口 设计 班班 级级 94071029407102 学学 号号 20090407010672009040701067 学学 生生 姓姓 名名 徐茂哲徐茂哲 指指 导导 教教 师师 张晓东张晓东 沈阳航空航天大学 课课 程程 设设 计计 任任 务务 书书 课 程 名 称 专业综合课程设计 院 系 自动化学院 专业 测控技术与仪器 班级 9407102 学号 2009040701067 姓名 徐茂哲 课程设计题目 基于单片机的 RS 232C 串行通讯接口设计 课程设计时间 2012 年 12 月 29 日至 2013 年 1 月 11 日 课程设计的内容及要求 利用 8051 单片机开发 RS 232C 串行通信系统 利用 Modbus 通信协议 实现单片机与 PC 机的通信 要求实现数据收发功能 具体要求如下 1 按以上要求制定设计方案 并绘制出系统工作框图 2 按要求设计单片机系统 给出电路原理图 3 用单片机系统和 PC 机进行程序设计与调试 4 接收 PC 机发送数据 并将其回发给单片机 指导教师 年 月 日 负责教师 年 月 日 学生签字 年 月 日 目目 录录 0 前言 1 1 总体方案设计 2 2 硬件电路的设计 2 2 1 单片机系统 2 2 2 MAX232 芯片 5 2 3 整体电路设计 6 3 软件设计 7 4 联合调试 8 5 课设小结及进一步设想 9 参考文献 10 附录 I 元件清单 11 附录 II 整体电路图 12 附录 III 源程序清单 13 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 0 页 基于单片机的 RS 232C 串行通讯接口设计 徐茂哲 沈阳航空航天大学自动化学院 摘要 本文主要设计了一个基于 RS 232C 的单片机串行通讯接口系统 利用 Modbus 通信协议 实现 单片机与 PC 机的通信 要求实现数据收发功能 关键字 RS 232C 数据发送 数据接收 LED 显示 单片机与 PC 机串行通信 0 前言 计算机的发展对通信起了巨大的推动作用 计算机和通信紧密结合构成了灵活多样 的通信控制系统 也可以构成强有力的信息处理系统 这样对社会的发展产生了深远的 影响 随着电子技术和计算机技术的发展 特别是单片机的发展 使传统的测量仪器在 原理 功能 精度及自动化水平等方面发生了巨大的变化 形成了一种完全突破传统概 念的新一代测试仪器 智能仪器 智能仪器是以微处理器为核心的电子仪器 它不仅 要求设计者熟悉电子仪器的工作原理 而且还要求其掌握微型计算机硬件和软件的原理 目前 有很多的传统电子仪器已有相应的替代产品 而且还出现不少全新的仪器类型和 测试系统体系 在科学技术高速发展的今天 如何用简单便宜 性能良好的元器件制造 出对人类生活有用的产品 已经成为人们研究的主要趋势 在自动化技术中 无论是过程控制技术还是数据采集技术还是测控技术 都离不开 单片机 在工业自动化的领域中 机电一体化技术发挥越来越重要的作用 在通信方面 单片机得到了广泛运用 在实现计算机与计算机 计算机与外设的串行通讯时 通常采 用标准的通讯接口 所谓标准的通讯接口 就是明确定义若干信号线的机械 电器特性 使接口电路标准化 通用化 这样就能方便地把不同的计算机 外设等有机地连接起来 进行串行通讯 RS 232C 是由美国电子工业协会 EIA 制定的用于串行通信的标准通信接口 利用 它可以很方便地把各种计算机 外围设备 测量仪器等有机地连接起来 进行串行通信 它包括按位传输的电气和机械方面的规定 适用于短距离或带调制解调器的通信场合 RS 232C 标准适用于 DCE 和 DTE 之间的串行二进制通信 最高的数据速率为 19 2Kbit s 在使用此波特率进行通信时 最大传输距离在 20m 之内 降低波特率可以增 加传输距离 对于 RS 232C 标准接口的使用是非常灵活的 实际通信中经常采用 9 针接 口进行数据通信 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 1 页 1 总体方案设计 在本次设计中 硬件部分 对于一片 89C51 和 PC 机 采用 RS232 进行通信 硬件 的连接方法如图 1 所示 电平转换芯片采用 MAX232 传输距离一般不超过 15m 传输 小于 20kbit s 发送方的数据由串行口 TXD 段输出 经过电平转换芯片 MAX232 将 TTL 电平转换为 RS232 电平输出 经过传输线将信号传送到接收端 为提高抗干扰能力 还 可以在输入输出端加光耦合进行光电隔离 软件部分 通过通信协议进行发送接收 串行口的工作方式为 8 位 UART 波特率可变 T1 溢出率 n 定时器的工作方式为工作方式 2 TXD T2IN T2OUT TXD AT89C51 MAX232A 串行接口 RXD R2OUT R2IN RXD 图 1 RS 232C 电平信号传输的连接图 2 硬件电路的设计 2 1 单片机系统 标准型 89 系列单片机是与 MCS 51 系列单片机兼容的 在内部含有 4KB 或 8KB 可 重复编程的 Flash 存储器 可进行 1000 次擦写操作 全静态工作为 0 33MHz 有 3 级程 序存储器加密锁定 内含有 128 256 字节的 RAM 32 条可编程的 I O 端口 2 3 个 16 位 定时器 计数器 6 8 级中断 此外有通用串行接口 低电压空闲模式及掉电模式 AT89C51 相当于将 8051 中的 4KB ROM 换成相应数量的 Flash 存储器 其余结构 供电 电压 引脚数量及封装均相同 使用时可直接替换 AT89C51 在内部采用 40 条引脚的双 列直插式封装 引脚排列如图 2 所示 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 2 页 图 2 AT89C51 芯片引脚 在自动化测量和控制系统中 各台仪表之间需要不断地进行各种信息的交换和传输 这种信息的交换和传输是通过仪表的通信接口 按照一定的协议进行的 通信接口是各 台仪表之间或者是仪表与计算机之间进行信息交换和传输的联络装置 计算机与外界的 信息交换称为通信 常用的通信方式有两种 并行通信和串行通信 所谓并行通信是指 数据的各位同时在多根数据线上发送或接收 其特点是传输信号的速度快 但所用的信 号线较多 成本高 传输的距离较近 串行通信是指将构成字符的每个二进制数据位 依照一定的顺序逐位进行传送的通信方式 其特点是只用两条信号线 一条信号线 再 加一条地线作为信号回路 即可完成通信 成本低 传输的距离较远 51 单片机内部有一个可编程全双工串行通信接口 该部件不仅能同时进行数据的发 送和接收 也可作为一个同步移位寄存器使用 51 单片机串行接口的结构如下 1 串行数据缓冲器 SBUF 接受或发送的数据都要先送到 SBUF 缓存 SBUF 包括缓存寄存器和发送寄存器 以便 能以全双工方式进行通信 此外 在接收寄存器之前还有移位寄存器 从而构成了串行 接收的双缓冲结构 这样可以避免在数据接收过程中出现帧重叠错误 发送数据时 由 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 3 页 于 CPU 是主动的 不会发生帧重叠错误 因此发送电路不需要双重缓冲结构 在逻辑上 SBUF 只有一个 它既表示发送寄存器 又表示接收寄存器 具有同一个单元地址 99H 但在物理结构上 则有两个完全独立的 SBUF 一个是发送缓冲寄存器 SBUF 另一个是接 收缓冲寄存器 SBUF 如果 CPU 写 SBUF 数据就会被送入发送寄存器准备发送 如果 CPU 读 SBUF 则读入的数据一定来自接收缓冲器 即 CPU 对 SBUF 的读写 实际上是分别访问 上述两个不同的寄存器 2 串行控制寄存器 PCON 串行控制寄存器 SCON 用于设置串行口的工作方式 监视串行口的工作状态 控制发 送与接收的状态等 它是一个既可以字节寻址又可以位寻址的 8 位特殊功能寄存器 其 格式如表 1 所示 表 1 串行口控制寄存器 SCON SM2 多机通信控制位 REN 接收允许控制位 软件置 1 允许接收 软件置 0 禁止接收 TB8 方式 2 或 3 时 TB8 为要发送的第 9 位数据 根据需要由软件置 1 或清 0 RB9 在方式 2 或 3 时 RB8 位接收到的第 9 位数据 实际为主机发送的第 9 位数据 TB8 使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据 TI 发送中断标志 发送完一帧数据后由硬件自动置位 并申请中断 必须要软件 清零后才能继续发送 RI 接收中断标志 接收完一帧数据后由硬件自动置位 并申请中断 必须要软件 清零后才能继续接收 SM0 SM1 串行口工作方式选择位 这两位组合成 00 01 10 11 对应于工作方式 0 工作方式 1 工作方式 2 工作方式 3 串行接口工作方式如表 2 表 2 串行工作方式 SM0SM1 工作方式功能波特率 000 8 位同步移位寄存器 用于 I O 扩展 fORC 12 011 10 位异步串行通信 UART 可变 T1 溢出率 2SMOD 32 102 11 位异步串行通信 UART fORC 64 或 fORC 32 113 11 位异步串行通信 UART 可变 T1 溢出率 2SMOD 32 3 输入移位寄存器 位地址9FH9EH9DH9CH9BH9AH99H98H SCONSM0SM1SM2RENTB8RB8T1R1 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 4 页 接收的数据先串行进入输入移位寄存器 8 位数据全移入后 再并行送入接收 SBUF 中 4 波特率发生器 波特率发生器用来控制串行通信的数据传输速率的 51 系列单片机用定时器 T1 作为 波特率发生器 T1 设置在定时方式 波特率是用来表示串行通信数据传输快慢程度的物 理量 定义为每秒钟传送的数据位数 5 电源控制寄存器 PCON 波特率系数控制寄存器 PCON 的最高位为 Smod 仅仅是最高位与串行口有关 在工作 方式 1 工作方式 3 时 若 SMOD 1 则串行口波特率增加一倍 若 SMOD 0 波特率不加 倍 系统复位时 SMOD 0 PCON 字节地址为 87H 不能位寻址 PCON 的格式如表 3 表 3 特殊功能寄存器 PCON 的格式 6 波特率计算 串行口每秒钟发送 或接收 的位数称为波特率 设发送一位所需要的时间为 T 则波特率为 1 T 对于不同方式 得到的波特率的范围是不一样的 这是由定时器 计数 器 T1 在不同方式下计数位数的不同所决定的 串行口工作在方式 1 或方式 3 时 常用定 时器 T1 作为波特率发生器 关系式为 波特率 2SMOD T1 溢出率 32 2 2 MAX232芯片 在电气特性上 RS 232C 采用负逻辑 要求高 低两信号间有较大的幅度 标准规定 为 逻辑 1 5 15V 逻辑 0 5 15V 而单片机的信号电平与 TTL 电平兼 容 逻辑 1 大于 2 4V 逻辑 0 为 0 4V 以下 很显然 RS 232C 信号电平与 TTL 电平不匹 配 为了实现两者的连接 必须进行电平转换 MAX232C 为单一 5V 供电 内置自升压电 平转换电路 一个芯片能同时完成发送转换和接收转换的双重功能 其引脚如图 3 PCOND7D6D5D4D3D2D1D0 位名称SMOD GF1GF0PDIDL 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 5 页 图 3 电平转换芯片 MAX232 1 C1 C1 C2 C2 外接电容端 2 R1IN R2IN 两路 RS 232C 电平信号输入端 可接传输线 3 R1OUT R2OUT 两路转换后的 TTL 电平输出端 可接单片机的 RXD 端 4 T1OUT T2OUT 两路转换后的 RS 232C 电平信号输出端 可接传输线 5 T1IN T2IN 两路 TTL 电平输入端 可接单片机的 TXD 端 6 Vs Vs 分别经电容接电源和地 2 3 整体电路设计 最终设计电路如图 4 所示 发送方的数据由串行口 TXD 段输出 经过电平转换芯片 MAX232 将 TTL 电平转换为 RS232 电平输出 经过传输线将信号传送到接收端 接收方 也使用 MAX232 芯片进行电平转换后 信号到达接收方串行口的接收端 接受方接收后 通过 P0 口在数码管上显示接收的信息 图 4 串行通信电路 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 6 页 3 软件设计 通过通信协议进行发送接收 主机先送 AAH 给从机 当从机接收到 AAH 后 向主机 回答 BBH 主机收到 BBH 后就把数码表 TAB 16 中的 16 个数据送给从机 并发送检验和 从机收到 16 个数据并计算接收到数据的检验和 与主机发送来的检验和进行比较 若检 验和相同则发送 00H 给主机 否则发送 FFH 给主机 重新接受 从机收到 16 个正确数据 后送到一个数码管显示 3 3 1 1 串行通信软件实现 1 串行口工作于方式 1 用定时器 1 产生 9600bit s 的波特率 工作于方式 2 2 功能 将本机 ROM 中数码表 TAB 16 中的 16 个数发送到从机 并保存在从机内部 ROM 中 从机收到这 16 个数据后送到一个数码管循环显示 3 通信协议 主机首先发送连络信号 AAH 从机接收到之后返回一个连络信号 BBH 表 示从机已准备好接收 4 通信过程使用第九位发送奇偶校验位 5 从机接收到一个数据后 立即进行奇偶校验 若数据没有错误 则返回 00H 否 则返回 FFH 6 主机发送一个数据后 等待从机返回数据 若为 00H 则继续发送下一个数据 若为 FFH 则重新发送数据 3 2 程序流程图 3 2 1 单片机向 PC 机发送数据流程图 开始 初始化 发送数据 按键按下 否 是 接收数据 结束 图 5 单片机向 PC 机发送数据流程图 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 7 页 3 2 1 PC 机向单片机发送数据流程图 开始 初始化 发送数据 接收数据 结束 图 6 PC 机向单片机发送数据流程图 4 联合调试 在 protues 上进行仿真实验 首先使用 Keil uVsion 2 将编写完成的程序编译生 成 HEX 文件 将 HEX 文件烧录单片机中 进行仿真实验 结果如图 7 所示 可以看到 接收端已将接收到的数据完整的显示出来 图 7 仿真图一 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 8 页 图 8 仿真图二 5 课设小结及进一步设想 通过这次紧张的课程设计 我学到了很多 尤其是对串行通信这方面有了新的认识 加深了对单片机知识点的理解 在繁忙的一个学期即将结束之时 我的思想成熟了 这 次的课设让我找到了方向 让我懂得了很多 有知识方面的 但大部分还是人格方面的 我相信 只要不放弃 只要努力 就一定可以 本文采用的 RS 232 标准实现单片机与 PC 机之间的串行通信 RS 232 是目前最常用 的一种串行通讯接口 由于 RS 232 C 接口标准出现较早 难免有不足之处 主要表现在 1 接口的信号电平值较高 易损坏接口电路的芯片 又因为与 TTL 电平不容 故 需使用电平转换电路才能与 TTL 电路连接 2 传输速率较低 在异步传输时 波特率为 20Kbps 3 接口使用一根信号线和一根信号返回线而构成共地的传输形式 这种共地 传输容易产生共模干扰 所以抗噪声干扰性弱 4 传输距离有限 最大传输距离标准值为 50 英尺 实际上也只能用在 50 米 左右 因此建议使用 RS 485 标准实现 RS 485 接口具有良好的抗噪声干扰性 长的传输距 离和多站能力等优点就使其成为首选的串行接口 沈阳航空航天大学课程设计论文 基于单片机的 RS 232C 串行通讯接口设计 第 9 页 参考文献 1 方彦君 智能仪器技术及其应用 北京 化学工业出版社 2007 9 2 张毅刚 刘杰 MCS 51 单片机原理及应用 哈尔滨 哈尔滨工业大学出版社 2004 6 3 何立民 单片机应用技术选编 北京 北京航天航空大学出版 2002 5 沈阳航

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论