串行接口与串行通信技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章串行接口及串行通信技术
U 难点
•串行通信的四种工作方式
要求
掌握:
•串行通信的控制寄存器
•串行通信的工作方式0和方式1
了解:
•串行通信的基础知识
•串行通信的工作方式2和方式3
9.1 串行通信的基础知识
9.2 MCS-51单片机串行通信的控制寄存器
9.3 MCS-51单片机串行通信工作方式
9.1 串行通信的基础知识
串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
9.1.1 数据传送
单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
1. 字符帧的帧格式
字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。如图9.1所示:
1)起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。
2)数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3)奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。
4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。
图9.1 字符帧格式
异步串行通信的字符帧可以是连续的,也可以是断续的。连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。而断续的异步串行通信,则是在一帧结束之后不一定接着传送下一个字符,不传送时维持数据线的高电平状态,使数据线处于空闲。其后,新的字符传送可在任何时候开始,并不要求整倍数的位时间。
2. 传送的速率
串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是1波特。即:1波特=1bps(位/秒)
在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。
9.1.2 数据转换
MCS-51单片机只能处理8位的并行数据,所以在进行串行数据的发送时,要把并行数据转换为串行数据。而在接收数据时,只有把接收的串行数据转换成并行数据,单片机才能进行处理。
能实现这种转换的设备,称为通用异步接收发送器(Universal Asynchronous Receiver /Transmitter)。这种设备已集成到单片机部,称为串行接口电路。串行接口电路为用户提供了两个串行口缓冲寄存器(SBUF),一个称为发送缓存器,它的用途是接收片总线送来的数据,即发送缓冲器只能写不能读。发送缓冲器中的数据通过TXD引脚向外传送。另一个称为接收缓冲器,它的用途是向片总线发送数据,即接收缓冲器只能读不能写。接收缓冲器通过RXD引脚接收数据。因为这两个缓冲器一个只能写,一个只能读,所以共用一个地址99H。串行接口电路如图9.2所示。
图9.2 MCS-51串行口寄存器结构
9.2 MCS-51单片机串行通信的控制寄存器
1. 串行口控制寄存器(SCON)
SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为98H
位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号SM0SM1SM2REN TB8RB8TI RI
各位的说明如下:
1)SM0、SM1——串行口工作方式选择位
其状态组合和对应工作方式为:
SM0 SM1 工作方式
00 方式0
0 1 方式1
10 方式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”。
2. 电源控制寄存器(PCON)
PCON不可位寻址,字节地址为87H。它主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。其容如下:
与串行通Array
信有关的只有D7位
(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。当系统复位时,SMOD=0。
3. 中断允许控制寄存器(IE)
此寄存器在第六章已经介绍过,在此不作赘述。
9.3 MCS-51单片机串行通信工作方式
串行口的工作方式由SM0和SM1确定,编码和功能如表8-1所示。
表8-1 串行口工作方式