二、串行接口控制 1,数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 (1)发送SBU存放待发送的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 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:选择串行口4种工作方式 SM2: 多机控制位,用于多机通讯。 REN: 允许接收控制位,REN=1,允许接收;REN=O,禁止接 收。 TB8: 发送的第9位数据位,可用作校验位和地址/数据标识位 RB8: 接收的第9位数据位或停止位 TI: 发送中断标志,发送一帧结束,=1,必须软件清零 RI: 接收中断标志,接收一帧结束,=1,必须软件清零 3.节电控制寄存器PCON SMOD(PCON.7):波特率加倍控制位。 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:同步移位寄存器方式。用于扩展并行/O接口。 1.一帧8位,无起始位和停止位。 2.RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3.波特率B=fosc/12 如:fosc=12MHz, B=1MHz,每位数据占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=O,启动接收,一帧接收完毕,RI=1。 TXD 写入 (a) SBUF 序 RXD输出 XDXDIXDXDXDXDXDOXDXC TI (b)收 写REN=1 RI=0 序RXD输入 0-0-0-1I1-= 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)引脚串行输出,低位在先,高位 在后;TX①(P3.1)引脚输出移位脉冲,其频率为foc/12; 发送完毕后,中断标志位T为1。如要发送数据,如下所示: MOV SCON,#00H;串行口方式0 MOV SBUF.A ;将数据送出 JNB TI,$ ;等待数据发送完毕
数据从RXD(P3.0)引脚串行输出,低位在先,高位 在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12; 发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕 5. 移位寄存器方式举例