可以
可以呀,可以用一个定时器完成,波特率设置时定时初值根据不同的波特率赋初值。
例如:
SCON = 0x50; // MODE=1 SM2=0
REN=1
T2CON = 0x30;
//9600bps (1)
TH2 = 0xff; RCAP2H = 0xff; //focus/32
[65536-(RCAP2H)(RCAP2L)]
TL2 = 0xb8; RCAP2L = 0xb8;
//focus=22.1184M,9600bps
//2400bps (2)
TH2 = 0xfe; RCAP2H = 0xfe; //focus/32
[65536-(RCAP2H)(RCAP2L)]
TL2 = 0xe0; RCAP2L = 0xe0;
//focus=22.1184M,2400bps
在使用之前,先执行TR2=0,重新调用(1)或者(2),再TR2=1
这样就可以进行两种波特率切换。TR2 为相应使用的定时器
发表时间:2002年12月31日13:04:00