




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章MCS 51单片机串行通信 本章学习目标 了解805l单片机串行接口的结构 掌握8051单片机串行接口的使用方法 建立起计算机串行通信应用极为广泛的概念 重点理解8051单片机串行口接收和发送数据的实现方法 熟悉8051单片机串行通信的格式规定及串行通信的程序设计思路 8 1串行通信基础 串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送 故也称为串行数据传送 如图8 1所示 串行通信的特点是 数据传送按位顺序进行 传输线少 最少只需1根即可完成传输 成本低 速度慢 且可以利用电话网等现成的设备 但数据的传送控制比并行通信复杂 易远距离传送 计算机与外界的数据传送大多数是串行的 其传送的距离可以从几米到几千公里 并行通信是将数据字节的各位用多条数据线同时进行传送 也称为并行数据传送 如图8 2所示 并行通信的特点是 各数据位同时传送 传送速度快 效率高 控制简单 由于传输线较多 并行数据传送有多少数据位就要多少根数据线 远距离传送成本高 8 1 1串行通信的基本原理 1 异步串行通信 1 异步串行通信的帧格式异步通信是指通信的发送与接收设备使位用各自的时钟控制数据的发送和接收过程 但要求发送和接收设备的时钟尽可能一致 使双方收发协调 异步通信示意图如图8 3所示 异步通信是以字符 帧 为单位进行传输 即一个字符一个字符地传送 如图7 4所示是一个字符的异步串行通信格式 位时间 格式中位的时间宽度 帧 frame 从起始位开始到停止位结束的全部内容称为一帧是一个字符的完整通信格式 因此也就把串行通信的字符格式称为帧格式 异步通信的每帧数据由4部分组成 起始位 发送器是通过发送起始位而开始一个字符的传送 占1位 数据位 起始位之后就传送数据位 在数据位中 低位在前 左 高位在后 右 由于字符编码方式的不同 数据位占5 8位 奇偶校验位 用于对字符传送作正确性检查 因此奇偶校验位是可选择的 共有3种可能 即奇校验 偶校验和无校验 由用户根据需要选定 占0或1位 停止位 停正位在最后 用以标志一个字符传送的结束 占1位 1 5位或2位 在应用中根据需要确定 2 异步串行通信的信号形式 近程通信近程通信又称为本地通信 近程通信采用数字信号直接传送形式 就是在传送过程中不改变原数据代码的波形和频率 这种数据传送方式称为基带传送方式 如图8 5所示就是两台计算机近程串行通信的连接和代码波形图 可以看出 计算机内部的数据信号是TTL电平标准 而通信线上的数据信号却RS 232C电平标准 然而 尽管电平标推 电平高低 不同 但数据信号的波形和频率并没有改变 近程串行通信只需用传输线把两端的接口电路直接连起来即可实现 方便又经济 远程通信调制器和解调器是进行数据通信所需的设备 因此把它叫做数据通信设备 DCE 计算机是终端设备 DTE 电话线本来是用于传送声音 模拟信号 的 人讲话的声音频率范围大约在300 3400Hz之间 因此使用电话线进行串行数据传送 其调频信号的频率也应在此范围之内 2 同步串行通信同步通信是按数据块传送的 把传送的字符顺序地连接起来 组成数据块 在数据块前面加上特殊的同步字符 作为数据块的起始符号 由收 发一致的同步时钟在发送端发出 接收端接收到同步字符后 开始接收数据块 使收 发双方同步 同步通信中的字符格式如图8 7所示 8 1 2串行通信的数据通信形式 串行通信依数据传输方向及时间关系可分为 单工 半双工和全双工 如图8 8所示 8 1 3串行通信的传送速率 数据的传输速率可以用比特率表示 比特率是每秒钟传输二进制代码的位数 单位是 位 秒 bps 应注意的是 在数据通信中常用波特率表示每秒钟调制信号变化的次数 单位是 波特 Baud 8 1 4串行通信的错误校验 1 奇偶校验接收方与发送方的校验方式应一致 接收字符时 对 1 的个数进行校验 若发现不一致 则说明传输数据过程中出现了差错 2 代码和校验代码和校验是发送方发送数据块求和 或各字节异或 产生一个字节的校验字符 校验和 附加到数据块末尾 3 循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验 常用于对磁盘信息的传输 存储区的完整性校验等 这种校验方法纠错能力强 广泛应用于同步通信中 8 1 5串行通信的接口标准 异步串行通信接口主要有三类 RS 232接口 RS 449 RS 422和RS 485接口以及20mA电流环 8 2MCS 51单片机串行接口 单片机在进行串行数据通信时要完成两个任务 一个是数据传送 另一个是数据转换 数据转换是指数据的串 并转换或并 串转换 因为在计算机中使用的数据都是并行数据 因此在发送时 要把并行数据转换成串行数据 而在接收时 却要把接收到的串行数据转换成并行数据 数据转换由串行接口电路实现 这种电路也称为通用异步接收发送器 UART 它应包括发送器电路 接收器电路和控制电路等 其主要功能是 1 数据的串行化和数据的并行化2 错误校验 8 2 1MCS 51单片机串行接口的结构 MCS 51单片机的串行接口主要由发送数据缓冲器 发送控制器 输出控制门 接收数据缓冲器 接收控制器 输入移位寄存器 波特率发生器T1等组成 基本结构如图8 16所示 接收 发送缓冲器SBUF在物理上是独立的 因此可以进行全双工通信 虽然它们使用同一地址99H 但发送缓冲器只能写入 不能读出 而接收缓冲器只能读出 不能写入 在接收时 串行数据通过引脚RXD P3 0 进入 经移位寄存器进入接收缓冲器SBUF 再由SBUF把数据输出到片内数据总线上 构成了串行接收的双缓冲结构 以免在数据接收过程中出现下一帧数据到来时 前一帧数据还没有读走而丢失 即帧重叠错误 在发送时 CPU通过片内总线向发送缓冲器SBUF写入数据 串行数据再通过引脚TXD P3 1 送出 与接收数据的情况不同 发送数据时 由于CPU是主动的 不会发生帧重叠错误 因此发送电路就不需双重缓冲结构 这样可以提高数据发送速度 8 2 2串行接口的控制寄存器 与串行通信有关的控制寄存器共有3个 一是串行控制寄存器SCON 二是电源控制寄存器PCON 三是中断允许寄存器IE 1 串行控制寄存器SCONSCON是一个可位寻址的专用寄存器 用于串行数据通信的控制 单元地址为98H 位地址为9FH 98H 其各位的分配及位地址如下 各位功能说明如下 1 SM0 SMl 串行口工作方式选择位 可有4种工作方式选择 如表8 2所示 方式0并不用于通信 而是通过外接移位寄存器芯片实现扩展并行I O接口的功能 该方式又称为移位寄存器方式 方式1 方式2 方式3都是异步通信方式 方式1是8位异步通信接口 一帧信息由10位组成 方式1用于双机串行通信 方式2 方式3都是9位异步通信接口 一帧信息中包括9位数据 1位起始位 1位停止位 方式2 方式3的区别在于波特率不同 方式2 方式3主要用于多机通信 也可用于双机通信 2 SM2 多机通信控制位 3 REN 允许接收位 4 TB8 发送数据位 5 RB8 接收数据位 6 TI一发送中断标志 7 RI一接收中断标志 2 电源控制寄存器PCONPCON中只有最高位SMOD与串行接口工作有关 SMOD是串行口波特率的倍增位 在串行接口方式1 方式2或方式3下 波特率与SMOD有关 当SMOD 1时 串行口波特率提高一倍 系统复位时 SMOD 0 3 中断允许寄存器IE 8 2 3串行接口的工作方式 1 串行工作方式 1 数据发送与接收使用方式0实现数据的移位输入或输出时 实际上是把串行口变为并行口使用 方式0输出 发送 串行口作为并行输出口使用时 要有 串入并出 的移位寄存器 例如CD4094或74LSl64 74HCl64等 配合 其电路连接如图8 17所示 方式0输入 接收 把能实现 并入串出 功能的移位寄存器 例如CD4014或74LSl65 74HCl65等 与串行口配合使用 就可以把串行口变为并行输入口使用 如图8 19所示 2 串行工作方式1方式1是10位为一帧的异步通信方式 TXD为数据发送引脚 RXD为数据接收引脚 其帧的格式如图8 22所示 包括1位起始位 8位数据位和1位停止位 1 方式1发送 输出 由一条写发送寄存器 SBUF 的指令开始 随后在串行口由硬件自动加入起始位和停止位 构成一个完整的帧格式 然后在移位脉冲的作用下 由TXD端串行输出 一个字符帧发送完后 使TXD输出线维持在 1 的状态下 并将SCON寄存器中的TI置 1 通知CPU可以接着发送下一个字符 其发送时序如图8 23所示 2 方式1接收 输入 接收数据时 SCON的REN位应处于允许接收状态 软件置REN 1 在此前提下 串行口以16倍波特率的速率采样RXD端 当采样到从 1 向 0 状态跳变时 就认定是接收到起始位 随后在移位脉冲的控制下 把接收到的数据位移入接收寄存器中 直到停止位到来之后置位中断标志RI 通知CPU从SBUF中取走接收到的一个字符 接收时序如图8 24所示 3 串行工作方式2方式2是11位为一帧的串行通信方式 即1个起始位 9个数据位和1个停止位 1 方式2发送 输出 发送数据时 应预先在SCON中的TB8位中把第9个数据位的内容准备好 可使用如下指令完成 SETBTB8 TB8位置 1 CLRTB8 TB8位置 0 发送数据 D0 D7 由MOV指令向SBUF写入 而D8位的内容则由硬件电路从TB8中直接送到发送移位寄存器的第9位 并以此来启动串行发送 一个字符帧发送完毕后 将TI位置 1 其他过程与方式1相同 发送时序如图8 26所示 2 方式2接收 输入 接收过程与方式1相似 所不同的只在第9数据位上 串行口把接收到的前8个数据位送入SBUF 而把第9数据位送入RB8 4 串行工作方式3方式3同样是11位为一帧的串行通信方式 其通信过程与方式2完全相同 所不同的仅在于波持率 方式2的波特率只有固定的两种 而方式3的波特率则可由用户根据需要设定 其设定方式与方式1相同 即通过设置定时器1的初值来设定波特率 5 串行口波特率的设定在串行通信中 收发双方对发送或接收数据的速率要有约定 通过软件可对单片机串行口编程为4种工作方式 其中方式0和方式2的波特率是固定的 而方式1和方式3的波特率是可变的 由定时器T1的溢出率来决定 方式0的波特率 fosc 12方式2的波特率 2SMOD 64 fosc方式1的波特率 2SMOD 32 T1溢出率 方式3的波特率 2SMOD 32 T1溢出率 串行口工作之前 应对其进行初始化 主要是设置产生波特率的定时器T1 串行口控制和中断控制 具体步骤如下 1 确定T1的工作方式 编程TMOD寄存器 2 计算T1的初值 装载TH1 TLl 3 启动T1 编程TCONN中的TRl位 4 确定串行口控制 编程SCON寄存器 5 串行口在中断方式工作时 要进行中断设置 编程IE IP寄存器 8 3单片机串行接口应用 1 双机通信双机通信也称为点对点通信 用于单片机与单片机之间交换信息 也常用于单片机与通用微机间的信息交换 两个单片机间采用TTL电平直接传输信息 其距离一般不应超过5m 所以实际应用中通常采用RS 232C标淮电平进行点对点通信连接 如图8 28所示为两个单片机间的通信连接方法 电平转换芯片采用MAX232芯片 2 多机通信 1 硬件连接单片机构成的多机系统常采用总线型主从式结构 所谓主从式 即在数个单片机中 有 个是主机 其余的是从机 从机要服从主机的调度和支配 80C31单片机的串行口方式2和方式3适合于这种主从式的通信结构 当然采用不同的通信标准时 还需进行相应的电平转换 有时还要对信号进行光电隔离 在实际的多机应用系统中 常采用RS 485串行标准总线进行数据传输 如图8 30所示 2 通信协议根据80C51串行口的多机通信能力 多机通信可以按照以下协议进行 所有从机的SM2位置 1 处于接收地址帧状态 主机发送一地址帧 其中8位是地址 第9位为地址 数据的区分标志 该位1表示该帧为地址帧 所有从机收到地址帧后 都将接收的地址与本机的地址比较 对于地址相符的从机 使自己的SM2位置0 以接收主机随后发来的数据帧 并把本机地址发回主机作为应答 对于地址不符的从机 仍保持SM2 1 对主机随后发来的数据帧不予理睬 从机发送数据结束后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合肥保时捷购买合同范本
- 调料分装厂加盟合同范本
- 产品委托代工合同协议书
- 企业如何签茅台合同协议
- 方舱买卖合同协议书范本
- 合同范本制定模板及审查功能描述
- 农村信息化与信息技术服务合同
- 农村作物种植与收购合同
- 娱乐场所经营权转让及管理合同
- 小区绿化改造与园艺维护服务合同
- T/CCS 063-2023井工煤矿智能化供排水系统运维管理规范
- DB36-T1694-2022-餐厨垃圾集约化养殖黑水虻技术规程-江西省
- 超市卫生管理规范培训
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- 中学生心理辅导活动课教案(合集)
- 《心律失常的诊断和治疗》课件
- 委托运营合作合同协议
- 违章作业培训课件
- 软件行业薪酬管理制度
- 门急诊管理制度
- 2025年中级消防设施操作员(维保)模拟试题题库(附答案)
评论
0/150
提交评论