产品选型

51单片机11.0592 51单片机为什么常用110592M的晶振

小编 2025-09-04 产品选型 23 0

51单片机为什么常用110592M的晶振

在用51单片机设计电路时,经常会用到

12M

11.0592M 的晶振,有时候11.0592M的晶振用的频率会更高,为什么一些比较有经验的工程师会更喜欢用11.0592M呢?我总结了一下,与大家分享。

在使用单片机的UART 功能时,需要设置通信的波特率,而一般使用11.0592M的晶振时波特率计算出来都比较准确,没有误差。如果使用12M或者其他数值的晶振时都存在误差,由于这个原因,所以在使用UART通信 或者使用定时器 时常用11.0592M的晶振。

为此,我特意计算了一下,使用11.0592M的晶振和12M的晶振在模式0和模式1下分别计算TH0和TH1的初值,计算表格如下:

波特率计算

从表中可以看出,在晶振为11.0592M晶振下计算出来的波特率误差为0 ;而使用12M晶振计算出来的波特率存在误差,误差最大达到了8.51%。

所以如果要使用UART功能和定时器功能,就优先使用11.0592M 晶振吧。

欢迎大家关注“玩转嵌入式”头条号。更多电子设计分享,敬请期待。

为什么51单片机爱用110592MHZ晶振

其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

其二:用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根据公式算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,用定时器取0XFD,实际波特率10000,一般波特率偏差在4%左右都是可以的,所以也还能用STC90C516 晶振12M 波特率9600,倍数时误差率6.99%,不倍数时误差率8.51%,数据肯定会出错。 这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。 用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。

51单片机有关晶振的问题总结

晶振

二、在设计51单片机系统PCB时,晶振为何被要求紧挨着单片机?

原因如下:晶振是通过电激励来产生固定频率的机械振动,而振动又会产生电流反馈给电路,电路接到反馈后进行信号放大,再次用放大的电信号来激励晶振机械振动,晶振再将振动产生的电流反馈给电路,如此这般。当电路中的激励电信号和晶振的标称频率相同时,电路就能输出信号强大,频率稳定的正弦波。整形电路再将正弦波变成方波送到数字电路中供其使用。

问题在于晶振的输出能力有限,它仅仅输出以毫瓦为单位的电能量。在 IC(集成电路) 内部,通过放大器将这个信号放大几百倍甚至上千倍才能正常使用。

晶振和 IC 间一般是通过铜走线相连的,这根走线可以看成一段导线或数段导线,导线在切割磁力线的时候会产生电流,导线越长,产生的电流越强。现实中,磁力线不常见, 电磁波却到处都是,例如:无线广播发射、电视塔发射、手机通讯等等。晶振和IC之间的连线就变成了接收天线,它越长,接收的信号就越强,产生的电能量就越强,直到接收到的电信号强度超过或接近晶振产生的信号强度时,IC内的放大电路输出的将不再是固定频率的方波了,而是乱七八糟的信 号,导致数字电路无法同步工作而出错。

所以,画PCB(电路板)的时候,晶振离它的放大电路(IC管脚)越近越好。

三、单片机电路晶振不起振原因分析

遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?

① PCB板布线错误;②单片机质量有问题;③ 晶振质量有问题;④负载电容或匹配电容与晶振不匹配或者电容质量有问题;⑤PCB板受潮,导致阻抗失配而不能起振;⑥晶振电路的走线过长;⑦晶振两脚之间有走线;⑧外围电路的影响。

相关问答

【求MCS 51单片机 高手!回答正确了加100分!程序设计1在内部RAM...

[最佳回答]太集中了,慢慢答,得用几天.

51单片机 常用的晶振是什么频率?

11.0592MHz也有12MHz,速度要求高的可以用24MHz,使用11.0592MHz的频率主要是因为这个频率下串口以9600bps传输数据的误码率是最低的,12MHz主要是因为用这个频率...

51单片机 内部时钟电路,里面的振荡器是RC振荡器吗 - 懂得

51单片机内部时钟电路,里面的振荡器不是RC振荡器51单片机时钟电路原理2.4.2时钟电路和时序1.时钟电路在MCS51单片机片内有一个高增益的反相放大器...

11. m晶振脚距是多少?

标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以先12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的...

为啥 单片机 的晶振都选用 11.0592 M?

一般单片机与其他设备通信时,基本上选用的晶振都是11.0592M,因为它理论上产生的波特率误差为0,只是晶振频率受外界影响会有点误差。一般单片机与其他设备通信...

单片机 中TH0=-4608/256;TL0=-4608%6;//( 11.0592 =4608)--5m...

[最佳回答]4608计算机采用的是补码,对于8位计算机它和(65536-4608)的值是一样的,51的6M晶振单周期指令时间为12/fsoc=2us,所以(50000*2us)=100ms,11.0592M晶....

单片机 四种方式初值计算公式?

定时中断初值计算方法是:1、确定定时时间化为微妙t。2、晶振频率以m为单位f。3、计算初值:s=65536-t*f/12比如11.0592m晶振,定时10毫秒t=10*1000=10000us...

stc12c5a60s2 单片机 延时函数怎么写晶振 11.0592 Mhz和12M?

软件延时并不精确,我都是用一个叫dpjxjl的小软件自动生成,具体准确否,没校验过,以1MS例:STC的1T单片机12MHz:voiddelay(void)//误差0us{unsigned....

单片机 晶振频率12M与 11.0592 的区别?

如果是不涉及到时钟或者整个系统只有一个频率的话,一般这两种不同的晶振在一定场合能替换着用,感觉不出来如果是不涉及到时钟或者整个系统只有一个频率的话,...

单片机 c语言的延时程序500ms?

51单片机执行一个语句相当于24个晶振周期,for(j=110;j>0;j--);这个语句每次执行相当于执行4个语句,也就是96个晶振周期,执行110次,你用的单片机应该是11.0592...

猜你喜欢