第7章MCS-51单片机的串行接口 ◆MCS-51中的串行接口是一个全双工( full duplex)通 信接口,即能同时进行发送和接收(若可以发送和接 收,但不能同时进行,则称半双工;只能发送或接收 的称为单工),它可以作UART通用异步接收和发送器 用,也可以作同步移位寄存器用。 ◆MCs-51串行接口中有一个接收缓冲器,这意味着, 在第一个字节从接收寄存器读走之前,就可以开始第 二字节的接收(但如果第二字节已经接收完毕,第 字节还没有被读走,则第一字节将丢失)。串行口的 接收和发送均是通过特殊功能寄存器SBUF的操作完成 的:要发送的数据要写入SBUF,接收的数据从SBUF 读取,也就是说,在物理上,它对应着两个寄存器, 个发送寄存器,一个接收寄存器
第7章 MCS-51单片机的串行接口 ◆MCS-51中的串行接口是一个全双工(full duplex)通 信接口,即能同时进行发送和接收(若可以发送和接 收,但不能同时进行,则称半双工;只能发送或接收 的称为单工),它可以作UART通用异步接收和发送器 用,也可以作同步移位寄存器用。 ◆ MCS-51串行接口中有一个接收缓冲器,这意味着, 在第一个字节从接收寄存器读走之前,就可以开始第 二字节的接收(但如果第二字节已经接收完毕,第一 字节还没有被读走,则第一字节将丢失)。串行口的 接收和发送均是通过特殊功能寄存器SBUF的操作完成 的:要发送的数据要写入SBUF,接收的数据从SBUF 读取,也就是说,在物理上,它对应着两个寄存器, 一个发送寄存器,一个接收寄存器
7.1MCS-51串行接口的四种运行模式 ≯模式0:同步移位寄存器方式。8位数据(先为 LSB)从引脚RXD接收/移出,引脚TXD输出 移位时钟,波特率固定为晶振频率的1/12。模 式O通常用来扩展输入输出口。 ≯模式1:10位数据被发送(从引脚TXD)或接 收(从引脚RXD):1个启动位,8个数据位 1个停止位。在接收时,停止位被送入特殊功 能寄存器的SCON的RB8位。波特率可变
7.1 MCS-51串行接口的四种运行模式 ➢模式0: 同步移位寄存器方式。8位数据(先为 LSB)从引脚RXD接收/移出,引脚TXD输出 移位时钟,波特率固定为晶振频率的1/12。模 式0通常用来扩展输入输出口。 ➢模式1:10位数据被发送(从引脚TXD)或接 收(从引脚RXD):1个启动位,8个数据位, 1个停止位。在接收时,停止位被送入特殊功 能寄存器的SCON的RB8位。波特率可变
模式2:11位数据被发送(从引脚TXD)或接收 (从引脚RXD):1个启动位,8个数据位,可编 程的第9个数据位,1个停止位。发送时,第9位 (SCON的TB8位)可被赋予0或1。例如,可将 奇偶校验位送至TB8位。在接收时,停止位被送 入特殊功能寄存器SCON的RB8位。模式2的波特 率可为1/32或1/64晶振频率。 模式3:11位数据被发送(从引脚TXD)或接收 (从引脚RXD):1个启动位,8个数据位,可编 程的第9个数据位,1个停止位。发送时,第9位 (SCON的TB8位)可被赋予0或1。实际上,除 了波特率之外,模式2和模式3是相同的。模式3 的波特率是可变的
➢ 模式2:11位数据被发送(从引脚TXD)或接收 (从引脚RXD):1个启动位,8个数据位,可编 程的第9个数据位,1个停止位。发送时,第9位 (SCON 的TB8位)可被赋予0或1。例如,可将 奇偶校验位送至TB8位。在接收时,停止位被送 入特殊功能寄存器SCON的RB8位。模式2的波特 率可为1/32或1/64晶振频率。 ➢ 模式3:11位数据被发送(从引脚TXD)或接收 (从引脚RXD):1个启动位,8个数据位,可编 程的第9个数据位,1个停止位。发送时,第9位 (SCON 的TB8位)可被赋予0或1。实际上,除 了波特率之外,模式2和模式3是相同的。模式3 的波特率是可变的
7.2串行口控制寄存器 1.串行口控制寄存器SCON串行口控制寄 存器SCON,字节地址98H,所有位均可位 寻址,位地址98~9FH。SCON的格式如 下图所示。 SR2REZ 188 TI 串行口控制寄存器SCON的格式
7.2 串行口控制寄存器 1.串行口控制寄存器SCON 串行口控制寄 存器SCON,字节地址98H,所有位均可位 寻址,位地址98~9FH。SCON的格式如 下图所示。 串行口控制寄存器SCON的格式
SMO、SM1是串行口4种工作方式选择位,所对 应的工作方式如下表所示。 方 功能说明 0 同步移饺寄存器方式 0011 8异步收发,波将可变(底冠时忌制)〕 0 2 9饱异步收发,特为fse|64虫se32 9位异步收发,波特察可变〔度定时控制〕 SM2是多机通信控制位。 (1)若SM2=1,则模式2和模式3可用于多处理机 通讯,在这些方式中,9个数据位被收到,第9位 数据被送入RB8,然后是停止位。仅当RB8=1, 单片机在收到停止位后,串行口中断被激活
• SM0、SM1是串行口4种工作方式选择位,所对 应的工作方式如下表所示。 • SM2是多机通信控制位。 (1)若SM2=1,则模式2和模式3可用于多处理机 通讯,在这些方式中,9个数据位被收到,第9位 数据被送入RB8,然后是停止位。仅当RB8=1, 单片机在收到停止位后,串行口中断被激活
(2)若SM2=0,则不论收到的第9位数据是“1”还 是“0”,都将前8位数据送入SBUF,并产生中断 请求 在方式1时,如果SM2=1,则只有收到有效的停 止位才会激活RI,在方式0,SM2必须为0 REN允许串行接收位 由软件置“1”或清“0” REN=1,允许串行接收 REN=0,禁止串行接收
(2)若SM2=0,则不论收到的第9位数据是“1”还 是“0”,都将前8位数据送入SBUF,并产生中断 请求。 在方式1时,如果SM2=1,则只有收到有效的停 止位才会激活RI,在方式0,SM2必须为0。 • REN 允许串行接收位 由软件置“1”或清“0” 。 REN = 1,允许串行接收 REN = 0,禁止串行接收
TB8为要发送的第9位数据 在方式2和3时,TB8是要发送数据的第9位 数据。由软件置“1”或清“0”。双机通信时 TB8一般作为奇偶校验位使用;多机通信 中用来表示主机发送的数据是地址帧还是 数据帧。TB8=1,为地址帧,TB8=0 为数据帧 RB8为接收到的第9位 在方式2和3时,RB8存放接收到的第9位数 据。在方式1,如果SM2=0,RB8是收到 的停止位。在方式0,不使用RB8
• TB8 为要发送的第9位数据 在方式2和3时,TB8是要发送数据的第9位 数据。由软件置“1”或清“0”。双机通信时, TB8 一般作为奇偶校验位使用;多机通信 中用来表示主机发送的数据是地址帧还是 数据帧。TB8 = 1,为地址帧,TB8 = 0 为数据帧。 • RB8 为接收到的第9位 在方式2和3时,RB8存放接收到的第9位数 据。在方式1,如果SM2 = 0,RB8是收到 的停止位。在方式0,不使用RB8
TI发送中断标志位 串行口工作在方式0时,串行发送第8位数 据结束时由硬件置“1”。在其他工作方式,串行 口发送停止位的开始时置“1”。TI=1,表示 帧数据发送结束,TI的状态可供软件查询,也可 申请中断。CPU相应中断后,向SBUF写入要发 送的下一帧数据。T必须由软件清“0” RI接收中断标志位 串行口工作在方式0时,接受完第8位数据 结束时由硬件置“1”。在其他工作方式,串行口 接收到停止位的开始时置“1”。TI=1,表示 帧数据接收完毕,并申请中断,要求CPU从 SBUF取走数据。RI的状态也可供软件查询,RI 必须由软件清“0
• TI 发送中断标志位 串行口工作在方式0时,串行发送第8位数 据结束时由硬件置“1”。在其他工作方式,串行 口发送停止位的开始时置“1” 。TI = 1,表示一 帧数据发送结束,TI的状态可供软件查询,也可 申请中断。CPU相应中断后,向SBUF写入要发 送的下一帧数据。TI必须由软件清“0” 。 • RI 接收中断标志位 串行口工作在方式0时,接受完第8位数据 结束时由硬件置“1”。在其他工作方式,串行口 接收到停止位的开始时置“1” 。TI = 1,表示一 帧数据接收完毕,并申请中断,要求CPU从 SBUF取走数据。RI的状态也可供软件查询,RI 必须由软件清“0”
2.特殊功能寄存器PCON特殊功能寄存器 PCON字节地址为87H,不能位寻址,其格 式如图所示 SLDD PCON的寄存器格式 SMOD:波特率选择位 例如:方式1的波特率的计算公式为 2 SMOD 32×(定时器1溢出率)
2. 特殊功能寄存器 PCON 特殊功能寄存器 PCON字节地址为87H,不能位寻址,其格 式如图所示。 SMOD:波特率选择位 例如:方式1的波特率的计算公式为 ( 1 ) 32 2 SMOD 定时器 溢出率 PCON的寄存器格式
7.3波特率的产生 模式O的波特率是固定的,即 模式波特率=晶振频率 模式2的波特率取决于特特殊功能寄存器PCON的 SMOD位。 如SMOD=0,波特率是晶振频率的1/64。 如SMOD=1,则波特率等于晶振频率的1/32,即模式 2的波特率按下式计算 2 SMOD 模式2的波特率 晶振频率 64
7.3 波特率的产生 模式0的波特率是固定的,即 12 0 晶振频率 模式 的波特率 = 模式2的波特率取决于特特殊功能寄存器 PCON的 SMOD位。 如SMOD=0,波特率是晶振频率的1/64。 如SMOD=1,则波特率等于晶振频率的1/32,即模式 2的波特率按下式计算 模式 的波特率 = 晶振频率 64 2 2 SMOD