问个51单片机T1作为波特率发生器的问题

2025-02-24 02:24:31
推荐回答(2个)
回答1:

是通过T2CON中的 RCLK , TCLK 来选择哪个定时器作为波特率发生器的.

RCLK -- 接收时钟: 1时选择定时器2为接收时钟, 0时选择定时器1为接收时钟
TCLK -- 发送时钟: 1时选择定时器2为发送时钟, 0时选择定时器1为发送时钟

所以在上电后或复位后, 默认是用定时器1作波特率发生器

回答2:

这个串口的初始化(主要是波特率)

TMOD = 0x20;
SCON = 0x50;
TH1 = 0xF3;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
这个是作为定时器的初始化
TMOD = 0x10;
TH1 = 0x0FF;
TL1 = 0x9C;
EA = 1;
ET1 = 1;
TR1 = 1;
综上,T作为波特率还是定时器,主要看程序中是否出现SCON、PCON的初始化。SCOM和PCON被初始化(赋初值),则认为是波特率发生器。