51单片机教程:SCON串口控制寄存器详解与UART通信

需积分: 16 0 下载量 105 浏览量 更新于2024-08-20 收藏 729KB PPT 举报
"SCON串口控制寄存器详解及单片机串口通信介绍" 在单片机编程中,SCON串口控制寄存器是一个非常重要的组成部分,它用于设置和控制单片机的串行通信。SCON寄存器包含了多个位,每个位都有特定的功能,对串行通信的工作方式进行配置。 1. SCON寄存器结构: - SM0(位7)和SM1(位6):这两位置用于选择串行通信的工作方式。根据SM0和SM1的不同组合,单片机支持四种不同的工作模式: - 模式0:移位寄存器模式,波特率由fosc/12决定。 - 模式1:8位数据位,无校验位,波特率由定时器产生。 - 模式2:9位数据位,带奇偶校验位,波特率由fosc/32或fosc/64决定。 - 模式3:同模式2,但用于多机通信。 2. SM2(位5):此位仅在模式2和模式3中启用多机通信功能。通常在单机通信中不设置。 3. REN(位4):接收使能位。当REN置1时,允许串行接口接收数据;反之,置0则禁止接收。 4. TB8(位3)和RB8(位2):在模式2和模式3中,这两个位用于传输和接收奇偶校验位。可以配置为偶校验、奇校验、强制0或强制1。 5. TI(位1):发送中断标志。当发送完一个字符的停止位时,TI由硬件自动置1,表示发送完成。需要通过软件清零TI以准备下一次发送。 6. RI(位0):接收中断标志。在接收到一个字符的停止位中间时刻,RI由硬件置1,表示接收完成。同样,需要通过软件清除RI,以便处理下一个接收的字符。 串行通信中常用的波特率包括300、600、1200、2400、4800、9600、19200等,波特率定义了每秒传输的位数,是衡量数据传输速率的单位。定时器1经常被用作波特率发生器,特别是在需要精确波特率控制时,可以通过设置定时器的初值和工作模式来产生所需的波特率。 对于初学者,了解并掌握这些基础知识非常重要,因为串口通信是单片机与外部设备(如PC或其他单片机)进行数据交换的常见方式。通过编写串口程序,例如向电脑发送数据并接收加1后的数据,可以深入理解串口通信的机制和中断处理过程。