历史上的今天
今天是:2025年06月03日(星期二)
2020年06月03日 | 单片机为什么需要晶振?外接晶体的值可以随意选择呢?
2020-06-03 来源:eefocus
首先解释一下单片机为什么需要晶振。

晶振是什么?全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器。通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。而单片机在运行的时候,需要一个脉冲信号,做为自己执行指令的触发信号,可以简单的想象为:单片机收到一个脉冲,就执行一次或多次指令。
第二个问题,是不是外接晶体的值可以随意选择呢?
当然不是,这就像不同的发动机有不同的最大功率一样,每种型号的的单片机都有最大能接受的晶体频率。先说51,它能够外接的最大晶体是24M,AVR单片机能够外接的最大晶振是16M。更高级的可编程芯片,例如FPGA,ARM,可以达到几百M,不过暂时不在我们的考虑范围之内。

第三个问题,为什么51最大可外接24M(不同厂家的值略有不同),而AVR等高级单片机只有16M?这设计到单片机的指令结构。
51单片机用的是复杂指令集,最直接的体现就是,它需要12个时钟周期来运行一条指令,当它外接12M晶体时,时钟周期为1/12M秒,运行一条简单的指令需要1/1M秒;而430和AVR单片机使用的是精简指令集,只需要一个时钟周期就能运行一条指令。这样看来,51最快的指令执行速度也就是2M每秒,而430或者AVR单片机的指令执行速度是16M每秒。

第四个问题,是不是所有的单片机都需要晶体?这就要回到我们最初的目的,我们给单片机接上晶体的目的是什么?

获取稳定的脉冲!那只要有合适的方法生成稳定的脉冲,那就可以去掉外接的晶体。举例,AVR单片机,它在单片机内部集成了一个RC振荡电路,通过对熔丝位进行编程,可以内部生产1M,2M,4M,8M的震荡频率,进而替代相应的晶体。
缺点是振荡电路在环境比较恶劣的情况下,不是很稳定,对一些计时要求比较严格的仪器和设备,不建议使用。如果对时间要求不高,多一个毫秒少一个毫秒无所谓的话,那就可以放心用了。
第五个问题,12M晶体和11.0592M晶体有什么区别?
呵呵,其实单从指令的执行速度来看,区别不大。采用11.0592M的唯一目的是为了获得精准的串口通信频率,简称就是波特率,它能够精准的生成9600的波特率,在串口通信中较常用。
上一篇:开发单片机时需掌握的四个基本技巧
下一篇:MCU的内存分配详解
史海拾趣
|
用普通的元件(不能用IC,555可以用),普通的开关(不是按钮)即只有两种态,接通/闭合; 要求:开关被打到闭合壮态时,LED亮10分钟后熄灭, 开关被打到接通壮态时,LED亮10分钟后熄灭, & ...… 查看全部问答> |
|
跪求大虾:什么是向eeprom写数据时的backup/recovery机制(急!!!!!!在线等) 刚接触单片机开发,请教向eeprom写数据时的backup/recovery机制,今天编程的时候遇到一个问题是这样的,经理要求写一个函数: byte_assign(unsigned char* pbDest,unsigned char bVlue) { ......... (由于不明白问题,所以还无法实现) } 作用是把bV ...… 查看全部问答> |
|
版主,STM32FSMCmultimaster的问题还挂着吗 st的errata说stm32的fsmc在multi master访问时会bus fault,这个问题不知是否仍存在于新批号的芯片中?我目前的项 ...… 查看全部问答> |
|
请教各位老师\\大侠\\专家.前两周一直调试5527这款单片机ADC12部分.查找了TI的资料手册.在论坛上找了很多资料.参考代码.ADC12内部参考电压怎么设置都没输出.用万用表量都是0.3~0.7V左右.请赐教. #include<msp430f5527.h> void main() ...… 查看全部问答> |
|
Proteus 7.7汉化 破解版 免费下载Proteus VSM CPU Models: 新增单片机PIC18F8680, PIC18F8585MSP430F2112, MSP430F2122, MSP430F2132, MSP430F2232, MSP430F2252, MSP430F2272MSP430F233, MSP430F235, MSP430F247, MSP430F248, MSP430F249, MSP430F ...… 查看全部问答> |
|
为什么我的ccs V5.1装完之后只能选择通用的器件这一种?而不能选择MSP430的具体型号的? 跟视频教程中的不一样,跟后续的调试下载有关系嘛? [ 本帖最后由 open82977352 于 2012-5-24 19:29 编辑 ]… 查看全部问答> |




