51单片机脉冲为什么是11.0592而不是12

如题所述

这个问题与单片机的串口波特率有关。

51单片机的串口工作方式有4种,方式0、方式2的波特率是固定的,只与单片机的系统晶振频率有关。方式1、方式3波特率是可变的,不止与系统晶振频率有关,还与定时器T1有关。

因为51单片机的波特率发生器只能由定时器T1或定时器T2产生,由于我们使用的是STC98C52单片机,是标准51架构的单片机没有T2模块。)

对于串口通信来讲最常用的是方式1,以下以串口的模式1来分析。由串口发送原理知,串口发送一次,实际上要发,1位起始位,8位数据位,1位结束位。

由于使用模式1没有第9位数据位,所以,串口发送一次,一共要发10位数据,有一点要注意,在串口发送数据时,两次发送之间是没有累计误差的。

扩展资料

串口工作在方式1下的波特率计算公式为:

Baud = ((2^SMOD)/32)*(T1定时器溢出率)

其中SMOD为寄存器PCON的最高位,当SMOD = 0时,串口通信方式1、2、3波特率正常;当SMOD = 1时,串口通信方式1、2、3波特率加倍。即SMOD = 0为例。

之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。

所以,要掌握单片机的各种功能,再加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,逐个学习、体会实际的单片机系统的秘密。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-11
51单片机的工作频率是外部晶振提供的吧。可以用11.0592MHZ的外部晶振,也可以用12MHZ的,主要看实际的需要。我们经常见到的采用11.0592MHZ晶振,就是为了提供标准的串口波特率,这一点一楼已经说的很明白了。但是并不是说不能用12MHZ的晶振,如果想要得到标准的时钟频率,还是要用12MHZ晶振。
第2个回答  推荐于2017-11-24
串口通信时比较容易分频成常见的波特率。
11.0592MHz = 192*57600 = 384*28800 = 576*19200 = 1152*9600
12MHz无法整除,只能依靠接收方的容错能力硬挺……本回答被提问者采纳
第3个回答  2012-01-11
同意楼上,其实就是为了可以精确的设置多种波特率