




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书 第 页 单片机串行通信接口设计单片机串行通信接口设计 摘 要 关键词关键词 单片机 串行通信 RS 232C 协议 课程设计说明书 第 I页 目目 录录 1 绪论绪论 1 1 1 单片机的串行通信 1 1 2 串行通信的传送方式 2 2 单片机串口单片机串口 UART 3 2 1 串行口控制寄存器 SCON 3 2 2 电源控制寄存器 PCON 6 3 单片机串行接口与单片机串行接口与 PC 通信通信 6 3 1 单片机串行接口与 PC 的 RS 232 协议 6 3 2 RS 232 的电气特性及转换 7 2 3 PC 与单片机串行接口转换芯片论证 8 3 程序机构与设计程序机构与设计 9 4 调试结果调试结果 11 总结总结 13 致谢致谢 14 参考文献参考文献 15 课程设计说明书 第 0页 1 绪论绪论 1 1 单片机的串行通信单片机的串行通信 单片机的串行口是一种比较重要的通信接口 单片机的串行口应用非常广 泛 可以进行接口扩展 串行通信等 串行通信要求通讯双方都采用一个标准 接口 使不同的设备可以方便地连接起来进行通讯 RS 232 C 接口 又称 EIA RS 232 C 是目前最常用的一种串行通讯接口 串行通信的基本特征是数据逐位 顺序进行传送 所需的传输线少 只要一对传输线即可实现通信 成本低 但 传输速度慢 串行通信适合于远距离传输 串行通信按照数据传送方式不同可分为异步通信和同步通信两种 1 异步通信 在异步通信中 每个设备都有自己的时钟信号 通信中这 些时钟频率必须保持一致 当传输一个字节时 通常会有一个起始位来同步时 钟 异步通信用一帧来表示一个字符 2 同步通信 同步通信中 所有设备都使用同一个时钟 这里是以数据 块方式传送 每个数据块通过同步字符使收 发双方同步 这里的字符块也成为 帧 但与异步通信的帧格式不同 它通常有若干个字符 3 本设计的整体框图 PC 与单片机之间的通信由于 RS 232 接口的与单片机之间电平不同 需 要用一个转换芯片使电压匹配 如下图为整体框图 图 1 整体设计框图 PC AT89 S52 单 片 机 MA X23 2 课程设计说明书 第 1页 1 2 串行通信的传送方式串行通信的传送方式 串行通信的数据传送方式有单工 半双工 全双工以及多工方式 如图 1 图 1 串行通信的数据传送方式 单工方式 两串行通信设备 A B 之间的数据传送仅按一个方向传送 一个 发送 另一个接收 即数据只能由发送设备单向传送到接收设备 单工方式用 途有限 常用于串行口的打印数据传送与简单系统间的数据采集 半双工方式 两个串行通信设备 A B 之间数据可双向传送 但不能同时进 行 如 A 发送数据时就不能接收数据 A 接收数据就不能发送数据 全双工方式 通信双方的数据可双向传送 且可同时进行 由于允许同时 发射和接收数据 就需要两根数据线 A 设备的发送端接 B 设备的接收端 A 的 接收端接 B 的发射端 串行通信根据同步方式 通讯速率 数据块格式 信号电平 等的不同 形成了多种串行通信的协议与接口标准 其中有通用异步收发器 UART 通用 串行总线 USB I2C 总线 CAN 总线 SPI 总线 RS 232C RS 485 RS422A 标准等 本设计主要使用 RS 232 C 接口完成单片机向 PC 机数据的发 送和接收 课程设计说明书 第 2页 2 单片机串口单片机串口 UART MCS 51 单片机内置了一个可编程的全双工串行通信口 UART Universial Asynchronous Receiver Transmitter 部件 它主要由串行接收缓冲器 SBUF 输 入移位寄存器 接收控制器 发送控制器和门电路等部分组成其结构如图 2 图 2 MCS 51 串行接口内部结构 串行通信接口 UART 的发送 接收缓冲器使用同一特殊功能寄存器名 SBUF 其发送和接收数据时彼此独立的 可同时进行 发送缓冲器只能写入数 据不可以读出数据 接收缓冲器只能读出数据不可以写入数据 用读 写指令 加以区分 由于串行接口接收部分由输入以为寄存器和接收缓冲器构成双缓冲结构 所以在接收缓冲器读出数据之前 串行口可以开始接收第二个字节 但如果第 二个字节已经接收完毕时 第一个字节还没有读出 则将丢失其中一个字节 MCS 51 单片机串行口除了用于数据通信外 还可以通过外接移位寄存器 非常方便的构成一个或多个并行 I O 口 或实现串并转换功能用来驱动键盘或 显示器 在 MCS 51 单片机中与串行通信控制有关的寄存器为串行通信接口控 制器 SCON 和电源控制寄存器 PCON 的 SMOD1 位 课程设计说明书 第 3页 2 1 串行口控制寄存器串行口控制寄存器 SCON SCON 用于定义串行口工作方式和实施接收 发送控制 字节地址为 98H 可 按位寻址 位地址从 98H 到 9FH SCON 格式如图 3 所示 D7D6D5D4D3D2D1D0 SM0SM1SM2RENTB8RB8TIRI 图 3 SCON 的格式及含义 1 串行通信的 4 中工作方式 1 SM0 0 SM1 0 是方式 0 8 位移位寄存器 波特率固定为 fosc 12 串行工 作方式 0 8 位移位寄存器 I O 方式 经常配合 串入并出 并入串出 移位 寄存器一 起使用扩展接口 74HC164 74HC165 等 2 SM0 0 SM1 1 是方式 1 10 位异步收发 1 8 1 位 波特率可变 按公式计 算 工作方式 1 是 10 位 UART 1 8 1 位 波特率可变 常用于串行通讯 除发 收 8 位数据外 还在 D0 位前有一个起始位 0 在 D7 位后有一个停止位 1 方式 1 工作时 发送端自动添加一个起始位和一个停止位 接收端自动去掉一 个起始位和一个停止位 此时 波特率可变 用定时器 T1 作波特率发生器 公 式 波特率 2SMOD 32 T1 的溢出率 溢出率 T1 溢出的频繁程度 即 T1 溢出一次所需时间的倒数 也就是晶振频率 2SMOD fosc 32 12 2n X 其中 X 是定时器初值 有上式可计算出初值 X 3 SM0 1 SM1 0 是方式 2 11 位异步收发 1 8 1 1 位 波特率固定 fosc x1 32 或 1 64 9 位 UART 1 8 1 1 位 两种波特率 方式 2 的波特率 fosc 2SMOD 64 即 fosc 1 32 或 fosc 1 64 两种 由于波特率固定 常 用于单片机间通讯 数据由 8 1 位组成 通常附加的一位 TB8 RB8 用于 奇 波特率 课程设计说明书 第 4页 偶校验 奇偶校验是检验串行通信双方传输的数据正确与否的一个措施 并不能保证 通信数据的传输一定正确 换言之 如果奇偶校验发生错误 表明数据传输一 定出错了 如果奇偶校验没有出错 绝不等于数据传输完全正确 奇校验 8 位有效数据连同 1 位附加位中 二进制 1 的个数为奇数 偶校验 8 位有效 数据连同 1 位附加位中 二进制 1 的个数为偶数 若约定发送采用奇校验 若发送的 8 位有效数据中 1 的个数为偶数 则要人为添加一个附加位 1 一起发送 若发送的 8 位有效数据中 1 的个数为奇数 则要人为添加一个附 加位 0 一起发送 约定接收采用奇校验 若接收到的 9 位数据中 1 的个 数为奇数 则表明接收正确 取出 8 位有效数据即可 若接收到的 9 位数据中 1 的个数为偶数 则表明接收出错 应当进行出错处理 而采用偶校验时 处理方法与奇校验相反 不再赘述 4 SM0 1 SM1 1 是方式 3 11 位异步收发 1 8 1 1 位 波特率可变 按以上 公式计算 9 位 UART 1 8 1 1 位 波特率可变 方式 2 的波特率固定为时钟周 期的 32 或 64 分频 不可变 此工作方式与其他串行通讯设备连接困难 因此 不常用 2 SM2 串行口多机通信控制位 作为方式 2 方式 3 的附加控制位 实现 多级通信 在工作方式 2 或方式 3 时 若 SM1 1 当接收到第九位数据 RB8 时 不启动中断标志 RI 即 RI 0 并接收到的第九位数据 RB8 1 时 SM2 0 时 不管是第 9 位是 0 还是 1 将接收到的前 8 位数据送入 SBUF 并发出中断申请 在工作方式 1 时 若 SM2 1 当接收有效停止位时 置 RI 1 数据有效 若在工 作方式 0 时 SM2 不用 应设置为 0 3 RI TI 串行口收 发数据申请中断标志位若 RI 1 申请中断 RI 0 不 申请中断 在方式 0 中 第 8 位发送结束时 由硬件置位 在其他方式的发送停止位之 前 由硬件置位 TI 置位既表示一帧信息发送结束 同时也是申请中断 可根 据需要 用软件查询方法获得数据已发送完毕的信息 或者也可由中断的方式 来发送下一个数据 TI 必须由软件清 0 RI 和 TI 道理相同 也需要由软件清 0 课程设计说明书 第 5页 RB8 在方式 2 3 中 是收到的第 9 位数据 在多机通信中 用作区别地址 帧 数据帧的标志 奇偶校验 TB8 方式 2 3 中 是要发送的第 9 位数据 多机通信中 TB8 0 表示发送 的是数据 TB8 1 表示发送的是地址 奇偶校验 REN 串行口接收允许控制位 若 REN 1 表示允许接收 若 REN 0 禁 止接收 2 2 电源控制寄存器电源控制寄存器 PCON PCON 是为了在 CHMOS 型单片机上实现电源控制而设置的专用寄存器 字节 地址为 87H 不可位寻址 PCON 的格式及各位含义 特殊功能寄存器 PCON 不能 按位寻址 如图 4 所示 D7D6D5D4D3D2D1D0 SMOD GF1GF0PDIDL 图 4 PCON 的格式及含义 1 SMOD 在串行口工作方式 1 2 3 中 是波特率加倍位 产生高波 特率时启用平时不用 比如用 11 0592 晶振产生 57600 波特率时就要设置成 SMOD 1 当 SMOD 1 时 波特率加倍 PCON 0 x80 当 SMOD 0 时 波特率不加倍 PCON 0 x00 在 PCON 中只有这一个位与串口有关 2 PD 掉电方式控制位 当 PD 0 是常规工作方式 当 PD 1 是进入掉 电方式 此时 振荡器停振 片内 RAM 和 SRF 的值保持不变 P0 P3 口维 持原状 程序停止 只有复位能使之退出掉电方式 3 IDL 待机方式 空闲方式 控制位当 IDL 0 时常规工作方式 当 IDL 1 是进入待机方式 此时 振荡器继续振荡中断 定时器 串口功能 继续有效 片内 RAM 和 SRF 保持不变 CPU 状态保持 P0 P3 口维持原状 程序停顿 中断和复位能退出待机 继续后面的程序 课程设计说明书 第 6页 3 单片机串行接口与单片机串行接口与 PC 通信通信 3 1 单片机串行接口与单片机串行接口与 PC 的的 RS 232 协议协议 RS 232 C 是美国电子工业协会 EIA Electronic Industry Association 制 定的一种串行物理接口标准 RS 是英文 推荐标准 的缩写 232 为标识号 C 表示修改次数 RS 232 C 总线标准设有 25 条信号线 包括一个主通道和一个 辅助通道 通常 RS 232 接口以 9 个引脚 DB 9 或是 25 个引脚 DB 25 的 型态出现 一般个人计算机上会有两组 RS 232 接口 分别称为 COM1 和 COM2 在多数情况下主要使用主通道 对于一般双工通信 仅需几条信号线就可 实现 如一条发送线 一条接收线及一条地线 RS 232 C 标准规定的数 据传输速率为 50 75 100 150 300 600 1200 2400 4800 9600 19200 波特 RS 232 C 标准规定 驱动器允许有 2500pF 的电容负载 通信距离将受此电容 限制 例如 采用 150pF m 的通信电缆时 最大通信距离为 15m 若每米电 缆的电容量减小 通信距离可以增加 传输距离短的另一原因是 RS 232 属单 端信号传送 存在共地噪声和不能抑制共模干扰等问题 因此一般用于 20m 以 内通信 图 4 RS 232 接口以 9 个引脚 3 2 RS 232 的电气特性及转换的电气特性及转换 RS 232C 对电器特性 逻辑电平和各种信号线功能都作了规定 在 TxD 和 RxD 上 逻辑 1 MARK 3V 15V 逻辑 0 SPACE 3 15V 在 RTS CTS DSR DTR 和 DCD 等控制线上 信号有效 接通 ON 状态 正电压 3V 15V 信号无效 断开 OFF 状态 负电压 3V 15V 即用 15V 表 课程设计说明书 第 7页 示高电平 15V 表示低电平 而这与 TTL 电平不匹配 故需要集成电路或芯片 转换将它转换成 TTL 电平 由于 RS 232C 接口 是用正负电压来表示逻辑状态 与 TTL 以高低电平表示 逻辑状态的规定不同 因此 为了能够同计算机接口或终端的 TTL 器件连接 必须在 RS 232C 接口 与 TTL 电路之间进行电平和逻辑关系的变换 实现这种变 换的方法可用分立元件 也可用集成电路芯片 目前较为广泛地使用集成电路 转换器件 如 MC1488 SN75150 芯片可完成 TTL 电平到 EIA 电平的转换 而 MC1489 SN75154 可实现 EIA 电平到 TTL 电平的转换 MAX232 芯片可完成 TTL 到 EIA 双向电平转换 2 3 PC 与单片机串行接口转换芯片论证与单片机串行接口转换芯片论证 方案一 采用 MC1489 作为电平转换芯片 MC1489 使用 4 5V 5V电源供电 低功 耗 有 14 引脚 最大额定电流 26mv 价格相对较高 方案二 采用 MAX232 作为电平转换芯片 5V 电源供电 供电电流 5mA 低功 耗 高集成度 片外最低只需 4 个电容即可工作 内部集成 2 个 RS 232C 驱 动器 符合所有的 RS 232C 技术标准 且价格低廉 由于考虑成本以及功耗和供电电压等因素 所以选择 MAX232 作为转换电平 的芯片 MAX232 芯片是美信 MAXIM 公司专为 RS 232 标准串口设计的单电源电平 转换芯片 使用 5v 单电源供电 MAX232 是双列直插式 16 引脚 第一部分是电 荷泵电路 由 1 2 3 4 5 6 脚和 4 只电容构成 功能是产生 12v 和 12v 两个电源 提供给 RS 232 串口电平的需要 第二部分是数据转换通道 由 7 8 9 10 11 12 13 14 脚构成两个数据通道 其中 13 脚 R1IN 12 脚 R1OUT 11 脚 T1IN 14 脚 T1OUT 为第一数据通道 8 脚 R2IN 9 脚 R2OUT 10 脚 T2IN 7 脚 T2OUT 为第二数据通道 TTL CMOS 数据从 T1IN T2IN 输入转换成 RS 232 数据从 T1OUT T2OUT 送到电脑 DB9 插头 DB9 插头的 RS 232 数据从 R1IN R2IN 输入转换成 TTL CMOS 数据后从 R1OUT R2OUT 输出 第三部分是供电 15 脚 GND 16 脚 VCC 5v 如图 6 所示 课程设计说明书 第 8页 图 6 MAX232 引脚图 MAX232 与串口连接的电路图如图 7 MAX232 的 9 10 引脚分别接单片机的 P3 0 和 P3 1 口 其中 9 引脚接收数据 10 引脚发送数据 图 7 MAX232 与串口连接电路图 3 程序机构与设计程序机构与设计 开始 设置串口工作方式 1 启动定时器 1 启动定时器 1 课程设计说明书 第 9页 include include unsigned char tmp void send char unsigned char txd main TMOD 0 x20 定时器 1 工作于 8 位自动重载模式 用于产 生波特率 TH1 TL1 0 xFD 波特率 9600 SCON 0 x50 设定串行口工作方式 1 允许接收 相当于下 面三句 是否有数据到来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨文化健康行为差异-洞察及研究
- 浙江省2025-2026学年七年级语文上学期第一次月考复习试卷(含答案)
- 数据存储系统的分布式设计与优化方法-洞察及研究
- 部门安全生产培训制度课件
- 部门二级安全培训时长课件
- 避坑房产课件
- 基于循环经济的刮板链废旧部件资源化利用路径探索
- 基于元宇宙技术的虚拟现场重建与跨时空图像传输溯源研究
- 基于AI图像识别的动态分级系统与农业物联网集成瓶颈
- 国际标准对接中国产产床核心部件的供应链韧性研究
- GB/T 23338-2018内燃机增压空气冷却器技术条件
- 癫痫的急救与护理课件
- 海姆立克急救法完整版本课件
- 国家地表水环境质量监测网采测分离实施方案课件
- 控压钻井技术及实践培训讲义工艺课件
- 厚度仪点检表
- 北京市水利工程维修养护定额
- 自然拼读法在小学英语教学中的应用的实践研究
- 无领导小组面试评分表模板
- “自然拼读法在识记单词中的实践研究”课题开题报告
- 第二届上海十佳理财之星参赛作品
评论
0/150
提交评论