51单片机串行口--同步移位寄存器

嵌入式系统 时间:2016-11-26来源:网络
MCS-51单片机的串行口具有两条独立的数据线——发送端TXD和接收端RXD,它允许数据同时往两个相反的方向传输。一般通信时发送数据由TXD端输出,接收数据由RXD端输入。

MCS-51单片机的串行口既可以用于网络通信,亦可实现串行异步通信,还可以用作同步移位寄存器。如果在串行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。

MCS-51单片机的串行接口是一个全双工通信接口,它有两个物理上独立的接收、发送缓冲器SBUF,可以同时发送和接收数据。但是发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。两个缓冲器共用一个地址(99H)。

数据通信的基本概念

常用于数据通信的传输方式有单工、半双工、全双工和多工方式。

根据同步方式,串行数据通信有两种形式,如图5-5所示。

MCS-51的串行口控制寄存器

在完成串行口初始化后,发送数据时,采用MOV SBUF,A指令,将要发送的数据写入SBUF,则CPU自动启动和完成串行数据的输出;接收数据时,采用MOV A,SBUF指令,CPU就自动将接收到的数据从SBUF中读出。

控制MCS-51单片机串行接口的控制寄存器有两个——特殊功能寄存器SCON和PCON,用以设置串行端口的工作方式、接收/发送的运行状态、接收/发送数据的特征、数据传输率的大小,以及作为运行的中断标志等,其格式如下:

① 串行口控制寄存器SCON。SCON的字节地址是98H,位地址(由低位到高位)分别是98H一9FH。SCON的格式如下:

SM0、SMl:串行口工作方式控制位。

00——方式0;01——方式1;

10——方式2;11——方式3。

SM2:仅用于方式2和方式3的多机通信控制位。

发送机SM2=1(要求程控设置)。

当为方式2或方式3时:

接收机 SM2=1时,若RB8=1,可引起串行接收中断;若RB8=0,不引起串行接收中断。SM2=0时,若RB8=1,可引起串行接收中断;若RB8=0,亦可引起串行接收中断。

② 电源控制寄存器PCON。PCON的字节地址为87H,无位地址,其格式如下:

PCON是为在CMOS结构的MCS-51单片机上实现电源控制而附加的,对于HMOS结构的MCS-51系列单片机,除了第7位外,其余都是虚设的。与串行通信有关的也就是第7位,称作SMOD,它的用处是使数据传输率加倍。

SMOD:数据传输率加倍位。在计算串行方式1,2,3的数据传输率时;0表示不加倍;1表示加倍。

其余有效位说明如下。

GF1、GF2:通用标志位。

PD:掉电控制位,0表示正常方式,1表示掉电方式。

IDL:空闲控制位,0表示正常方式,1表示空闲方式。

除了以上两个控制寄存器外,中断允许寄存器IE中的ES位也用来作为串行I/O中断允许位。当ES=1,允许 串行I/O中断;当ES=0,禁止串行I/O中断。中断优先级寄存器IP的PS位则用作串行I/O中断优先级控制位。当PS=1,设定为高优先级;当PS =0,设定为低优先级。

工作方式

MCS-51 单片机可以通过软件设置串行口控制寄存器SCON中SM0(SCON.7)和SMl(SCON.6)来指定串行口的4种工作方式。串行口操作模式选择如表5-2所示。

表5-2 串行口操作模式选择表

SM0 SM1

模 式

功 能

波 特 率

0 0

0

同步移位寄存器

fOSC/12

0 1

1

8位UART

可变(T1溢出率)

1 0

0

9位UART

fOSC/64或fOSC/32

1 1

1

9位UART

可变(T1溢出率)

其中,fosc是振荡器的频率,UART为通用异步接收和发送器的英文缩写。下面对这4种工作模式作进一步介绍。

1 2

关键词: 51单片机串行口同步移位寄存

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版