MCS-51串行口详解:4种工作模式与控制寄存器SCON

需积分: 4 3 下载量 161 浏览量 更新于2024-08-02 收藏 250KB PDF 举报
"MCS-51的串行口.pdf主要介绍了MCS-51单片机的串行通信接口,包括其结构、工作方式、控制寄存器SCON和PCON的功能,以及如何进行全双工的异步通信。" MCS-51单片机的串行口是一个重要的通信接口,它支持全双工的异步通讯,具备四种不同的工作方式,这些工作方式由控制寄存器SCON中的SM0和SM1位来选择。在不同工作模式下,串行口可以用于数据传输或者扩展并行I/O口。 串行口的结构包括两个独立的接收和发送缓冲器,允许同时进行数据的发送与接收。这两个缓冲器共享同一个特殊功能寄存器SBUF(地址99H),而控制寄存器则由SCON(地址98H)和PCON构成。SCON寄存器中包含了决定串行口行为的关键位: 1. SM0和SM1:这两个位决定了串行口的工作方式。在00状态下,串行口工作在同步移位寄存器方式,常用于扩展I/O口。01表示8位异步收发,波特率可变,由定时器/计数器控制。10和11分别表示9位异步收发,其中波特率在10状态时固定为fosc/64或fosc/32,在11状态时可变。 2. SM2:多机通信控制位。在方式2和方式3中,如果SM2设为1,串行口只接收第9位为1的数据,否则接收所有数据。在方式1下,SM2=1时,只有在接收到停止位时才会使RI置位。而在方式0中,SM2必须保持为0。 3. REN:允许串行接收位。当REN为1时,串行口开始接收数据,设置为0则禁止接收。 4. TB8:在方式2和3中,TB8用作发送的第9位数据,可以作为奇偶校验位或者帧标识。如果TB8设为1,表示发送的是地址帧;设为0,表示发送数据帧。 5. RB8:在方式2和3中,RB8存储接收到的第9位数据,可用于判断数据帧类型或进行奇偶校验。在方式1下,如果SM2为0,RB8表示接收到的停止位。在方式0中,RB8不被使用。 6. TI:发送中断标志位。在方式0中,当发送完第8位数据时,TI由硬件置位;在其他工作方式下,TI在发送停止位开始时置位。TI=1表示一帧数据发送完成,可触发中断,CPU响应后,SBUF会被加载新的数据准备发送。 除了SCON寄存器外,PCON寄存器通常用于控制电源模式和波特率分频因子,但在这里没有详细展开。MCS-51的串行口提供了灵活的通信选项,适用于各种应用场合,通过精细控制SCON寄存器的各个位,可以实现高效的串行通信。