第七章--串行口

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方式2和方式3接收 方式2、3接收与方式1类似。时序如图7-7(b)所示。
串 行 口 的 工 作 方 式
波特率的设计 方式0和方式2
在方式0时,每个机器周期发送或接收一位数据,因此波 特率固定为单片机时钟频率的1/12(即fosc/12),且不受 SMOD的影响。 若晶振频率fosc=12MHz时,则波特率=fosc/12=12MHz/ 12=1Mb/s,即1 μs移位一次。 方式2的波特率取决于PCON中的SMOD之值,当SMOD=0 时,波特率为fOSC的1/64;若SMOD=1时,则波特率为 fOSC的1/32。即: SMOD 2 波特率= f osc
在进行通讯时,外界数据是通过引脚RxD(P3.0,串行数据 接收端)和引脚TxD(P3.1,串行数据发送端)与外界进行串 行通信。 输入数据先进入输入移位寄存器,再送入接收SBUF。在此 采用了双缓冲结构。
51 串 行 口 的 结 构
MCS-
串行口控制寄存器SCON
SCON是MCS-51的一个可位寻址的SFR,串行数据通信的 方式选择、接收和发送控制以及串行口的状态标志均由专 用寄存器SCON控制和指示。复位时所有位被清0。SCON 的格式如下:
串 行 通 信 和 基 础 知 识
串 行 通 信 和 基 础 知 识
帧格式
起始位:为逻辑“0”信号,位于字符帧开头,占一位, 表示发送端开始发送一帧信息。 数据位:紧跟起始位之后就是数据位。在数据位中,低位 在前(左),高位在后(右)。
奇偶校验位:此位位于数据位之后,仅占1位,用于对字 符传送作正确性检查。奇偶校验位有3种可能的选择,即 奇、偶或无校验,由用户根据需要选定。
串 行 口 的 控 制 寄 存 器
5.RB8——在方式2、3时,RB8存放接收到的第9位数据。 方式1时,若SM2=0,则RB8存放接收到的停止位;在方 式0时,不使用RB8。
6.TI——发送中断标志位。在方式0时,发送第8位数据结束 时由硬件置位;其他方式在停止位之前置位。TI在发送前 必须由软件清0。TI=1,表示发送帧结束,可供软件查询, 也可请求中断。
7.RI——接收中断标志。方式0时,接收第8位数据结束时由 硬件置位。其他方式下,接收到停止位的中间位置时置位。 RI在接收一帧字符之后必须由软件清0,准备接收下一帧 数据。RI=1,表示帧接收结束。RI可供软件查询,也可请 求中断。
串 行 口 的 控 制 寄 存 器
电源控制寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的专 用寄存器,地址为87H。 PCON的最高位SMOD是串行口波特率倍增位。当 SMOD=1时波特率加倍,复位时,SMOD=0。PCON的格 式如下:
串 行 通 信 和 基 础 知 识
同步通信(Synchronous Communication)
同步通信是以一种连续串行传送数据的通信方式,一次通
信只传送一帧信息。
信息帧与异步通信中的字符帧不同,通常含有若干个数据 字符既数据块。它们都是由同步字符、数据字符和校验字
符三部分组成。
同步通信的缺点:要求发送时钟和接收时钟保持严格同步, 故发送时钟除应和发送的波特率保持一致外,还要求把它 同时传送到接收端去。故这种方式对硬件要求较高。
串 行 通 信 和 基 础 知 识
2.半双工(Half Duplex)制式 数据传送是双向的,但任一时刻数据只能是从A站发至B站, 或者从B站发至A站,也就是说只能是一方发送另一方接收。
因此,A、B两站之间只要一条信号线和一条接地线。收发
开关是由软件控制的,通过半双工通信协议进行功能切换。 如图7-3(b)所示。 3.全双工(Full Duplex)制式 数据传送也是双向的。A、B两站都可以同时发送和接收数 据。因此,工作在全双工制式下的A、B两站之间至少需要
异步通信和同步通信 异步通信(Asynchronous Communication)
在异步通信中,数据通常是以字符(字节)为单位组成字符 帧传送的。字符帧由发送端一帧一帧地发送,通过传输线 由接收设备一帧一帧地接收。发送端和接收端可以有各自 的时钟来控制数据的发送和接收。 一个字符在异步传送中又称为一帧数据,字符帧也叫数据 帧,由起始位、数据位、奇偶校验位和停止位四部分组成, 如图7-2所示。
串 行 通 信 和 基 础 知 识
串行通信
串行通信是数据一位一位顺序传送。 特点:数据传送按位顺序进行,最少只需一根传输线即可 完成,成本低但速度慢。 计算机与远程终端或终端与 终端之间的数据传送通常都 是串行的。串行通信的距离 可以从几米到几千公里。
串 行 通 信 和 基 础 知 识
例如,波特率为2400b/s的通信系统,若采用图7-2(a) 的字符帧,则字符的实际传送速率为2400/11=218.18帧 /s;若采用图7-2(b)的字符帧,则字符的实际传送速率为 2400/14=171.43帧/s。
串 行 通 信 和 基 础 知 识
串行口的结构
MCS-51串行口结构框图如图7-4所示。 主要由两个物理上独立的串行数据缓冲寄存器SBUF、发送 控制器、接收控制器、输入移位寄存器和输出控制门组成。 两个特殊功能寄存器SCON和PCON用来控制串行口的工作方 式和波特率。 发送缓冲寄存器SBUF只能写,不能读;接收缓冲寄存器 SBUF只能读,不能写。两个缓冲寄存器共用一个地址99H, 可以用读/写指令区分。
SCON各位功能说明如下。 1.SM0、SMl—— 串行口工作方式选择位。定义如表7-1 所示。
串 行 口 的 控 制 寄 存 器
2.SM2——在方式2和方式3中用于多机通信控制。 3.REN—— 允许接收位。REN=0,禁止接收;REN=1,允 许接收。该位由软件置位或复位。 4.TB8——在方式2、3时,是发送的第9位数据,也可作奇 偶校验位。在多机通信中,TB8位的状态表示主机发送的 是地址还是数据:TB8=0为数据,TB8=1为地址。该位由 软件置位或复位。
7.1串行通信的基础知识
7.2 MCS-51的串行I/O口及控制寄存器
7.3 串行口的工作方式 7.4 波特率的设计 7.5 MCS-51串行口的应用 7.6 MCS-51串行口的多机通信
本章首先介绍串行通信的基本概念,然后重 点讨论MCS-51系列单片机串行口的特点和用法, 要求掌握串行口的概念、 MCS-51串行口的结构、 原理及应用。
三条传输线:一条用于发送,一条用于接收,一条用于信
号地线。如图7-3(c)所示。
串 行 通 信 和 基 础 知 识
波特率
波特率是指每秒钟传送二进制数码的位数(亦称比特数), 单位是b/s。 波特率是串行通信的重要指标,用于表征数据传送的速率。 波特率越高,数据传输速度越快。
字符的实际传送速率是指每秒钟内所传字符帧的帧数,与 字符帧格式有关。
串 行 口 的 控 制 寄 存 器
MCS-51串行口有0、1、2、3四种工作方式。 串行口方式0
在方式0下,串行口为同步移位寄存器方式,波特率固定 为fOSC/12。这时的数据传送,无论是输入还是输出,均 由RxD(P3.0)端完成,而由TxD(P3.1)端输出移位时钟脉冲。 发送和接收一帧的数据为8位二进制,不设起始位和停止 位,低位在前,高位在后。一般用于I/O口扩展。
串 行 通 信 和 基 础 知 识
停止位:为逻辑“1”信号,此位位于字符帧末尾,表示 一帧字符信息已发送完毕。停止位可以是1、1.5或2位, 在实际应用中由用户根据需要确定。 异步通信的优点:不需要传送同步脉冲,字符帧的长度也 不受限制,故所需设备简单。
异步通信的缺点:字符帧中因包含有起始位和停止位而降 低了有效数据的传输效率。
串 行 口 的 工 作 方 式
串行口方式2和串行口方式3
串行口工作在方式2、3时,为11位异步通信口,发送、接 收一帧信息由11位组成,即1位起始位(0)、数据8位(低位 在前)、1位可编程位(第9数据位)和1位停止位(1)。发送时, 可编程位(TB8)可设置0或1,该位一般用做效验位;接收 时,可编程位送入SCON中的RB8。
串 行 口 的 工 作 方 式
串 行 口 的 工 作 方 式
串行口方式1
在方式1下,串行口为10位通用异步通信接口。一帧信息 包括1位起始位(0)、8位数据位(低位在前)和1位停止位(1)。 TXD是发送端,RXD是接收端。其传送波特率可调。 方式1发送 串行口以方式1发送时,数据由TXD端输出,任何一条以 SBUF为目的寄存器的指令都启动一次发送,发送条件是 TI=0。方式1的发送时序如图7-6(a)所示。 发送开始时内部SEND信号变为有效电平,随后由TXD端 输出自动加入的起始位,此后每过一个时钟脉冲,由TXD 端输出一个数据位,8位数据发送完后,置位TI。TI置1是 通知CPU可发下一个字符。
Leabharlann Baidu
串 行 口 的 工 作 方 式
串行口方式1时序
串 行 口 的 工 作 方 式
方式1接收 方式1接收时,数据从RXD端输入。当REN置“1”后,就 允许接收器接收,接收器便以波特率的16倍速率采样RXD 端电平。 在方式1的接收器中设置有数据辨识功能,当同时满足以 下两个条件时,接收的数据才有效,且实现装载SBUF、 把RB8及RI置“1”,接收控制器再次采样RXD的负跳变, 以便接收下一帧数据。 这两个条件是: ①RI=0; ②SM2=0或接收到的停止位=1。 如果上述条件任一不满足,所接收的数据无效,接收控制 器不再恢复。
串 行 通 信 和 基 础 知 识
串行通信的制式
按照数据传送的方向,串行通信可分为3种制式,即单工、 半双工和全双工。 1.单工(Simplex)制式 A端(或B端)固定为发送站,B端(或A端)固定为接收站,数
据只能从A站(或B站)发至B站(或A站),数据传送是单向的。
因此,只需要一条数据线。如图7-3(a)所示。
51 串 行 口 的 结 构
MCS-
51 串 行 口 的 结 构
MCS-
串行发送时,通过“MOV SBUF,A”写指令,CPU把累加 器A的内容写入发送的SBUF(99H),再由TxD引脚一位一位 地向外发送;
串行接收时,接收端从RxD一位一位地接收数据,直到收 到一个完整的字符数据后通知CPU,再通过“MOV A, SBUF”读指令,CPU从接收的SBUF(99H)读出数据,送到累 加器A中。发送和接收的过程可以采用中断方式,从而可 以大大提高CPU的效率。
教 学 目 的 和 要 求
并行通信与串行通信 并行通信
并行通信是数据的各位同时传送。 特点:传送速度快、效率 高,但有多少数据位就需 多少根数据线,因此传送 成本高,适合近距离传输。 在集成电路芯片的内部、 同一插件板上各部件之间 同一机箱内各插件板之间 的数据传送都是并行的。
方式2、3的区别在于:方式2的波特率为fosc/32或fosc/ 64,而方式3的波特率可变。方式2和方式3的发送/接收时 序如图7-7所示。 方式2和方式3发送 方式2、3发送时,数据由TXD端输出,附加的第9位数据 为SCON中的TB8。 时序如图7-7(a)所示。
串 行 口 的 工 作 方 式
串 行 口 的 控 制 寄 存 器
中断允许控制寄存器IE(A8H)
IE寄存器各位定义如下:
其中,ES为串行口中断允许控制位,ES=1允许RI/T1中 断。ES=0,禁止RI/TI中断。
串 行 口 的 控 制 寄 存 器
中断优先级寄存器IP(B8H)
IP寄存器各位定义如下:
其中,PS为串行口中断优先级控制位,该位为“1”,串行 口设定为高优先级。
串 行 口 的 工 作 方 式
1.方式0发送 方式0发送时,执行任何一条以SBUF为目的寄存器的指令, 串行口即将8位数据以振荡频率的十二分之一的波特率, 将数据从RxD端串行发送出去。时序如图7-5所示。 2.方式0接收
方式0接收时,在同时满足REN=1和RI=0的条件下,以读 SBUF寄存器的指令开始。时序如图7-5所示。
相关文档
最新文档