8051串口编程以多种不同的波特率串行传输和接收数据,但如何提高8051中数据传输的波特率呢?
答案 0 :(得分:1)
设置串口波特率
配置串口模式后,程序必须配置串口波特率。这仅适用于串行端口模式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)