时钟电路用于发生AT89S51单片机作业时所必需的操控信号。AT89S51单片机的内部电路正是在时钟信号的操控下,严格地按时序履行指令进行作业。
时钟电路设计
AT89S51单片机各功用部件的运转都以时钟操控信号为基准,有条有理、一拍一拍地作业。
因而,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机体系的安稳性。常用的时钟电路有两种方法,一种是内部时钟方法,另一种是外部时钟方法。
1.内部时钟方法
AT89S51内部有一个用于构成振动器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个安稳的自激振动器,图2-13是AT89S51内部时钟方法的电路
。
电路中的电容C1和C2的典型值一般挑选为30 pF。该电容的大小会影响振动器频率的凹凸、振动器的安稳性和起振的快速性。晶体振动频率的规模一般是在1.2~12 MHz。晶体的频率越高,体系的时钟频率越高,单片机的运转速度也就越快。但反过来,运转速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小。晶体和电容应尽或许装置得与单片机芯片接近,以削减寄生电容,更好地确保振动器安稳、可靠地作业。为了进步温度安稳性,应选用温度安稳性能好的电容。
AT89S51常挑选振动频率6 MHz或12 MHz的石英晶体。跟着集成电路制作工艺技术的开展,单片机的时钟频率也在逐步进步,AT89S51和AT89S52芯片的时钟最高频率已达33MHz。
2.外部时钟方法
外部时钟方法运用现成的外部振动器发生脉冲信号,常用于多片AT89S51单片机一起作业,以便于多片AT89S51单片机之间的同步,一般为低于12 MHz的方波。
外部时钟源直接接到XTAL1端,XTAL2端悬空,其电路如图2-14所示
。
3.时钟信号的输出
当运用片内振动器时,XTAL1、XTAL2引脚还能为使用体系中的其他芯片供给时钟,但需添加驱动才能。其引出的方法有两种,如图2-15所示
。
机器周期、指令周期与指令时序
单片机履行的指令均是在CPU操控器的时序操控电路的操控下进行的,各种时序均与时钟周期有关。
1.时钟周期
时钟周期是单片机时钟操控信号的根本时刻单位。若时钟晶体的振动频率为fosc,则时钟周期Tosc= l/fosc如fosc=6 MHz,Tosc=166.7 ns。
2.机器周期
CPU完结一个根本操作所需求的时刻称为机器周期。单片机中常把履行一条指令的进程分为几个机器周期。每个机器周期完结一个根本操作,如取指令、读或写数据等。AT89S51单片机的每12个时钟周期为一个机器周期,即Tcy=12/fosc。若fosc=6 MHz,Tcy=2 μs; fosc=12 MHz,Tcy=1μs。
AT89S51的一个机器周期包含12个时钟周期,分为6个状况:Sl~S6。每个状况又分为两拍:Pl和P2。因而,一个机器周期中的12个时钟周期表明为SIP1、SIP2、S2Pl、S2P2、…、S6P2,如图2-16所示
。
3.指令周期
指令周期是履行一条指令所需的时刻。AT89S51单片机中指令按字节来分,可分为单字节、双字节、三字节指令,因而履行一条指令的时刻也不同。关于简略的单字节指令,取出指令当即履行,只需一个机器周期的时刻。而有些杂乱的指令,如搬运、乘、除指令则需两个或多个机器周期。
从指令的履行时刻看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只要乘、除指令占用4个机器周期。