51单片机串行口工作在方式0,如何求波特率,及定时器初值!

51单片机串行口工作在方式0,如何求波特率,假设使用的11.0592M晶振那么波特率固定为多少?还有就是定时器初值如何计算(TL1,TH1分别为多少?)。。。跪求

方式0的波特率是系统时钟的十二分之一,为固定波特率,与定时器无关
定时器计算: 溢出中断的定时器 指令周期是 系统时钟的十二分之一 ,16方式
fosc=11.0592M
fcyc=11059200/12 , 定时时间 tmer ms
TH=(65535-timer*1000/fcyc)/256
TL=(65535-timer*1000/fcyc)%256
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-20

有专用的定时器初值和波特率初值计算软件,很好用的,你把邮箱告诉我,我给你发过去

追问

我的邮箱是[email protected] 谢谢

第2个回答  2011-05-20
方式0的波特率是系统时钟的十二分之一,与定时器无关追问

那是不是初始化时就不需要写TL1,TH1的值了。还有就是11.0592M/12=921600,这是它的波特率吗?那如果我要向单片机输入数据,pc机,串口接线的波特率怎么设?貌似没这么高的啊。。。

追答

和PC通信不能用方式0,方式0是移位寄存器模式。

追问

那如果我先要从PC机接收数据,然后在以方式0输出数据到芯片,要怎么办?是先以方式1接收完数据再重新初始化? 我新手刚刚接触串行通信,麻烦你了,谢谢!

追答

PC机个单片机发数据要加一个232电平转换,接到你单片机的串口,用方式1。以方式0输出数据用其他IO口模拟,一个数据,一个CP。

追问

——。怎么模拟啊? 您有没有这方面的源程序啊。。。

本回答被提问者采纳
第3个回答  2011-05-20
方式0是移位寄存器。不是UART