什么是MCS 51 单片机的串行接口
扫描二维码
随时随地手机看文章
串行通信的基本概念
CPU 与外部设备交换数据有并行和串行通信两种方式。并行通信是指数据的各位同时进行传送的方式。其特点是传送速度快、效率高,显然并行传送的数据有多少位,就需要有多少根传输线。当传送距离较远时,位数较多就会导致通信线路成本的大幅度增加,因此它仅适合于短距离传送。串行通信是指数据的各位按顺序一位一位地传送的通信方式。其特点是只要一对传输线就可实现通信,对传输的数据较多、距离很远 时 ,它可以大量节约系统的硬件投资。因此,在远距离的数据通信系统中一般采用串行通信方式。
串行通信依据收发功能分为 3 种方式。① 单工方式:信息只能沿着一个方向传输,例 如甲设备只能发送而乙设备只能接收。② 半双工方式:信息可以沿一条信号线的两个方向 传输,但不能同时实现双向传输,只能交替地收或发。③ 全双工方式:使用两条相互独立的数据线,分别传输两路方向相反的信息,使收和发能同时进行。
在串行通信过程中,数据传送方式有两种:同步方式和异步方式。
(1) 同步方式是将一大批数据分成几个数据块,数据块之间用同步字符予以隔开,而传输的各位二进制码之间都没有间隔。其基本特征是发送与接收时钟始终保持严格同步。
(2) 异步通信是按帧传送数据,它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔,但帧与帧之 间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。
一个字符(一帧) 由起始位、数据位、奇偶校验位和停止位组成。起始位表示一个字符的开始,接收方可用起始位使自己的接收时钟与数据同步 。停止位则表示一个字符的结束。在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为 5~8 。在传输时,按低位在前 、高位在后的顺序传送。奇偶校验位用于检验数据传送的正确性,也可以没有,可由程序来指定。最后传送的是高电平的停止位,停止位可以是 1 位、 1.5 位或 2 位。停止位结束到下一个字符的起始位之间的空闲位要由高电平 1 来填充(只要不发送下一个字符,线路上就始终为空闲位), 异步传送的 8 位字符格式如图 6.8 所示。
图 6.8 异步通信 的 8 位字符格式
MCS 51 单片机内部有一个全双工异步串行 I/O 口 ,占用 P3.0 和 P3.1 两个引脚, 成为这两个引脚的第二功能:P3.0 是串行数据接收端 RXD ,P3.1 是串行数据发送端 TXD 。
介绍与串行口有关的几个特殊功能寄存器,然后再叙述串行口的 4 种工作模式 及其应用。
与串行口有关的特殊功能寄存器
使用串行口时,要使用特殊功能寄存器 SBUF 作传送和接收数据的缓冲器 ,则要用 SCON 作串行口控制,要用到 SP 、IE 和 IP 作串行口 中断控制,必要时还可能用到 T1 和 PCON 以设定波特率。
1.数据缓冲器 SBUF
串行口缓冲器 SBUF 是可直接寻址的特殊功能寄存器 ,其内部 RAM 字节地址是99H 。在物理上,它对应着两个独立的寄存器,一个发送寄存器,一个接收寄存器。发送时,就是 CPU 写入 SBUF 的时候,51 系列单片机没有专门的启动发送状态的指令;接收时,就是读取 SBUF 的过程,接收寄存器是双缓冲的,以避免在接收下一帧数据之前,CPU 未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。
2. 串行口控制寄存器 SCON
SCON 用于控制和监视串行口的工作状态,其各位定义如 图 5.3 所示。相应的各位功能介绍如下:
SM0 、SM1 :用于定义串行口的操作模式,两个选择位对应 4 种模式,见表 6.2。其中 fOSC 是振荡器频率,UART 为通用异步接收和发送器的英文缩写。
SM2 :多机通信时的接收允许标志位。在模式 2 和 3 中,若 SM2 = 1 ,且接收到的第 9 位数据(RB8)是 0 ,则接收中断标志(RI)不会被激活。在模式 1 中,若 SM2=1 且没有接收到有效的停止位,则 RI 不会被激活。在模式 0 中,SM2 必须是 0 。
REN:允许接收位 。由软件置位或清零,REN=1 时 ,串行口允许接收数据;REN=0时,禁止接收。
TB8:发送数据位 8 。在模式 2 和 3 中,它是要发送的第 9 位数据,在许多通信协议中,该位是奇偶位,可以由软件置位或清除。在多机通信中,这一位用于表示是地址帧还是数据帧。
RB8:接收数据位 8 。在模式 2 和 3 中是接收的第 9 位数据。在模式 1 中,若 SM2= 0 ,则 RB8 是接收的停止位。在模式 0 中,该位未使用。
3. 电源控制寄存器 PCON
电源控制寄存器 PCON 的各位定义如图 6.9 所示 。PCON 的地址为 87H ,不可位寻址,初始化时需要进行字节传送。
最高位 SMOD 与串行口的工作有关,该位是波特率倍增位。SMOD=1 时,波特率加倍,否则不加倍。
GF1 、GF0:通用标志位,由软件置位、复位。
PD:掉电方式控制位,PD=0 为正常方式,PD=1 为掉电方式。
IDL:空闲方式控制位,IDL=0 为正常方式,IDL=1 为空闲方式。
由软件将 PD 位置 1 ,单片机进入掉电保护状态,内部 RAM 和专用寄存器的内容被保存,单片机停止一切工作,掉电保护时的备用电源可通过 VCC 引脚接入。当电源恢复后,系统要维持 10ms 的复位时间后才能退出掉电保护状态 ,复位操作将重新定义专用寄存器,但内部 RAM 的内容不变。