C51单片机串行通信:移位寄存器与波特率解析

需积分: 10 1 下载量 172 浏览量 更新于2024-07-13 收藏 3.63MB PPT 举报
"这篇资源主要介绍了C51单片机中的串行通信方式,特别是关于移位寄存器的工作模式,以及与串行接口相关的硬件结构和寄存器功能。" 在C51单片机中,串行通信是通过单片机的串行接口实现的,通常涉及到RXD(接收数据)和TXD(发送数据)两条线路。在描述中提到的“方式0——移位寄存器”是一种同步通信方式,主要用于扩展I/O接口。在这个模式下,串行数据通过RXD线输入和输出,同步时钟则由TXD线提供。数据传输遵循低位在前,高位在后的规则,且长度固定为8位。值得注意的是,这种方式的波特率是固定的,等于系统时钟频率fosc除以12。 C51串行口提供了四种不同的工作方式:方式0、方式1、方式2和方式3。方式0是同步移位寄存器方式,其波特率直接由系统时钟决定;而方式1、2和3则是异步通信方式,其中方式1和3的波特率由定时器T1来设定,而方式2的波特率直接来源于系统时钟。这四种方式分别适用于不同的应用场景,如简单的扩展I/O或需要不同波特率的通信场合。 在硬件层面,MCS-51串行口包含了一些特殊功能寄存器,如SBUF(串行数据缓冲区)、SCON(串行控制寄存器)和PCON(电源控制寄存器)。SBUF是用于收发数据的寄存器,具有两个物理寄存器,但共用同一个地址。发送数据时,CPU将数据写入SBUF,然后由发送时钟控制依次发送数据位,包括起始位、数据位和停止位。接收数据时,SBUF会读取移位寄存器中的接收到的数据,并根据接收到的起始位和数据位触发中断标志RI。 SCON寄存器是控制串行通信的核心,其中的SM0和SM1位用来选择工作方式,SM2位用于多机通信控制,REN位控制是否允许接收,TB8和RB8位分别代表发送和接收的第9位数据,而TI和RI是发送和接收的中断标志。TI在发送完数据后会被硬件自动置位,当CPU响应中断后,需要通过软件清零TI,否则会影响后续的数据发送。 C51单片机的串行通信涉及到一系列复杂的硬件和软件机制,包括移位寄存器操作、波特率设定、中断处理和多种工作模式的选择,这些都是理解和应用C51单片机进行串行通信时需要掌握的关键知识点。