首页 理论教育单片机串行通信控制寄存器

单片机串行通信控制寄存器

【摘要】:在MCS-51单片机中,与串行通信有关的控制寄存器有3个,分别是串行控制寄存器SCON、串行口电源控制寄存器PCON和中断允许寄存器IE。1.串行控制寄存器SCONSCON是一个可位寻址的专用寄存器,用于串行数据通信的控制。2.串行口电源控制寄存器PCONPCON主要是为CHMOS型单片机8051的电源控制而设置的。表9-4串行口电源控制器寄存器在电源控制寄存器PCON中只有1位SMOD与串行口工作有关,SMOD是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。

在MCS-51单片机中,与串行通信有关的控制寄存器有3个,分别是串行控制寄存器SCON、串行口电源控制寄存器PCON和中断允许寄存器IE。

1.串行控制寄存器SCON

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

表9-2 SCON寄存器内容及位地址

各位的功能说明如下:

1)SM0、SM1:工作方式选择位,工作方式选择如表9-3所示。

表9-3 串行口工作方式选择

2)SM2:多机通信控制位。多机通信在方式2和方式3下进行,因此SM2位主要用于方式2和方式3。当串行口以方式2或方式3接收时,如SM2=1,则只有当接收到的第9位数据(RB8)位“1”,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前8位数据丢弃。而当SM2=0时,则不论第9位数据为0还是为1,都将前8位数据装入SBUF中并产生中断请求。

在方式0时,SM2必须为0。

3)REN:允许接收位。REN用于对串行数据的接收进行控制,REN=0,禁止接收;REN=1,允许接收。该位由软件置位或复位。

4)TB8:发送数据位8。在方式2或方式3时,TB8的内容是要发送的第9位数据,其值由用户通过软件设置。在双机通信时,TB8一般作为奇偶校验位使用;在多机通信中,常以TB8位的状态表示主机发送的是地址帧还是数据帧,而且一般约定TB8=0为数据帧,TB8=1为地址帧。

5)RB8:接收数据位8。在方式2或方式3时,RB8存放接收到的第9位数据,代表着接收数据的某种特征(与TB8的功能类似),故应根据其状态对接收数据进行操作。(www.chuimin.cn)

6)TI:发送中断标志。在方式0时,发送完第8位数据后,该位由硬件置位。在其他方式下,于发送停止位之前,由硬件置位。因此TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。TI位由软件清0。

7)RI:接收中断标志。在方式0时,接收完第8位数据后,该位由硬件置位。在其他方式下,当接收到停止位时,该位由硬件置位。因此RI=1表示帧接收结束,其状态既可供软件查询使用,也可以请求中断。RI位由软件清0。

由图9-3可知,串行口的中断,无论是接收中断还是发送中断,当CPU响应中断都进入0023H程序地址,执行串行口的中断服务子程序,并由软件来判别是接收中断还是发送中断。而中断标志必须在中断服务子程序中加以清除,以防止出现一次中断、多次响应的现象。在系统复位时,SCON的所有位均被清0。

2.串行口电源控制寄存器PCON

PCON主要是为CHMOS型单片机8051的电源控制而设置的。其单元地址为87H,不可位寻址。PCON的内容如表9-4所示。

表9-4 串行口电源控制器寄存器

在电源控制寄存器PCON中只有1位SMOD与串行口工作有关,SMOD是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。系统复位时SMOD=0。

3.中断允许寄存器IE

中断允许寄存器IE的单元地址为0A8H,位地址为0AFH~0A8H,内容如表9-5所示。

表9-5 中断允许寄存器IE

注:ES为串行中断允许位,ES=0,禁止串行中断;ES=1,允许串行中断。