当前位置:首页 > 单片机 > 单片机
[导读]串行口工作于方式2和方式3时,被定义为9位异步通信接口。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据和1位停止位。

串行口工作于方式2和方式3时,被定义为9位异步通信接口。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据和1位停止位。方式2、方式3的帧格式如下图所示。

 

方式2的波特率由下式确定

 

1.方式2发送

发送前,先根据通信协议由软件设置TB8(如双机通信时的奇偶校验位或多机通信时的地址/数据的标志位),然后将要发送的数据写入SBUF,即可启动发送过程。串行口能自动把TB8取出,并装入到第9位数据位的位置,再逐一发送出去。发送完毕,则使TI位置1。

串行口方式2和方式3发送时序如下图所示。

 

例1:方式2发送在双机串行通信中的应用。

下面的发送中断服务程序是在双机串行通信中,以TB8作为奇偶校验位,本程序采用偶校验发送。处理方法为数据写入SBUF之前,先将数据的偶校验位写入TB8(设第2组的工作寄存器区的RO为发送数据区地址指针)。

 

2.方式2接收

当串行口的SCON寄存器的SMO、SM1两位为10,且REN=1时,允许串行口以方式2接收数据。接收时,数据由RXD端输入,接收11位信息。当位检测逻辑采样到RXD引脚从1到O的负跳变,并判断起始位有效后,便开始接收一帧信息。在接收完第9位数据后,需满足以下两个条件,才能将接收到的数据送入SBUF(接收缓冲器)。

(1)RI=0,意味着接收缓冲器为空。

(2)SM2=0或接收到的第9位数据位RB8=1。

当满足上述两个条件时,接收到的数据送入SBUF(接收缓冲器),第9位数据送入RB8,且RI置1。若不满足这两个条件,接收的信息将被丢弃。

串行口方式2和方式3接收时序如下图所示。

 

例2:方式2接收在双机通信中的应用。

本例对例1发送的数据进行偶校验接收,程序如下(设1组寄存器区的RO为数据缓冲区指针)。

方式3

当SM0、SM1两位为11时,串行口被定义工作在方式3。方式3为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2相同。

方式3的波特率由下式确定

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

1)C口的高4位和低4位相互独立,均可被设置为输入口或输出口。2)数据单向传输,即被设置为输出的引脚只能输出数据,反之亦然。3)输入和输出操作均不需要选通(即应答)信号。4)输出具有锁存功能,而输入不锁存。

关键字: 8255A 方式0 方式1 方式2

AT89S51最小系统制做

关键字: at89s51 最小系统

AT89c51与AT89S51单片机的区别

关键字: at89c51 at89s51 单片机

AT89S51的由来及与C51的区别

关键字: at89s51 C51 区别

AT89S51芯片的日渐流行,对我们单片机初学者来说是一个大好消息。因为做个AT89S51编程器非常容易,而且串行编程模式更便于做成在线编程器,给频繁烧片,调试带来了巨大的方便。

关键字: at89s51 编程器

串行口的工作方式0为同步移位寄存器输入/输出方式。这种方式并不是用于两个AT8 9 S51单片机之间的异步串行通信,而是用于串行口外接移位寄存器,以扩展并行I/O口。

关键字: at89s51 串行口 工作方式0

1.访问程序存储器的控制信号AT89S51单片机访问片外扩展的程序存储器时,所用的控制信号有以下3种。(1) ALE——用于低8位地址锁存控制。(2) PSEN(的反)——...

关键字: at89s51 操作时序 程序存储器

AT89S51单片机受引脚数的限制,PO口兼用数据线和低8位地址线,为了将它们分离出来,需要在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373、74LS573等。

关键字: at89s51 锁存器 外部地址

在实际的单片机应用系统设计中,往往既需要扩展程序存储器,又需要扩展数据存储器(I/O接口芯片中的寄存器也作为数据存储器的一部分),如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,并且使程序存储器和数...

关键字: at89s51 地址空间 存储器

AT89S51单片机采用总线结构,使扩展易于实现

关键字: at89s51 系统扩展结构
关闭