- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
第 4 章 串行通信
串行通信是一种能把二进制数据按位传送的通信。按照串行数据的同步方式,串行通信可以分为同步通信和异步通信。
4.1 异步通信
4.1.1 概述
在异步通信中,数据通常以字符(或字节)为单位组成字符帧传送.字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收.发送端和接收端可以由各自的时钟来控制数据的发送和接收,互不同步.
在通信中,字符帧格式和波特率是两个重要指标,都可由用户根据实际需要设定.
1、字符帧由以下四部分组成
= 1 \* GB3 ①起始位:位于字符帧开头,只占1位,始终为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息.
= 2 \* GB3 ②数据位:紧跟起始位之后,由用户根据需要可取5位、6位、7位或8位,低位在前高位在后。
= 3 \* GB3 ③奇偶校验位:位于数据位后,仅占一位,用表征串行通信中采用奇校验还是偶校验。
= 4 \* GB3 ④停止位:位于字符帧末尾,为逻辑“1”高电平,通常可取1位,1.5位或者2位,用于表示一帧字符信息已接收完,为下一帧字符作准备。
字符帧之间可以无空闲位,也可以有空位。如下图
异步通信的字符帧格式:
2、波特率是每秒钟传送二进制数码的位数,即比特数,单位是b/s。
4.2 MCS-51的串行接口
4.2.1
MCS-51串行口的结构由以下三部分组成:
1、发送和接收电路
串行口的发送和接收电路如图9-11所示.由图可见,发送电路由“SBUF(发送)”、“零检测器”、和“发送控制器”等电路组成,用于串行口的发送;接收电路由“SBUF(接收)”、“移位寄存器”和“接收控制器”等组成,用于串行口的接收。“SBUF(发送)”和“SBUF(接收)”皆为8位缓冲寄存器,“SBUF(发送)”用于存放将要发送的字符数据;“SBUF(接收)”用于存放串行口接收到的字符。它们共用一个选口地址SBUF(99H),CPU通过执行不同的指令对它们进行存取。
CPU执行MOV A,SBUF指令可以产生“读SBUF”脉冲,把“SBUF(接收)”中接收到的字符通过内部总线传送到累加器A中;执行MOV SBUF,A后累加器中欲发送的字符进入SBUF(发送),发送控制器在发送时钟TXC作用下自动在发送字符前后添加起始位、停止位和其它控制位,然后在SHIFT(移位)脉冲作用下逐位从TXD线上串行发送字符帧。
2、串行口控制寄存器SCON和PCON
MCS-51对串行口(字符帧、波特率)的控制是通过SCON和PCON实现的。SCON字节地址为98H。
= 1 \* GB2 ⑴串行口控制寄存器SCON的各个位定义如下:
位地址
9F
9E
9D
9C
9B
9A
99
98
SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
见下表
见下表
多机通信
0:单机对单
1:多机通信
接收控制
0:禁止
1:允许
发送数据第9位
接收数据第9位
发送中断标志
接收中断标志
SM0、SM1:串行口工作方式选择位用于设定串行口工作方式,其定义如下:
SM0、SM1
相应工作方式
功能描述
所用波特率
00
方式0
8位移位寄存器
Fosc/12
01
方式1
10位异步收发
由定时器控制
10
方式2
11位异步收发
Fosc/64或osc/32
11
方式3
11位异步收发
可变
其中fosc 为晶振频率
SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当SM2=0则只有接收到有效停止位时,RI才置1,并自动发出串行口中断请求(设中断是开放的)。在方式2或方式3当SM2=0时,串行口以单机发送或接收方式工作,TI和RI以正常方式被激活,但不会引起中断请求;当SM2=1且接收到的第九位数据RB8=1时,RI才置1,并向CPU提出中断请求。
REN:接收允许控制位。由软件置位即SETB REN以允许接收;由软件清0即CLR REN来禁止接收。
TB8:发送数据第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。
RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若SM2=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
TI: 发送中断标志,用于指示一帧信息是否发送完。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。
RI: 接收中断标志位,用于指示一帧信息
文档评论(0)