
单片机应用技术 串行接口 串行口工作方式 顾筠
串 行 接 口 单片机应用技术 3 串 行 口 工 作 方 式 顾 筠

串行接口 串行通信基础 串行口结构及功能 3 串行口工作方式 串行口应用
串行接口 1 串行通信基础 2 串行口结构及功能 串行口工作方式 串行口应用 3 4

3串行口工作方式 ●8051串行口共有4种工作方式,它们分别是方式0、方式1、 方式2和方式3,由串行控制寄存器SCON中的SM0、SM1 决定。 SMO SM1 工作方式 功能说明 00 0 同步移位寄存器输入/输出,波特率固定为fosc/12 0 1 1 8位异步收发,波特率可变(T1溢出率n,n=32或16 10 2 9位异步收发,波特率固定(为fosc/n,n=64或32) 11 9位异步收发,波特率可变(T1溢出率n,n=32或16)
3 串行口工作方式 l8051串行口共有4种工作方式,它们分别是方式0、方式1、 方式2和方式3,由串行控制寄存器SCON中的SM0、 SM1 决定。 SM0 SM1 工作方式 功 能说 明 0 0 0 同步移位寄存器输入/输出,波特率固定为fosc/12 0 1 1 8位异步收发,波特率可变(T1溢出率/n,n=32或16) 1 0 2 9位异步收发,波特率固定(为fosc/n,n=64或32) 1 1 3 9位异步收发,波特率可变(T1溢出率/n,n=32或16)

(1)工作方式0 >在方式0下,串行口作为同步移位寄存器使用。此时SM2、 RB8、TB8均应设置为O。 (1)发送:TI=O时,执行“MOV SBUF,A”启动发送,8 位数据由低位到高位从RXD引脚送出,TXD发送同步脉冲。 发送完后,由硬件置位TI
Ø在方式0下,串行口作为同步移位寄存器使用。此时SM2、 RB8、TB8均应设置为0。 (1)发送:TI=0时,执行“MOV SBUF,A”启动发送,8 位数据由低位到高位从RXD引脚送出,TXD发送同步脉冲。 发送完后,由硬件置位TI。 (1)工作方式0

(1)工作方式0 (2)接收:RI=0,REN=1时启动接收,数据从RXD输入, TXD输出同步脉冲。8位数据接收完,由硬件置位RI。可通过 “MOVA,SBUF”读取数据。 >方式0并非是同步通信方式。它的主要用途是外接同步移位 寄存器,以扩展并行I/O▣。方式0的波特率为fosc/12,即一 个机器周期发送或接收一位数据
(2)接收:RI=0,REN=1时启动接收,数据从RXD输入, TXD输出同步脉冲。8位数据接收完,由硬件置位RI。可通过 “MOV A,SBUF”读取数据。 Ø方式0并非是同步通信方式。它的主要用途是外接同步移位 寄存器,以扩展并行I/O口。方式0的波特率为fosc/12,即一 个机器周期发送或接收一位数据。 (1)工作方式0

(2)工作方式1 >方式1是一帧10位的异步串行通信方式,包括1个起始位 “0”,8个数据位和一个停止位“1”,其帧格式如下: 起始 停止 位0 DO DI D2 D3 D4 D5 D6 D7 位1 方式1数据帧格式
(2)工作方式1 Ø方式1是一帧10位的异步串行通信方式,包括1个起始位 “0” ,8个数据位和一个停止位“1” ,其帧格式如下: 起始 位0 D0 D1 D2 D3 D4 D5 D6 D7 停止 位1 方式1数据帧格式

方式1数据发送 ●当TI=O时,执行“MOV SBUF,A”指令后开始发送。 ·由硬件自动加入起始位和停止位,构成一帧数据,然后 由TXD端串行输出。 ●发送完后,TXD输出线维持在“1”状态下,并将SCON 中的TI置1,表示一帧数据发送完毕
方式1数据发送 l当TI=0时,执行“MOV SBUF,A”指令后开始发送。 l由硬件自动加入起始位和停止位,构成一帧数据,然后 由TXD端串行输出。 l发送完后,TXD输出线维持在“1”状态下,并将SCON 中的TI置1,表示一帧数据发送完毕

方式1数据接收 ●RI=0,REN=1时,接收电路以波特率的16倍速度采样RXD 引脚,如出现由“1”到“0”跳变,认为有数据正在发送。 ●在接收到停止位时,必须同时满足以下两个条件:RI=0和 SM2=0或接收到的停止位为“1”,才把接收到的数据存 入SBUF中。停止位送RB8,同时置位RI。 ●若上述条件不满足,接收到的数据不装入SBUF被舍弃。 在方式1下,SM2应设定为0
方式1数据接收 lRI=0,REN=1时,接收电路以波特率的16倍速度采样RXD 引脚,如出现由“1”到“0”跳变,认为有数据正在发送。 l在接收到停止位时,必须同时满足以下两个条件:RI=0和 SM2=0或接收到的停止位为“1” ,才把接收到的数据存 入SBUF中。停止位送RB8,同时置位RI。 l若上述条件不满足,接收到的数据不装入SBUF被舍弃。 在方式1下,SM2应设定为0

(3)工作方式2和方式3 >工作方式2和方式3都是一帧11位的异步串行通信方式, 两者的差异:方式2波特率固定,方式3波特率可变。 >包括1个起始位“0”,9个数据位和一个停止位“1”, 其帧格式如下: 起始 TB8 停止 DO D2 D3 D4 D6 D7 位0 /RB8 位1 方式2、3数据帧格式
(3)工作方式2和方式3 Ø工作方式2和方式3都是一帧11位的异步串行通信方式, 两者的差异:方式2波特率固定,方式3波特率可变。 Ø包括1个起始位“0” ,9个数据位和一个停止位“1” , 其帧格式如下: 起始 位0 D0 D1 D2 D3 D4 D5 D6 D7 TB8 /RB8 停止 位1 方式2、3数据帧格式

方式2和3的数据发送 ·T=O,发送数据前,由软件设置TB8,可使用如下指令完成: SETB TB8 ;将TB8位置1 CLR TB8 ;将TB8位置0 ●然后再向SBUF写入8位数据,并以此来启动串行发送。一帧 数据发送完毕后,CPU自动将TI置1,其过程与方式1相同
方式2和3的数据发送 lTI=0,发送数据前,由软件设置TB8,可使用如下指令完成: SETB TB8 ; 将TB8位置1 CLR TB8 ; 将TB8位置0 l然后再向SBUF写入8位数据,并以此来启动串行发送。一帧 数据发送完毕后,CPU自动将TI置1,其过程与方式1相同