51单片机-80C51的串行口
目录
1、80C51的串行口
1.1、80C51串行口的控制寄存器
1.2、80C51串行口的工作方式
1.3、波特率的计算
1.4、串口如何使用
2、单片机与单片机的通信
1、80C51的串行口
有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一个地址99H;接收器是双缓冲结构;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。
1.1、80C51串行口的控制寄存器
(1)SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:
- SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。
在方式0时,SM2必须是0。在方式1时,如果SM2=1,则只有接收到有效停止位时,RI才置1。
SCON寄存器中的RB8位是由硬件自动控制的。在多机通信中,RB8位用于存放接收到的第9位数据,代表接收到的某种特征,因此应根据其状态对接收数据进行操作12。
SCON寄存器(Serial Control Register)用于控制串行通信的方式选择、接收和发送,并指示串口的状态。它包括多个位,其中RB8位在多机通信中起到重要作用。当串口接收到数据时,RB8位会自动存放接收到的第9位数据,这个过程是由硬件自动完成的
- REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
- TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中