51串口控制寄存器SCON

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串行口控制寄存器(SCON)

SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为98H,位地址为98H~9FH。寄存器的内容及位地址表示如下:

9FH9EH9DH9CH9BH9AH99H98H

SM0SM1SM2REN TB8RB8TI RI

各位的说明如下:

1) SM0 、SM1——串行口工作方式选择位

其状态组合和对应工作方式为:

SM0 SM1工作方式

0 0 方式0

0 1 方式1

1 0 方式2

1 1 方式3

2) SM2——允许方式2、3的多机通信控制位

在方式2和3中,若SM2=1且接收到的第九位数据(RB8)为1,才将接收到的前8

位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8位数据。若SM2

=0,则不论第九位数据(RB8)为1还是为0,都将前8位送入接收SBUF中,并产

生中断请求。

方式0时,SM2必须置0。

3) REN——允许接收位

REN=0 禁止接收数据

REN=1 允许接收数据

4) TB8——发送数据位8

在方式2、3时,TB8的内容是要发送的第9位数据,其值由用户通过软件来设置。5) RB8——接收数据位8

在方式2、3时,RB8是接收的第9位数据。

在方式1时,RB8是接收的停止位

在方式0时,不使用RB8

6) TI——发送中断标志位

在方式0时,发送完第8位数据后,该位由硬件置位

在其它方式下,于发送停止位之后,由硬件置位。

因此,TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。

TI由软件清“0”。

7) RI——接收中断标志位

在方式0时,接收完第8位数据后,该位由硬件置位。

在其它方式下,于接收到停止位之时,该位由硬件置位。

因此,RI=1表示帧接收结束,其状态既可供软件查询使用,也可请求中断。

RI由软件清“0”。

SCON:串行口控制寄存器

寄存器地址98H,位寻址9FH~98H。

位地址9F9E9D9C9B9A9998

位符号SM0SM1SM2REN TB8RB8TI RI

SM0、SM1:串行口工作方式选择位

SM2:多机通信控制位

REN:允许/禁止串行口接收的控制位

TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。

RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式1中,RB8收到的是停止位,在方式0中不用。

TI——串行口发送中断请求标志位: 当发送完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。

RI——串行口接收中断请求标志位: 当接收完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。

51单片机的简介——串行口、SCON

51单片机有一个全双工串行通讯口,它即可作为UART(Universal Asynchronous Receiver/Transmitter),也可作为一个同步移位寄存器。而且作为UART时,其具有多机通讯能力。

51单片机的串行口由发送控制、接收控制、波特率输入管理和发送/接收缓冲区SBUF(地址为99H)组成。SBUF作为发送和接收缓冲区其实际是分开的两个器件,数据不会相互覆盖,但在对其寻址时都是99H,51单片机会根据读或者写指令操作相应的器件。

站在汇编角度来看,51单片机的串行口通讯操作体现为累加器Acc(地址E0H)和发送/接收缓冲区SBUF之间的数据传递。当我们要发送数据时,对串行口完成初始化设置后,数据由累加器A传入SBUF,然后在发送控制器的控制下组成帧结构,并自动从TXD端口发出,发送结束后置位TI(TI是特殊功能寄存器SCON的可独立寻址位,参见SCON介绍),如果要继续发送就在指令中将TI清0。接收数据时,相当于对串口完成初始化设置后,数据由SBUF传入累加器Acc,在置位允许位(即设置SCON的独立寻址位REN为1)后才开始进行串行接收操作,在接收控制器控制下,通过移位寄存器将串行数据输入SBUF,接收结束后将RI(SCON中可独立寻址位)置位,最后将数据送累加器Acc。

特殊功能寄存器SCON是串行口控制寄存器,用于存放串行口的控制和状态信息,其地址为98H,具有位寻址功能,其各位的结构如下图所示:

其中各个位的功能及含义如下:

SM0、SM1:串行口工作方式选择位,其组合含义如下图所示:

SM2:多机通讯控制位。在方式2和方式3中用于多机通讯控制,在方式2、方式3的接收状态中,若SM2=1,当接收到的第9位(同时系统将第9位值赋予RB8)为0时,舍弃接收到的数据,RI置0;若第9位为1时,将接收到的数据送入接收SBUF中,并将RI 置1;而对于方式1,接收到有效的停止位时,将RI置1。对于方式0,SM2应该置0。

REN:允许接收位。REN置1时允许接收数据,REN由指令置位或者复位。

TB8:第9位发送的数据。多机通讯时(即方式2、方式3)TB8表示主机发送的是地址还是数据,TB8=0表示发送的是数据,TB8=1表示发送的是地址。TB8由指令置位或者复位。

RB8:第9位接收的数据。用来存储接收到的第9位数据,用于标明接收到的数据特征或者用于校验。对于方式0,不使用RB8。

TI:发送中断标志,由硬件设置,由软件清0。方式0串行发送完8位数据后置位,其它方式串行发送停止位后置位。

RI:接收中断标志,由硬件设置,由软件清0。方式0接收完8位数据后置位,其它方式接收到停止位时置位。

51单片机借用了PCON的D7位作为串行波特率系数SMOD控制位,PCON不可位寻址,其地址为87H,当SMOD=1时,波特率加倍。SMOD在PCON中的位置如下图所示:

Love is not a maybe thing. You know when you love someone.

相关文档
最新文档