1. 如何选择适当的晶振要是选的不合适,对单片机有何影响
选择晶振,要根据你的单片机工作频率和工作要求来选择,例如89C51单片机振荡器频率范围为0-24Mhz。理论上你可以选择0-24M'的晶振,频率越高,精度越大,处理速度越快。你如果用单片机与PC机进行串口通信,由于PC机的串口波特率是9600(常用值)你选的晶振频率还要满足9600的整数倍。
一般选晶依据如下
第一是它必须在允许的频率范围内
第二是它需要满足特殊应用的要求
第三是尽量低,减少电源需求,减少电磁辐射
2. 如何根据单片机 选择晶振
晶振选择看单片机的能力和你的需要,电路看晶振。
单片机通常都会有一个最高工作频率要求,比如:Atmega48v(低功耗)最高8MHz,Atmega48a最高16Mhz,选择晶振时不要超过这个频率即可。
另外就是看你的需求,比方说,
你需要用到串口通信,那用22.1184MHz或11.0592MHZ,容易实现较高的波特率(19600,19200),
如果你要用到USB通信,那用12Mhz,这个做usb1.0的1.5mhz或2.0的48mhz(锁相环升频),都容易实现。
如果要用来计时,4.096MHz或10.24MHz这类2的N次方,容易被分频,实现精准的计时。
至于晶振边上的匹配电容或电阻,一般都是个定数了,多少频率就配多少的电容或电阻,这也有个匹配关系,你可以网络文库里面找“晶振匹配电容”“晶振电路”,都可以查到相关文档。
3. 单片机工作频率的问题,晶振到底怎么选择
1、最基本的单片机,其机器工作频率为:晶振频率÷12
2、有的单片机(高级一些的)机器工作频率为:晶振频率÷2(或者6等等)
3、以汇编语言为例,单片机执行一条指令需要的时间为1~2个机器周期(机器周期 = 1÷机器工作频率)
4、举例:
一普通单片机晶振12MHz,其机器工作频率为 12MHz÷12 = 1MHz
其机器周期 = 1÷1MHz = 0.000001秒(也就是10的负6次方)
“MOV”指令需要一个机器周期来完成,也就是说执行这条指令需要耗费10的负6次方秒,这么长的时间。
4. STC89C52单片机为什么选用12M的晶振
个人以为,选用12M晶振主要有两个理由,一是运行速度快,二是51单片机内部是12分频,采用12M晶振可以得到1μS的的时钟周期,这样定时计算会比较方便。
5. 单片机在选择晶振时遵循什么原因
晶振大小由MCU决定。(YXC晶振)
晶振高低决定大小了MCU的运行指令速度。(好比,你买电脑,CPU有1.6G,2.2G,3.0G,你会选3.0G的,速度快)
一般程序运算/需处理指令少的,频率高一些低一些无所谓。
通常会考虑的是,频率高,功耗大。测量等用途,频率高准确高。
若选择使用芯片内部RC振荡做频率时,低频会使芯片抗低温效果好一些。
6. 单片机的晶振频率怎么确定
根据使用需要确定,举例:如果要产生标准的串口波特率,应使用11.0592MHz,如果要让51单片机产生整数的时钟频率可使用12MHz或者24MHz单片机。
另外根据单片机本身的参数,不要选择过高的频率,否则会工作不稳定。举例:Atmega8L-8PU,这个单片机后面一个8的意思就是建议最大工作频率不要超过8MHz,如果超过8MHz不大于16MHz,可以选用Atmega8L-16PU。
从内存中取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
(6)单片机晶振选择扩展阅读:
在恒定的环境条件下测量振荡器频率时,振荡器频率和时间之间的关系。这种长期频率漂移是由晶体元件和振荡器电路元件的缓慢变化造成的,可用规定时限后的最大变化率(如±10ppb/天,加电72小时后),或规定的时限内最大的总频率变化(如:±1ppm/(第一年)和±5ppm/(十年))来表示。
基准电压为+2.5V,规定终点电压为+0.5V和+4.5V,压控晶体振荡器在+0.5V频率控制电压时频率改变量为-110ppm,在+4.5V频率控制电压时频率改变量为+130ppm,则VCXO电压控制频率压控范围表示为:≥±100ppm(2.5V±2V)。
高精度与高稳定度,无补偿式晶体振荡器总精度也能达到±25ppm,VCXO的频率稳定度在10~7℃范围内一般可达±20~100ppm,而OCXO在同一温度范围内频率稳定度一般为±0.0001~5ppm,VCXO控制在±25ppm以下。
7. 51单片机一般选用多少的晶振
这个与用途有关,比如说如果你要用到串口,那么就常用11.0592MHz晶振,因为这个频率的晶振分频后可以得到精确的波特率。如果要用到计时,就常用12MHz晶振,这样分频后是个整数,计时更精确。当需要单片机比较快速的处理数据时,通常使用频率更高的晶振,因为单片机的处理速度与晶振频率成正比,晶振频率越高程序运行速度越快,但更高的处理速度就意味着更大的功耗,所以在对耗电量有严格要求的时候,就要考虑用低频晶振。
8. 单片机晶振大小的选择和功耗之间的问题
振荡频率越高,功耗必然越大。所以在满足系统需求的前提下,应该尽量减小晶振的频率。(在ARM等高级一些的内核中,有一个专门的锁相环来控制内部频率,在CPU不活动的时候可以减小晶振频率,以降低功耗)
维持系统正常运作所需的最小晶振不取决于单片机内部电路(单片机本身可以工作在极低的频率下,只是速度极慢),而取决于你的系统需求,比如你的AD需要每ms采样10次,这就需要单片机运行速度较快,肯定就不能用32.768kHz的晶振了。。。而维持系统正常运作所需的最大晶振是取决于单片机内部电路的,要让其稳定工作,一般要保证晶振频率不超过24MHz,否则内部工作状态就有可能紊乱。
总之,如果系统对速度要求不高的话,一般用6MHz或12MHz就可以了。如果需要使用串口与PC连接,可以选用一个11.0592MHz的晶振,便于定时器设置
9. 单片机中最常用的晶振型号有哪些
一般分为贴片和直插两种,直插TO-49封装居多,多是6MHz,8MHz,11.0592MHz,18.432MHz,20MHz。另外还有32.768kHz的用于RTC。贴片晶振的体积与型号主要有5070,6035,5032,4025,3225,2520,1510这七种;其中6035,4025这两种体积不常用。
10. 为什么单片机晶振实际是11.0592MHz,而不是12MHz
因为11.0592MHz能够准确地划分成时钟频率,与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%误差率,但在允许范围,所以没多大影响。
(10)单片机晶振选择扩展阅读:
单片机晶振的选择:
晶振好比单片机的心脏,晶振选择太高不太合适,具体晶振上限是多少,恐怕测不出来,只能按照单片机的要求,一般STC系列单片机上限是35M或40M,stc单凭上写的有,如STC11F16XE 35I-LQFP44G其中35I就是晶振最高35M的工业级芯片。
如果用于串口通信,建议选用11.0592M的或22.184M,选择晶振最主要还是参照说明书。