今天小编要和大家分享的是控制,MCU相关信息,接下来我将从如何实现单片机之间的UART串口通信,n380通讯; →通过安装我们免费提供的虚拟串口软件,用户基于串口的这几个方面来介绍。

控制,MCU相关技术文章如何实现单片机之间的UART串口通信n380通讯; →通过安装我们免费提供的虚拟串口软件,用户基于串口的

控制,MCU相关技术文章如何实现单片机之间的UART串口通信

通信按照基本类型可以分为并行通信和串行通信。并行通信时数据的各个位同时传送,可以实现字节为单位通信,但是通信线多占用资源多,成本高。比如我们前边用到的 P0 = 0xFE;一次给P0的8个IO口分别赋值,同时进行信号输出,类似于有 8 个车道同时可以过去 8 辆车一样,这种形式就是并行的,我们习惯上还称P0、P1、P2和P3为51单片机的4组并行总线。

而串行通信,就如同一条车道,一次只能一辆车过去,如果一个 0xFE 这样一个字节的数据要传输过去的话,假如低位在前高位在后的话,那发送方式就是 0-1-1-1-1-1-1-1-1,一位一位的发送出去的,要发送 8 次才能发送完一个字节。

STC89C52有两个引脚是专门用来做UART串行通信的,一个是 P3.0 一个是 P3.1,它们还分别有另外的名字叫做 RXD 和 TXD,由它们组成的通信接口就叫做串行接口,简称串口。用两个单片机进行 UART 串口通信,基本的演示图如图 11-1 所示。

如何实现单片机之间的UART串口通信

图 11-1 单片机之间UART通信示意图

图中,GND 表示单片机系统电源的参考地,TXD 是串行发送引脚,RXD 是串行接收引脚。两个单片机之间要通信,首先电源基准得一样,所以我们要把两个单片机的 GND 相互连接起来,然后单片机 1 的 TXD 引脚接到单片机 2 的 RXD 引脚上,即此路为单片机 1 发送而单片机 2 接收的通道,单片机 1 的 RXD 引脚接到单片机 2 的 TXD 引脚上,即此路为单片机 2 发送而单片机 1 接收的通道。这个示意图就体现了两个单片机相互收发信息的过程。

当单片机 1 想给单片机 2 发送数据时,比如发送一个 0xE4 这个数据,用二进制形式表示就是 0b11100100,在 UART 通信过程中,是低位先发,高位后发的原则,那么就让 TXD首先拉低电平,持续一段时间,发送一位 0,然后继续拉低,再持续一段时间,又发送了一位 0,然后拉高电平,持续一段时间,发了一位 1??一直到把 8 位二进制数字 0b11100100全部发送完毕。这里就涉及到了一个问题,就是持续的这“一段时间”到底是多久?由此便引入了通信中的一个重要概念——波特率,也叫做比特率。