串行接口控制 冲器SBUF 发送SBUF和接收SBUF共用一个地址99H (1)发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。 发送指令: MOV SBUF, A 2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOVA,SBUF
二、串行接口控制 1. 数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 (1)发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。 发送指令: MOV SBUF,A (2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF
2.串行口控制/状态寄存器SCON(98H SMO SMI SM2 REN TB8 RB8 TI RI SM0,SM1:选择串行口4种工作方式。 SM2:多机控制位,用于多机通讯 REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接 收 TB8:发送的第9位数据位,可用作校验位和地址/数据标识位 RB8:接收的第9位数据位或停止位 TI:发送中断标志,发送一帧结束,TI=1,必须软件清零 RI:接收中断标志,接收一帧结束,RI=1,必须软件清零 3.节电控制寄存器PCO SMOD(PCON7):波特率加倍控制位 SMOD=1,波特率加倍,SMOD=0,则不加倍
2.串行口控制/状态寄存器SCON(98H) SM0 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:选择串行口4种工作方式。 SM2:多机控制位,用于多机通讯。 REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接 收。 TB8: 发送的第9位数据位,可用作校验位和地址/数据标识位 RB8: 接收的第9位数据位或停止位 TI: 发送中断标志,发送一帧结束,TI=1,必须软件清零 RI: 接收中断标志,接收一帧结束,RI=1,必须软件清零 3.节电控制寄存器PCON SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,则不加倍
8.1.3串行接口的工作方式 SM0,SM1选择四种工作方式。 方式0:同步移位寄存器方式。用于扩展并行IO接口。 1.一帧8位,无起始位和停止位。 2.RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3.波特率B=foc/12 如:fosc=12MHz, B=MHz,每位数据占1μs
SM0,SM1选择四种工作方式。 一、方式0:同步移位寄存器方式。用于扩展并行I/O接口。 1. 一帧8位,无起始位和停止位。 2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3. 波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1s。 8.1.3 串行接口的工作方式
4.发送过程:写入SBUF,启动发送,一帧发送结束,T=1 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1 TXD 发送时 L「「「「「L「L「 写入 SBUF 序Rx输出二 X Do X DIX.2 D3 X D4 X DS X DX D,X (b)收写REN=1 RIO 序RXD输入 RI
4. 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。 发 送 时 序 写入 SBUF RXD输出 TXD TI D0 D1 D2 D3 D4 D5 D6 D7 写REN=1 RI=0 RXD输入 RI 接 收 时 序 (a) (b)
5.移位寄存器方式举例 数据从RXD(P3.0)引脚串行输出,低位在先,高位 在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12; 发送完毕后,中断标志位T为1。如要发送数据,如下所示: MOV SCON#00H;串行口方式0 MOV SBUEA ;将数据送出 JNB TIS 等待数据发送完毕
数据从RXD(P3.0)引脚串行输出,低位在先,高位 在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12; 发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕 5. 移位寄存器方式举例