串行口内部结构示意简图
传输周期:输入移位寄存器的时钟周期。由图可知: ? SMOD=0时,传输周期时间t=T1溢出周期×32μs; ? SMOD=1时,传输周期时间t=T1溢出周期×16μs。
5、发送与接收信息,当向SBUF发“写”命令时(执行MOV SBUF,A指令),就是向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行口接收中断标志位RI〔SCON.0〕=0的条件下,置允许接收位REN(SCON.4)=1就会启动接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使
RI=l。
当发出读SBUF命令时(执行MOV A,SBUF指令),即是由接收缓冲器(SBUF)取出信息通过8051内部总线送CPU。
(对于发送缓冲器,因为发送时CPU是主动的,不会发生重迭错误,所以不需要用双缓冲结构来保持最大传送速率。 )
四、串行通信控制寄存器
8051串行口是一个可编程接口,对它的编程只用两个控制字分别写入特殊功能寄存器:
1、 串行口控制寄存器SCON(98H)
1) SM0、SM1: 用于定义串行口的操作模式, 两个选择位对应 4 种模式,见表
其中fOSC是振荡器频率, UART为通用异步接收和发送器的英文缩写。 2) SM2:多机控制位,用于多机通讯。
3) REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。
4) TB8:发送的第9位数据,可用作校验位和地址/数据标识位