51单片机串口通信

51单片机串口通信

串行通信

串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
在这里插入图片描述
在这里插入图片描述

串行通信的特点

传输线少,长距离传送时成本低,但数据的传送控制比并行通信复杂。

串行通信分类

异步通信

通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送设备和接收设备的时钟尽可能一致。
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。
异步通信是一种很常用的通信方式(效率很低)异步通信在发送字符时,发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节后面加上一个停止位。

好处:通信设备简单、便宜,但传输效率较低。

在这里插入图片描述
在这里插入图片描述

同步通信

所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。此时传输数据的位之间均为“位间隔”的整数倍,同时传送的字符间不留间隙,即“保持位同步”关系,也保持字符同步关系。发送方对接收方的同步可以通过外同步和自同步两种方法实现。

在这里插入图片描述

串行通信的传输方向

  • 单工:单向的(或者是收或者是发)
  • 半双工:收/发不可同时进行
  • 全双工:收发可同时进行
    在这里插入图片描述

串行通信常用校验方式

奇偶校验

奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。

代码和校验

代码和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错。否则则认为传送过程中出现了差错。

循环冗余检验

通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、粗出去的完整性校验等。这种校验方法纠错能力强。

传输速率

比特率:指每秒钟传输二进制代码的位数单位是位/秒

串行通信接口标准

RS-232C接口

RS-232C是EIA(美国电子工业协会)1969年修订的RS-232C标准
在这里插入图片描述

传输距离与传输速率的关系

串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关。当传输线使用每0.3m(约1英尺)有500PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减少。

串行接口的结构

串行口工作

  1. 设置T1的工作方式(编程TMOD寄存器)
  2. 计算T1的初值,装载TH1、TL1
  3. 启动T1(编程TCON中的TR1位)
  4. 确定串行口控制(编程SCON寄存器)
  5. 如需串行口在中断方式工作时,要进行中断设置编程IE寄存器

串行通信相关寄存器

在这里插入图片描述
在这里插入图片描述
(SCON可位寻址)
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_52802869/article/details/113752984