串行通信又可分为异步通信和同步通信两种。MCS-51系列单片机采用异步通信方式。
1.异步通信
在异步通信中,数据是一帧一帧传送的。异步通信如图6-2所示,这种通信是以帧为单位进行数据传输,一帧数据传送完成后,可以接着传送下一帧数据,如图6-2a所示,也可以等待,等待期间为空闲位(高电平),如图6-2b所示,存在空闲位是异步通信的特征之一。
图6-2 异步通信的帧数据格式
a)无空闲位 b)存在空闲位
(1)帧数据格式
串行通信时,数据是以“帧”为单位传送的,帧数据有一定的格式。帧数据的格式如图6-2所示。从图中可以看出,一帧数据由起始位、数据位、奇偶校验位和停止位组成。
起始位:表示一帧数据的开始,起始位一定为低电平。当单片机要发送数据时先送一个低电平(起始位)到外部设备,外部设备接收到起始信号后,马上开始接收数据。
数据位:它是要传送的数据,紧跟在起始位后面。数据位的数据可以是5~8位,传送数据时是从低位到高位逐位进行的。
奇偶校验位:该位用于检验传送的数据有无错误。奇偶校验是检查数据传送过程中是否发生错误的一种校验方式,分为奇校验和偶校验。奇校验是指数据和校验位中“1”的总个数为奇数,偶校验是指数据和校验位中“1”的总个数为偶数。
以奇校验为例,若单片机传送的数据中有偶数个“1”,为保证数据和校验位中“1”的总个数为奇数,奇偶校验位应为“1”,如果在传送过程中数据产生错误,其中一个“1”变为“0”,那么传送到外部设备的数据和校验位中“1”的总个数为偶数,外部设备就知道传送过来的数据发生错误,会要求重新传送数据。
数据传送采用奇校验或偶校验均可,但要求发送端和接收端的校验方式一致。在帧数据中,奇偶校验位也可以不用。(www.xing528.com)
停止位:它表示一帧数据的结束。停止位可以是1位、1.5位或2位,但一定为高电平。一帧数据传送结束后,可以接着传送第二帧数据,也可以等待,等待期间数据线为高电平(空闲位)。如果要传送下一帧,只要让数据线由高电平变为低电平(下一帧起始位开始),接收器就开始接收下一帧数据。
(2)MCS-51系列单片机的几种帧数据方式
MCS-51系列单片机在串行通信时,根据设置的不同,其传送的帧数据有以下四种方式:
1)方式0。称为同步移位寄存器输入/输出方式,它是单片机通信中较特殊的一种方式,通常用于并行I/O接口的扩展,这种方式中的一帧数据只有8位(无起始位、停止位)。
2)方式1。在这种方式中,一帧数据中有1位起始位、8位数据位和1位停止位,共10位。
3)方式2。在这种方式中,一帧数据中有1位起始位、8位数据位、1位可编程位和1位停止位,共11位。
4)方式3。这种方式与方式2相同,一帧数据中有1位起始位、8位数据位、1位可编程位和1位停止位,它与方式2的区别仅在于波特率(数据传送速率)设置不同。
2.同步通信
在异步通信中,每一帧数据发送前要用起始位,结束时要用停止位,这样会占用一定的时间,导致数据传输速度较慢。为了提高数据传输速度,在计算机与一些高速设备进行数据通信时,常采用同步通信。同步通信的帧数据格式如图6-3所示。
图6-3 同步通信的帧数据格式
从图中可以看出,同步通信的数据后面取消了停止位,前面的起始位用同步信号代替,在同步信号后面可以跟很多数据,所以同步通信传输速度快。但由于在通信时要求发送端和接收端严格保持同步,这需要用复杂的电路来保证,所以单片机很少采用这种通信方式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。