单片机UART串行接口

上传人:fe****16 文档编号:120918456 上传时间:2020-02-12 格式:PPT 页数:92 大小:395KB
返回 下载 相关 举报
单片机UART串行接口_第1页
第1页 / 共92页
单片机UART串行接口_第2页
第2页 / 共92页
单片机UART串行接口_第3页
第3页 / 共92页
单片机UART串行接口_第4页
第4页 / 共92页
单片机UART串行接口_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《单片机UART串行接口》由会员分享,可在线阅读,更多相关《单片机UART串行接口(92页珍藏版)》请在金锄头文库上搜索。

1、第七章 UART串行接口 串行通信是CPU与外界交换信息的一 种基本通信方式 为了实现串行通信 绝 大多数单片机都配置了UART串行接口 1 7 1 串行通信概述 计算机与外界的信息交换称为通信 基本 的通信方式有两种 并行通信 parallel communication 所传 送数据的各位同时发送或接收 串行通信 serial communication 所传送 数据的各位按顺序一位一位地发送或接收 2 在并行通信中 一个并行数据占多少 位二进制数 就要多少根传输线 这种 方式的特点是通信速度快 但传输线多 价格较贵 适合近距离传输 串行通信仅需1 2根传输线 故在长 距离传输数据时比较经

2、济 但由于它每 次只能传送1位 所以传送速度较慢 3 图7 1 基本通信方式图示 4 7 1 1 同步通信和异步通信方式 串行通信分同步和异步两种方式 5 1 异步通信ASYNC 在异步通信中数据或字符是逐帧 frame 传送 的 帧定义为一个字符的完整的通信格式 通常也称为 帧格式 最常见的帧格式一般是先用一个起始位 0 表示字符的开始 然后是5 8位数据 规定低位在前 高位在后 其后是奇偶校验位 最后是停止位 用以表 示字符的结束 停止位可以是1位 1 5位 2位 不同 的计算机规定有所不同 从起始位开始到停止位结束就 构成完整的1帧 6 起始位 通信线上没有数据传送时 为 高电平 逻辑1

3、 当要发送数据时 首先 发1个低电平信号 逻辑0 此信号称为 起始位 表示开始传输1帧数据 数据位 起始位之后的位即数据位 数 据位可以是5 6 7或8位 不同计算机的 规定不同 上图的数据位为8位 一般从 最低位开始传送 最高位在最后 7 奇偶校验位 数据位之后的位为奇偶校验位 有的方式具有 此位可用于判别字符传送的正 确性 其有3种可能的选择 即奇 偶 无校验 用户可根据需要选择 在有的格式中 该位可省 略 在80C51单片机中 此位还可以用来确定该 帧字符信息的性质 地址或数据 停止位 校验位后为停止位 用于表示1帧结束 用高电平 逻辑1 表示 停止位可以是1 1 5或2位 不同计算机的

4、规定有所不同 8 异步通信的主要特点如下 进行串行通信的单片机的时钟相互独立 其 时钟频率可以不相同 在通信时不要求有同步时 钟信号 由于异步通信是逐帧进行传输的 各位 之间的时间间隔应该相同 所以必须保证2个单片 机之间有相同的传送波特率 如果传送波特率不 同 则时间间隔不同 当误差超过5 时 就不能 正常进行通信 由于信息传输可以是随时不间断 地进行的 因而帧与帧之间的时间间隔可以是不 固定的 间隙处为高电平 9 由于异步通信每传送一帧有固定格式 通信双方只需按约定的帧格式来发送和接 收数据 所以硬件结构比同步通信方式简单 此外 它还能利用校验位检测错误 所以 这种通信方式应用较广泛 在单

5、片机中主要 是采用异步通信方式 10 2 同步通信SYNC 在同步通信中 数据或字符开始处是用一同步字 符来指示 一般约定为l 2个字符 以实现发 送端和接收端同步 一旦检测到约定同步字符 下面就连续 顺序地发送和接收数据 11 由于同步通信数据块传送时去掉了每个数字 都必须具有的字符开始和结束的标志 且它一次 可以发送一个数据段 多个数据 因此 其速 度高于异步通信 但这种方式要求接收和发送时 钟严格保持同步 在通信时通常要求有同步时钟 信号 对硬件结构要求较高 由于这种方式易于 进行串行外围扩展 所以目前很多型号的单片机 都增加了串行同步通信接口 如目前已得到广泛 应用的I2C串行总线和S

6、PI串行接口等 12 7 1 2 串行通信的数据传送速率 传送速率是指数据传送的速度 用b s或bps 比 特 秒 表示 称为比特率 在二进制的情况下 比 特率与波特率数值相等 因而在单片机的串行通信中 常称为波特率 假如数据传送的速率为120个字符每秒 每个字 符由1个起始位 8个数据位和1个停止位组成 则其 传送波特率为 10b 120 s 1200b s 1200波特 每一位的传送时间即为波特率的倒数 13 异步通信的数据传送速率一般为 50b s 100kb s 常用于计算机到CRT终 端 以及双机或多机之间的通信等 14 7 1 3 串行通信的方式 在串行通信中 数据是在两机之 间传

7、送的 按照数据传送方向 串行通 信可分为单工 Simplex 制式 半双工 half duplex 制式和全双工 full duplex 制式 15 图7 2 串行通信方式示意图 1 单工制式 在单工制式下 数据在甲机和乙机之间只 允许单方向传送 两机之间只需1条数据线 16 2 半双工制式 在半双工制式下 数据在甲机和乙机之间 允许双方向传送 但它们之间只有一个通 信回路 接收和发送不能同时进行 只能 分时发送和接收 即甲机发送 乙机接收 或者乙机发送 甲机接收 因而两机 之间只需1条数据线 17 3 全双工制式 在全双工制式下 甲 乙两机之间数据的 发送和接收可以同时进行 称为 全双工 传

8、送 全双工形式的串行通信必须使用2 条数据线 不管哪种形式的串行通信 在两机之间均 应有公共地线 18 信号的调制与解调 当异步通信的距离在15m之内时 计算机之间 可以直接进行通信 而当传输距离较远时 通常是 用电话线传送 由于电话线频带不够宽 再加上远 距离传输时信号不可避免地衰减 因而使信号发生 明显的畸变 在发送时要用调制器 modulator 把数字信 号转换为模拟信号 并加以放大再传送 这个过程 叫做调制 在接收时 再用解调器 demodulator 检测此模拟信号 并把它转换成数字信号再送入 计算机接口 这个过程即解调 19 7 1 4 通信协议 通信协议是指在计算机之间进行数据

9、传输 时的一些约定 包括通信方式 波特率 命令 码的约定等 为保证计算机之间能准确 可靠 地通信 相互之间必须遵循统一的通信协议 在通信之前一定要先设置好通信协议 20 7 2 80C51串行口简介 80C51的串行口是一个可编程的全 双工串行通信接口 通过软件编程它可 以作通用异步接收和发送器UART Universal Asynchronous Receiver Transmitter 用 也可作同步移位寄 存器用 其帧格式可有8位 10位和11 位 并能设置各种波特率 使用灵活方 便 21 7 2 1 串行口结构与工作原理 80C51串行口主要由接收与发送缓冲寄存 器SBUF 输入移位寄

10、存器以及串行控制寄存 器SCON等组成 波特率发生器可以利用定时 器T1或T2控制发送和接收的速率 SCON用于 存放串行口的控制和状态信息 发送数据缓 冲寄存器SBUF用于存放准备发送出去的数据 接收数据缓冲寄存器SBUF用于接收由外部 输入到输入移位寄存器中的数据 80C51串行 口正是通过对上述专用寄存器的设置 检测 与读取来管理串行通信的 22 图7 3 串行口结构框图 23 在进行串行通信时 外界数据通过引脚RXD P3 0 输入 输入数据首先逐位进入输入移位 寄存器 由串行数据转换为并行数据 然后再送 入接收寄存器 在接收寄存器中采用了双缓冲结 构 以避免在接收到第2帧数据前 CP

11、U未及时响 应接收寄存器前一帧的中断请求 没把前一帧数 据读走 而造成2帧数据重叠的错误 在发送时 串行数据通过引脚TXD P3 1 输出 由于CPU是 主动的 因此不会产生写重叠问题 一般不需要 双缓冲器结构 要发送的数据通过发送控制器控 制逻辑门电路逐位输出 24 7 2 2 串行口寄存器 与串行口工作有关的寄存器共有6个 分别是串行口控制寄存器SCON 接收与发 送缓冲寄存器SBUF 电源控制寄存器PCON 中断允许控制寄存器IE 中断优先级寄 存器IP 25 1 串行口控制寄存器SCON 串行口控制寄存器SCON用于串行通 信的方式选择 接收和发送控制 并可 反映串行口的工作状态 26

12、 SCON 7和SCON 6位 SM0和SM1 串行方式 选择位 表7 1 串行口工作方式选择 27 SCON 5位 SM2 多机通信控制位 在方式2和方式3中 SM2主要用于进行多机 通信控制 当串行口以方式2或方式3接收时 如 果SM2 1 允许多机通信 且接收到第9位RB8为0 时 则RI不置1不接收主机发来的数据 如果 SM2 1 且RB8为1 则RI置1 产生中断请求 将 接收到的8位数据送入SBUF 当SM2 0时 不论RB8 为0还是1 都将收到的8位数据送入SBUF 并产生 中断 在方式1中 当处于接收状态时 若SM2 1 则只有接收到有效的停止位时 RI才置1 在方式 0中

13、SM2应置0 28 SCON 4位 REN 允许串行接收位 REN 1时 允许接收 REN O时 禁止接收 由软件置位或清除 29 SCON 3位 TB8 发送数据的第9位 D8 在方式2或方式3中 根据需要由软件置位 或复位 双机通信时 它可约定作奇偶校验 位 在多机通信中 可作为区别地址帧或数 据帧的标识位 一般由指令设定地址帧时 设TB8为1 而设定数据帧时 设TB8为0 方 式0和方式1中没用该位 30 SCON 2位 RB8 接收数据的第9位 D8 在方式2或方式3中 RB8的状态与TB8相呼 应 如可以是约定的奇偶校验位 也可以 是约定的地址 数据标识位 例如 当 SM2 1时 如

14、果RB8为0 则说明收到的是数 据帧 31 SCON 1位 TI 发送中断标志位 在方式0中 发送完8位数据后 由硬件置 位 在其他方式中 在发送停止位之初由硬件置 位 TI 1时 可申请中断 也可供软件查询用 在任何方式中 都必须由软件来清除TI SCON 0位 RI 接收中断标志位 在方式0中 接收完8位数据后 由硬件置 位 在其他方式中 在接收停止位的中间 由硬 件置位 RI 1时 可申请中断 也可供软件查询 用 在任何方式中 都必须由软件清除RI 32 SCON的低2位与中断有关 SCON的地址为98H 可以位寻址 复位时 SCON的所有位均清0 33 2 数据缓冲寄存器SBUF 数据

15、缓冲寄存器SBUF实际上是2个寄存 器 发送数据缓冲寄存器和接收数据缓冲 寄存器 接收与发送缓冲寄存器SBUF采用 同一个地址代码99H 其寄存器名亦同样为 SBUF CPU通过不同的操作命令 区别这2 个寄存器 所以不会因为地址代码相同而 产生错误 当CPU发出写SBUF命令时 即向 发送缓冲寄存器中装载新的信息 同时启 动数据串行发送 当CPU发出读SBUF命令时 即读接收缓冲寄存器的内容 34 3 电源控制寄存器PCON 电源控制寄存器PCON主要用于电源控制 PCON 的最高位SMOD是串行口的波特率倍增位 当SMOD 为1时 波特率加倍 当SMOD为O时 波特率不变 35 4 中断允

16、许控制寄存器IE 中断允许控制寄存器IE用于控制与管理单 片机的中断系统 IE的ES位用于控制串行口的中断 当ES O时 禁止串行口中断 当ES 1时 允许串行口中断 36 5 中断优先级寄存器IP 中断优先级寄存器IP用于管理单片机中 各中断源中断优先级 IP的PS位用于设置串行口中断的优先级 当PS 0时 串行口中断为低优先级 当PS 1时 串行口中断为高优先级 37 7 2 3 80C51的帧格式 80C51串行口通过编程可设置四种工作方式及 三种帧格式 38 方式0以8位数据为一帧 不设起始位和停止位 先发送或接收最低位 方式1以10位为一帧传输 设有1个起始位 0 8个数据位和1个停止位 1 39 方式2和3以11位为一帧传输 设有1个起始 位 0 8个数据位 1个可编程位 第9数据位 D8和1个停止位 1 可编程位D8由软件置 1 或清 0 该位可作检 验位 也可作它用 40 7 2 4 波特率的设置 在串行通信前 首先要设置收 发 双方对发送或接收的数据传送速率 即 波特率 通过软件对80C51串行口编程可 设定4种工作方式 这4种方式波特率的 计算方法不同 方式0和方式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号