弗原創IT教育中心 51单片机的串行接口 SBUF 门移位寄存器5脚 (发) TXD A 发送控制器TI 累 内加 部 器 波特率发生器 接收控制器RI SBUF 引脚 (收) 移位寄存器 RXD 去申请中断
51单片机的串行接口 SBUF (发) SBUF (收) 发送控制器 TI 接收控制器 RI 移位寄存器 波 特 率 发 生 器 T1 ≥ 1 A 累 加 器 ( 门 )移位寄存器 RxD TxD 去申请中断 引脚 引脚 CPU内部
弗原創IT教育中心 串行口特殊功能寄存器 1、串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入SBF,CPU将自动启动和 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据。 指令M0 V SBUF,A启动一次数据发送,可向SBUF 再发送下一个数 指令M0VA,SBUF完成一次数据接收,SBUF可再 接收下一个数
一、串行口特殊功能寄存器 1、串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入 ,只需将发送数据输入SBUF,CPU将自动启动和 完成串行数据的发送; 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入 将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据 中读出接收数据。 指令 MOV SBUF,A 启动一次数据发送,可向SBUF 再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再 接收下一个数
弗原創IT教育中心 、串行控制寄存器SCON ScoN D7 D6 D5 D4 D3 DI DO 位名称|SM0SM1|SM2 RENTB8RB8T1 位地址9FH9EH9DH9cH9BH9AH99H|g8H 功能 工作方式多机通信接收发送接收发送接收 选择 控制允许第9位第9位中断中断 ① SMO SM 串行口工作方式选择位。 ②SM——多机通信控制位。 ③REN 允许接收控制位。REN=1,允许接收。 ④TB8 方式2和方式3中要发送的第9位数据。 ⑤RB8 方式2和方式3中要接收的第9位数据。 ⑥TI 发送中断标志 ⑦RI 接收中断标志
2、串行控制寄存器 串行控制寄存器SCON SCON D7 D6 D5 D4 D3 D2 D1 D0 位名称 SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 功能 工作方式 选择 多机通信 控制 接收允许 发送 第9位 接收 第9位 发送中断 接收中断 ① SM0 SM1 —— 串行口工作方式选择位。 ② SM2 —— 多机通信控制位。 ③ REN —— 允许接收控制位。REN=1,允许接收。 ④ TB8 —— 方式2和方式3中要发送的第9位数据。 ⑤ RB8 —— 方式2和方式3中要接收的第9位数据。 ⑥ TI —— 发送中断标志。 ⑦ RI —— 接收中断标志
弗原創IT教育中心 ① SMO SM1串行口工作方式选择位。其状态组合所对应 的工作方式如表6-2所示。 SM0SM1工作方式功能说明 00 同步移位寄存器输入输出,波特率固定为fosc/12 01 8位UART;波特率可变(T溢出率,n=32或16) 9位UART,波特率固定为 Ifsc/n,(n=64或32) 9位UART,波特率可变(T溢出率/,n=32或16) ②SM2--多机通信控制位。在方式2和方式3中,若 SM2=1,且RB8(接收到的第9位数据)=1时,将接收到的前8位 数据送入SBUF,并置位RI产生中断请求;否则,将接收到的 8位数据丢弃。而当SM2=0时,则不论第9位数据为0还是为 1,都将前8位数据装入SBUF中,并产生中断请求。 在方式0时,SM2必须为0
① SM0 SM1——串行口工作方式选择位。其状态组合所对应 的工作方式如表6-2所示。 SM0 SM1 工作方式 功能说明 00 0 同步移位寄存器输入/输出,波特率固定为fosc/12 01 1 8位UART;波特率可变(TI溢出率/n,n=32或16) 10 2 9位UART,波特率固定为fosc/n,(n=64或32) 11 3 9位UART,波特率可变(T1溢出率/n,n=32或16) ② SM2------多机通信控制位。在方式2和方式3中,若 SM2=1,且RB8(接收到的第9位数据)=1时,将接收到的前8位 数据送入SBUF,并置位RI产生中断请求;否则,将接收到的 8位数据丢弃。而当SM2=0时,则不论第9位数据为0还是为 1,都将前8位数据装入 SBUF中,并产生中断请求。 在方式0时,SM2必须为0
弗原創IT教育中心 ③REN--允许接收控制位。REN位用于对串行数据 的接收进行控制:REN=0,禁止接收;REN=1,允许 接收。该位由软件置位或复位。 ④TB8--方式2和方式3中要发送的第9位数据。在方 式2和方式3时,TB8是发送的第9位数据。在多机通信 中,以TB8位的状态表示主机发送的是地址还是数据 TB8=0表示数据,TB8=1表示地址。该位由软件置位 或复位。 TB8还可用于奇偶校验位。 ⑤RB8--方式2和方式3中要接收的第9位数据。在方 式2或方式3时,RB8存放接收到的第9位数据
③REN------允许接收控制位。REN位用于对串行数据 的接收进行控制:REN=0,禁止接收;REN=1,允许 接收。该位由软件置位或复位。 ④TB8------方式2和方式3中要发送的第9位数据。在方 式2和方式3时,TB8是发送的第9位数据。在多机通信 中,以TB8位的状态表示主机发送的是地址还是数据: TB8=0表示数据,TB8=1表示地址。该位由软件置位 或复位。 TB8还可用于奇偶校验位。 ⑤RB8------方式2和方式3中要接收的第9位数据。在方 式2或方式3时,RB8存放接收到的第9位数据