AT89S52单片机的串行接口主要由两个物理上独立的串行数据缓冲器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。 自动控制网www.eadianqi.com版权所有
对外表现为两个引脚:RXD(P3.0)串行输入线和TXD(P3.1)串行输出线,串行口的结构如图1所示。 自动控制网www.eadianqi.com版权所有
自动控制网www.eadianqi.com版权所有 图1 串行口的结构 1.波特率发生器 自动控制网www.eadianqi.com版权所有 主要由T1、T2及内部的一些控制开关和分频器所组成。它提供串行口的时钟信号TXCLOCK(发送时钟)和 RXCLOCK(接收时钟)。相应的控制波特率发生器的特殊功能寄存器有TMOD、TCON、T2CON、PCON、TL1、TH1、TL2、TH2等。 本文来自www.eadianqi.com
2.串行数据缓冲寄存器SBUF 自动控制网www.eadianqi.com版权所有 串行口数据缓冲器(实际上是两个寄存器)通过特殊功能寄存器SBUF来访问。两个缓冲器在物理上是隔离的,共用一个地址99H(特殊功能寄存器SBUF的地址)。 本文来自www.eadianqi.com 写入SBUF的数据储存在发送缓冲器,用于串行发送;从SBUF读出的数据来自接收缓冲器。串行发送时,从片内总线向发送缓冲器SBUF写入数据;串行接收时,从接收缓冲器SBUF中读出数据。因此可通过两条指令来表示: 本文来自www.eadianqi.com MOV SBUF, A ; 启动一次数据发送,可向SBUF再发送下一个数据 自动控制网www.eadianqi.com版权所有 MOV A, SBUF ; 完成一次数据接收,SBUF可再接收下一个数据 自动控制网www.eadianqi.com版权所有 3.串行数据输入/输出引脚 自动控制网www.eadianqi.com版权所有
接收方式:串行数据从RXD(P3.0)引脚输入 本文来自www.eadianqi.com 发送方式下:串行数据通过TXD(P3.1)引脚输出。 自动控制网www.eadianqi.com版权所有 4.串行口控制逻辑 本文来自www.eadianqi.com 发送控制器在波特率作用下,将发送SBUF中的数据由并行转换成串行,逐位地传输到发送端口;同理接收控制器将接收端口的数据由串行转换成并行,存入接收SBUF。如图2。 本文来自www.eadianqi.com
图2 串行口的控制逻辑 |