51单片机串行通信详解:9位异步模式

需积分: 10 1 下载量 41 浏览量 更新于2024-07-13 收藏 3.63MB PPT 举报
"该资源是关于C51单片机串行异步通信接口的讲解,主要涵盖了方式2和方式3的9位异步通信。9位数据帧包括1个低电平起始位,9个数据位和1个高电平停止位。方式2的波特率可设置为fosc/32或fosc/64,而方式3的波特率由SMOD乘以定时器T1的溢出率再除以32来确定。涉及的关键点有TXD和RXD引脚,串行口的特殊功能寄存器如SBUF、SCON以及电源控制寄存器PCON。SBUF作为收发数据的寄存器,而SCON则用于控制工作方式、接收和发送状态。" C51单片机的串行异步通信是微控制器与外界进行数据交换的重要方式之一。在本课程中,重点讲解了51系列单片机的串行接口,特别是在方式2和方式3下的9位异步通信。这种通信模式下,每个数据帧包含一个低电平起始位,接着是9个数据位,最后是1个高电平的停止位。数据传输过程中,TXD(发送数据端)用于发送数据,而RXD(接收数据端)用于接收数据。 在方式2中,波特率可设定为系统的时钟频率fosc除以32或64,这为用户提供了灵活性,可以根据实际需求调整通信速率。而在方式3,波特率的计算更为复杂,它依赖于SMOD(双波特率模式位)的状态和定时器T1的溢出率,公式为2SMOD×(T1的溢出率)/32,这使得波特率可以在更广泛的范围内进行调整。 51系列单片机的串行接口涉及到多个特殊功能寄存器,其中SBUF(串行口数据寄存器)位于地址99H,用于发送和接收数据。值得注意的是,虽然SBUF只有一个地址,但实际上是两个独立的物理寄存器,CPU写入SBUF时会将数据放入发送数据寄存器,然后按照约定的格式依次发送;而读取SBUF时,则是从接收数据寄存器中获取接收到的信息。 SCON(串行口控制寄存器)位于地址98H,它的各个位负责设定串行口的工作模式(SM0和SM1)、多机通信控制(SM2)、接收允许(REN)、发送和接收的第9位(TB8和RB8),以及发送和接收中断标志(TI和RI)。系统复位时,SCON会被清零。TI标志位在数据发送完成后由硬件自动置位,通知CPU下一个数据的发送,但需要通过软件清除,以避免中断发生后无法正常处理新的数据。 此外,PCON(电源控制寄存器)虽然不是直接与串行通信相关的寄存器,但其包含的SMOD位会影响方式3的波特率计算,因此在进行波特率设置时也需要考虑。 总结来说,51单片机的串行通信提供了多种工作模式,特别是方式2和方式3的9位异步通信,允许灵活的波特率配置和数据传输。理解这些工作模式、波特率计算以及相关寄存器的使用,对于有效地进行单片机的串行通信编程至关重要。