单片机是可编程器件,在执行程序指令时与单片机的机器周期有着直接的关系,而机器周期是由单片机的时钟频率/晶振决定的。所以,只要单片机的晶振出现问题,那么单片机就无法工作。单片机具有内部晶振和外部晶振,本文介绍单片机的外部晶振。
1 如何判断晶振是否工作
对于普通的外部晶振而言,在设计电路时需要设计两个负载电容,帮助晶振起振。负载电容的取值范围为(15-30)pF,晶振电路如下图所示。
这种晶振内部一般没有滤波整形电路,其输出波形为正弦波,可以通过示波器测量晶振引脚的波形。其波形为正弦波,频率与所使用晶振的频率虽有波动但相差不大,则晶振是好的,可以正常起振。晶振波形如下图所示。
2 单片机问题的排查方法
单片机电路在初上电时可能会存在一些问题,导致电路不能正常工作,在排查问题时可以按照如下几个步骤执行:
1)检查单片机电源是否正常。单片机电源是首先要检查的,可以用万用表或者示波器检查单片机的电源、输入电源是否正常,再检查电源和GND之间的阻值,查看是否短路,如果问题排除,则向下执行。
2)检查晶振是否正常起振。根据文中第一部分的介绍检查晶振是否起振。
3)通过简单程序验证。如果硬件电路一切正常,那么就需要通过简单的程序来验证单片机是否正常,常用的方法就是用程序点亮一颗LED或者控制GPIO输出高低电平。
有些高速板或者对时钟频率要求比较高的板子,可能会采用有源晶振,这种晶振内部一般会有整形滤波电路,晶振输出的波形为方波,也可以使用示波器来检查其波形和频率。