是通过T2CON中的 RCLK , TCLK 来选择哪个定时器作为波特率发生器的.
RCLK -- 接收时钟: 1时选择定时器2为接收时钟, 0时选择定时器1为接收时钟
TCLK -- 发送时钟: 1时选择定时器2为发送时钟, 0时选择定时器1为发送时钟
所以在上电后或复位后, 默认是用定时器1作波特率发生器
这个串口的初始化(主要是波特率)
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被初始化(赋初值),则认为是波特率发生器。