标题:
单片机上的晶振为什么有时是12MHZ,有时是11.0592MHZ?有什么区别么?
[打印本页]
作者:
小公子
时间:
2018-1-6 01:14
标题:
单片机上的晶振为什么有时是12MHZ,有时是11.0592MHZ?有什么区别么?
这主要是对脉冲时间有要求的时候就要别的,因为串行口的波特率对每个脉冲时间有严格的要求,那个11.0562的经过分频后刚好和电脑上的波特率可以同步。而平时对时序要求不严的就用12M。因为每条指令完成的时间都是晶振频率的1/12的整数倍。
标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以先12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的单片机)。
11.0592M是因为在进行通信时,12M频率进行串行通信不容易实现标准的波特率,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M
作者:
17年的51菜鸟
时间:
2018-1-6 08:25
我是被你的问题吸引来看的,我也玩了一小段时间的单片机了,的确,11.0592M就是为了在通信时容易实现,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M。
作者:
kucy850710
时间:
2018-1-6 10:41
11.0592是精密晶振,12M也可以使用,但是波特率达不到9600
作者:
yzwzfyz
时间:
2018-1-6 21:12
板凳的说法很典型,看上去很有道理。
想想,11.0592,一定工作于11.0592吗?测过没有?
12M,一定工作于12M吗,波特率真的达不到9600?
如果变成了9606又会如何呢?
事实上,市场上的晶振多数不准。1、2毛钱一个的晶振常常偏差0.1%以上。在这个基础再讨论两者的区别意义就不大了。
但好的晶振,确如板凳所言。
对于串口通讯,是允许波特率有差异的,所以在要在9600附近即可。从这个意义上讲,11.0592与12.00可以随用。(当然参数还是不同的,并不是直接代换)。
如果两台机都用12M,或两台机都用11.0592,会比一台用12,一台用11.0952好一些。但也不是不能用。
楼主有此一问,是由于对串口通讯理解的不深,理解透了,就无所谓12或11.0592了。
只有一些特殊的场合才会出现只能11.0592而不能用12.00。主要是在硬件分频时,或是在有相位要求的场合,还有高速通讯。
作者:
17年的51菜鸟
时间:
2018-1-7 07:59
yzwzfyz 发表于 2018-1-6 21:12
板凳的说法很典型,看上去很有道理。
想想,11.0592,一定工作于11.0592吗?测过没有?
12M,一定工作于12 ...
我对这个问题比较感兴趣,有幸看到了你的回复,真的学到了!可以少走一些弯路了。
作者:
旁德克斯勒
时间:
2020-5-21 09:56
11059200/12也不等于9600啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1