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,亦可引起串行接纳中止。
- REN串行接纳答应位:0——制止接纳;1——答应接纳。
- TB8:在方法2、3中,TB8是发送机要发送的第9位数据。
- RB8:在方法2、3中,RB8是接纳机接纳到的第9位数据,该数据正好来自发送机的TB8。
- TI:发送中止标志位。发送前有必要用软件清零,发送过程中TI坚持零电平,发送完一帧数据后,由硬件主动置1。如要再发送,有必要用软件再清零。
- RI:接纳中止标志位。接纳前,有必要用软件清零,接纳过程中RI坚持零电平,接纳完一帧数据后,由片内硬件主动置1。如要再接纳,有必要用软件再清零。
② 电源操控寄存器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种作业形式作进一步介绍。