单片机为什么需要晶振?外接晶体的值可以随意选择呢?

电子说

1.3w人已加入

描述

首先解释一下单片机为什么需要晶振。

晶振是什么?全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器。通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。而单片机在运行的时候,需要一个脉冲信号,做为自己执行指令的触发信号,可以简单的想象为:单片机收到一个脉冲,就执行一次或多次指令。

第二个问题,是不是外接晶体的值可以随意选择呢?

当然不是,这就像不同的发动机有不同的最大功率一样,每种型号的的单片机都有最大能接受的晶体频率。先说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的波特率,在串口通信中较常用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
kf20171202 2020-12-21
0 回复 举报
解释的很清楚!!!!!!!!! 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分