51单片机,T1用作串行口波特率发生器时,设置为工作方式2时,应该给TH1和TL1设定怎

现在波特率是9600,晶振为13.56MHZ
就是具体的TH1,TL1怎么计算的?谢谢

TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2
PCON=0x00; //PCON=0000 0000B,波特率9600
TH1=0xfd; //根据规定给定时器T1赋初值
TL1=0xfd; //根据规定给定时器T1赋初值
TR1=1; //启动定时器T1

TH1和TL1赋值一样就可以 因为定时器方式2是自动重载的

补充回答:TH1和TL1是有表对应的
波特率 TH1和TL1初值
19200 0xfd
9600 0xfd
4800 0xfa
2400 0xf4
1200 0xe8

有什么问题我们再交流

另外TL1的值最好和TH1一样 否则会出现错误
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-26
这样:
TH1=0XFC;//这样设置就可以了,如果你想要相关的软件,我可以发给LZ,那个软件非常好用,不用我们为这个头疼了哦!呵呵
另注:工作方式2是定时器8位自动重载的,所以只用到TH1,而用不到TL1……本回答被提问者采纳
相似回答