目标:单片机串口通信理解(三)
3.串口相关寄存器
(1)串口控制寄存器SCON
-
SM0和SM1为工作方式选择位:
REN:允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置- REN=0,则禁止接收。
TB8:在方式2或方式3中,是发送数据的第9位(方式2和3有9位数据),可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。在方式0和方式1中,该位未用到。
RB8:在方式2或方式3中,是接收到数据的第9位(方式2和3有9位数据),作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。
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,可以实现多机通信。
TI:发送中断标志位。当串行发送第8位数据结束时,即串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
RI:接收中断标志位。当串行接收第8位数据结束时,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。
(2)电源控制寄存器PCON
SMOD:波特率倍增位。在串口方式1、方式2、方式3时(波特率不固定或有多个选择),波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。