如何提高8051中数据传输的波特率



在8051中,串口编程以许多不同的波特率串行传输和接收数据,但是如何提高8051中数据传输的波特率呢?

设置串行端口波特率

配置串行端口

模式后,程序必须配置串行端口波特率。这仅适用于串行端口模式 1 和 3。波特率根据模式 0 和模式 2 时的振荡器频率确定。在模式 0 中,波特率始终为振荡器频率除以 12。这意味着如果您的晶体是 11.059Mhz,模式 0 波特率将始终为 921,583 波特率。在模式 2 中,波特率始终是振荡器频率除以 64,因此 11.059Mhz 晶体速度将产生 172,797 的波特率。

在模式 1 和 3 中,波特率由定时器 1 溢出的频率决定。计时器 1 溢出的频率越高,波特率越高。有许多方法可以使定时器1以决定波特率的速率溢出,但最常见的方法是将定时器1置于8位自动重新加载模式(定时器模式2)并设置一个重新加载值(TH1),该值导致定时器1以适合生成波特率的频率溢出。

为了确定必须放置在TH1中的值以生成给定的波特率,我们可以使用以下等式(假设PCON.7是明确的)。

TH1 = 256 - ((Crystal / 384) / Baud) 

如果设置了PCON.7,则波特率实际上加倍,因此等式变为:

TH1 = 256 - ((Crystal / 192) / Baud)

http://www.8052.com/tutser.phtml

最新更新