要设置51系列单片机串口工作于所需工作方式,应是对哪个专用寄存器进行操作
1 SBUF数据缓冲寄存器是5 1 系列微控制器上串行端口通信的重要寄存器。实际上,它包含两个部分,一个用于发送,另一个用于接收。
当CPU写信给SBUF时,它实际上将其写入发送寄存器。
阅读SBUF时,正在从接收寄存器中读取数据。
接收器采用双重缓冲设计,以防止在CPU处理先前的数据时避免复制数据时,可以防止数据读取接收的数据。
对于发射机,发送数据时CPU更具侵略性,因此通常不需要双重缓冲。
2 状态控制寄存器SCON用于设置串行通信的操作模式,并指示串行端口的接收和传输状态。
SCON要么是字节地址,要么是地址,其地址为9 8 小时,覆盖地址范围从9 8 h到9 fh。
3 在控制寄存器PCON中,最高位SMOD与串行端口控制相关联。
SMOD是波特率控制位。
如果串行端口在模式1 或模式2 中运行,则将T1 配置为Baud Rate Generator,并且将SMOD设置为1 ,则BAUD速率会加倍。
示例初始化:```cvoid_init(void){tmod | = 0x2 0; //将计时器T1 设置为模式2 TL1 = 0xFD; //将波特率设置为9 6 00bpsth1 = 0xfd。
PCON = 0x00; // Set SMOD to 0SCON = 0x7 0. t1 }``
单片机C语言中 SBUF可以直接传递数吗?
通过外观来查看本质,让我们谈谈SBUF是什么。MicroController 5 1 SBUF(称为SFR)是特殊功能的寄存器。
它本质上是两个物理寄存器的寄存器,或更确切地说是共享登记册的登记册。
When writing SBUF, you access the serial output register, reading SBUF, you access the serial entry register.另一方面,应注意的是,串行输出寄存器的起草可以导致数据发送数据的启动,该数据已链接到输出注册表的控制逻辑。
因此,直接读写SBUF是正常的,您可以写下想要的。
当然,编写SBUF寄存器将发送串行端口。
特定的串行端口行为还取决于串行端口的配置。