串口通讯方式2与3:接收数据处理与中断机制

需积分: 22 0 下载量 69 浏览量 更新于2024-08-17 收藏 1.01MB PPT 举报
51单片机中的串行口通信,尤其是方式2和方式3,是一种常见的数据传输手段。串行通信与并行通信相对,它通过一条传输线逐位传输数据,具有传输线少、节省资源的优点,特别适合于长距离或资源受限的场合,如利用电话网进行数据交换。 串行口UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是单片机实现串行通信的关键组件。在51系列单片机中,有两种主要的串行通信方式: 1. 方式2:数据从右到左移入输入移位寄存器,每接收完一个数据字节(通常8位),如果RI(Receive Interrupt, 接收中断标志)为0,且SM2寄存器的相应位为0(或者接收到的第9位数据为1),则数据会被放入接收缓冲器SBUF和RB8(接收数据的第9位),同时置RI为1,请求CPU中断。这种方式下,接收过程需要CPU的干预,数据控制相对较复杂。 2. 方式3:类似于方式2,但数据接收过程更为自动化,当RI被置位时,无需额外条件就触发中断,使得接收更及时。然而,如果接收条件不满足,可能导致数据丢失,且不会自动置位RI。 串行通信有异步和同步两种模式。异步通信中,发送和接收设备各自使用独立的时钟,字符间的传输是异步的,而字符内部的位则是同步的,例如使用起始字符(如SOH)、结束字符(如EOT)来定义帧结构。同步通信则要求发送方和接收方时钟同步,确保字符同步,以减少错误和提高效率,可以采用外同步(通过外部信号控制)或自同步(根据特定的同步字符检测)的方法。 面向字符的同步格式通常包括同步字符(如SYN),序始字符(如SOH)用于标识数据的开始,源地址、目标地址和路由信息等标题信息,数据块由多个字符组成,可能以文始字符(如STX)或组终字符(如ETB或ETX)分隔。这些特性使得串行通信在多机系统、计算机网络等应用场景中发挥重要作用,尽管速度相对较慢,但在节省硬件资源和简化通信协议方面具有优势。