时钟振荡电路分析
时钟振荡电路用于产生单片机正常工作时所需要的时钟信号。51系列单片机可以采用两种方式的时钟振荡电路:内部振荡电路和外部振荡电路。下面分别介绍这两种方式。
内部振荡电路内部振荡电路采用单片机内部振荡器来产生工作所需的时钟。51系列单片机内部包含一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内反相放大器的输入端口和输出端口。当单片机工作于内部时钟模式的时候,只需在XTAL1引脚和XTAL2引脚连接一个晶体振荡器或者陶瓷振荡器,并通过两个电容后接地即可,如图2.2所示。使用时,对于电容的选择有一定的要求。
图2.2 内部时钟模式
当外接晶体振荡器的时候,接地电容一般选择C1=C2=30±10pF。
当外接陶瓷振荡器的时候,接地电容一般选择C1=C2=40±10pF。
在实际的硬件电路板设计时,应该保证外接的振荡器和电容尽可能靠近单片机的XTAL1和XTAL2引脚。这样可以减少寄生电容的影响,使振荡器能够稳定可靠地为单片机CPU提供时钟信号。如果振荡器连接不当,会导致电路不起振,没有时钟信号产生。
外部振荡电路外部振荡电路是采用外部振荡器产生时钟信号直接供单片机使用。对于不同结构的单片机,外部振荡电路的方式有所不同,如图2.3所示。
图2.3 外部振荡电路
对于普通的8051单片机,外部时钟信号由XTAL2引脚接入后直接送到单片机内部的时钟发生器,而引脚XTAL1则应直接接地。这里需要注意,由于XTAL2引脚的逻辑电平不是TTL信号,因此建议外接一个上拉电阻。
对于CMOS型的80C51、80C52、AT89S52等单片机,其内部的时钟发生器的信号取自于反相放大器的输入端。因此,外部的时钟信号应该接到单片机的XTAL1引脚,而XTAL2引脚悬空即可。
另外,无论采用内部振荡电路还是外部振荡电路,振荡电路的频率应该满足单片机的工作频率要求,比如对于AT89S52单片机,其工作频率为0~33MHz。