购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4.1 串行口的结构与控制

对于单片机来说,为了进行串行数据通信,同样也需要有相应的串行接口电路。只不过这个接口电路不是单独的芯片,而是集成在单片机芯片的内部,成为单片机芯片的一个组成部分。

80C51 单片机内部的串行口,由发送缓冲寄存器 SBUF、接收缓冲寄存器 SBUF、发送控制寄存器、接收控制寄存器、输入移位寄存器和输出控制门组成。控制单片机串行口的控制寄存器共有两个:特殊功能寄存器SCON和PCON,可以用软件改变两者的内容来控制串行口的工作方式和波特率。

1.缓冲寄存器SBUF

80C51 单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上是独立的接收发送器,既可以接收数据,也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,两个缓冲器共用同一个地址(99H)。

这个通信口既可用于网络通信,也可实现串行异步通信,还可以构成同步移位寄存器使用。如果在通信口的输入/输出引脚上加上电平转换器,还可方便地构成标准的 RS-232 和RS-485接口。

在逻辑上,SBUF 只有一个,既表示发送寄存器,又表示接收寄存器。具有同—个地址99H。在物理上,SBUF有两个,一个是发送寄存器,另一个是接收寄存器。

2.串行口控制寄存器SCON

该寄存器的字节地址为98H,可位寻址。

SCON格式如下:

figure_0050_0052

SM0(SCON.7)、SM1(SCON.6):控制串行口的工作方式。

SM2(SCON.5):允许方式2和方式3进行多机通信控制位。在方式2或方式3中,如SM2=1,则接收到的第 9 位数据(RB8)为 0 时不激活 RI。在方式 1 时,如 SM2=1,则只有收到有效停止位时才会激活 RI;若没有接收到有效停止位,则 RI 清 0。在方式 0 中, SM2必须置为0。

REN(SCON.4):允许串行接收控制位。REN=1,允许串行接收;REN=0,则禁止串行接收。该标志由软件来置1或清0。

TB8(SCON.3):当工作在方式2和方式3时,该位是要发送的第9位数据。在一些通信协议中该第 9 位用于奇偶校验(补奇或补偶);而在 MCS-51 多处理机通信中,这一位是区别地址帧还是数据帧的标志,需要时由软件置位或复位。

RB8(SCON.2):当工作在方式 2 和方式 3 时,该位是已接收到的第 9 位数据。它是奇偶校验位。在 MCS-51 多处理机通信中是区别地址帧/数据帧的标志。在模式 1 中,若 SM2=0, RB8存放的是已接收数据的停止位;在模式0中,RB8未用,需要时由软件来置1或清0。

TI(SCON.1):发送中断标志位。在模式0中,发送完第8位数据时由硬件置位;在其他模式中发送停止位开始时由硬件置位。置位时 TI=1,申请中断,CPU 响应中断后,由软件来清除TI再发送下一帧数据。

RI(SCON.0):接收中断标志位。在模式0中,接收完第8位数据时由硬件自动置位;在模式 1 中,SM2=1,只有接收到有效的停止位,才能对 RI 置位;在其他模式中,在接收停止位的中间由硬件对 RI 置位。置位时申请中断,CPU 响应中断后取走数据,清除 RI 标志。必须由软件清零。

SCON的所有位复位时被清零。

3.特殊功能寄存器PCON

其字节地址为87H,没有位寻址功能。PCON的格式如下:

figure_0051_0053

其中,与串行接口有关的只有D7位。SMOD为波特率选择位。 QkxNzYXfBSX+sk69iwuO1mw7AwxQVMdYn86DrcU1s877218RQju8izFmN8ohTMJJ

点击中间区域
呼出菜单
上一章
目录
下一章
×