这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51单片机模拟串口的波特率计算公式看不懂,贴在下面了。请大神解释

共3条 1/1 1 跳转至

51单片机模拟串口的波特率计算公式看不懂,贴在下面了。请大神解释

助工
2014-03-10 11:11:14     打赏

后续1:看了各位高手的回复: 看书上,1200用T1: 0Xe8.实际验证:错误

         用软件,0xe7.实际验证,错误。

 看到有的例程上,2400 用的是0xe8.验证:正确。 为什么呢?

代码如下:

TMOD=0x22; /*定时器1为工作模式2(8位自动重装),0为模式2(8位
自动重装) */
PCON=00;


TR0=0; //在发送或接收才开始使用
TF0=0; 

/**问题在这里**//
TH0=256-96; //9600bps 就是 1000000/9600=104.167微秒 执行的imer是
//       104.167*11.0592/12= 96     ;

//经验证,这样得出的TH0确实是9600. 如果改成1200.那么1000000/1200*11.0592/12=768.

TH0=256-768=-512.不对啊。且不说负值。TH0也就是8位大小。这根本不行啊。直接将TH0=0XE8,也不行。

请问,如果要是1200,程序怎么改???
TL0=TH0;
ET0=1;
EA=1;


助工
2014-03-10 14:05:06     打赏
2楼
对了,我用的是模拟串口。 上面所述的波特率软件计算。书上的计算都不好使。继续请高手指点

助工
2014-03-11 10:21:39     打赏
3楼
继续求解,模拟串口的如何运算呢?

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]