什么是晶振
![2ec363237d5a6b3152d786ff7b790f3d.png](https://i-blog.csdnimg.cn/blog_migrate/10c15b82fb26d072e82196cf42616ea2.jpeg)
晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。
对于单片机来说晶振是很重要的,可以说是没有晶振就没有时钟周期,没有时钟周期就无法执行程序代码,那样的话单片机就无法工作。接下来跟随小编详细的了解一下单片机晶振的电路原理及作用。
单片机晶振的必要性
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12x(1/12)us,也就是1US。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引|入一个新的概念:指令周期。所谓指令周期就是指执行条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1US。而DJNZ指令是双周期指令,所以执行一次要2US。如果该指令需要执行500次,正好1000us,也就是1ms。
机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
单片机晶振常见问题
1、PIC单片机振荡电路中如何选择晶体?
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒,往往用低电压以求低功耗的系统,这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振,这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡,在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易,在振荡回路中,晶体既不能过激励,容易振到高次谐波上,也不能欠激励不容易起振,晶体的选择至少必须考虑、谐振频点、负载电容、激励功率、温度特性长期稳定性。
2、如何判断电路中晶振是否被过分驱动?
电阻RS常用来防止晶振被过分驱动,过分驱动晶振会渐渐损耗减少晶振的接触电镀这将引起频率的上升,可用一台示波器检测,OSC,输出脚,如果检测一非常清晰的正弦波且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动,相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动,这时就需要用电阻RS来防止晶振被过分驱动,判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止,通过此办法就可以找到最接近的电阻RS值。
3、晶振电路中如何选择电容?
(1)C1,C21,因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。
(2)在许可范围内,C1,C2值越低越好,C值偏大虽有利于振荡器的稳定,但将会增加起振时间。
(3)应使C2值大于C1值,这样可使上电时,加快晶振起振。