2.3 CPU的时钟电路和时序定时单位

MCS-51系列单片机的时钟电路产生单片机工作所需要的时钟信号,而时序是指令执行中各信号之间在时间上的相互关系。单片机就像是一个复杂的同步时序电路,应在时钟信号控制下严格地按时序进行工作。

2.3.1 时钟电路

1.内部时钟信号的产生

8051芯片内部有一个高增益反相放大器,输入端为XTAL1,输出端为XTAL2。一般在XTAL1与XTAL2之间接石英晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,就是单片机的内部时钟电路,如图2.4所示。

时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。

电容C1和C2为微调电容,可对频率起稳定、微调作用,一般取值在5~30pF之间,常取30pF。晶振的频率范围是1.2MHz~12MHz,对8051芯片,典型值取6MHz。

图2.4 时钟振荡电路

2.外部时钟信号的引入

由多个单片机组成的系统中,为了保持同步,往往需要统一的时钟信号,可采用外部时钟信号引入的方法。外接信号应是高电平持续时间大于20ns的方波,且脉冲频率应低于12MHz。如图2.5和图2.6所示。

图2.5 8051外部时钟接法

图2.6 80C51外部时钟接法

2.3.2 时序定时单位

时序是用定时单位来说明的。MCS-51系列单片机的时序定时单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。下面分别加以说明。

1.拍节、状态

把振荡器发出的振荡脉冲的周期定义为拍节(用P表示)。振荡脉冲经过二分频以后,就是单片机的时钟信号,把时钟信号的周期定义为状态(用S表示)。

2.机器周期

MCS-51系列单片机采用定时控制方式,它有固定的机器周期,一个机器周期宽度为6个状态,依次表示为S1~S6。由于一个状态有两个节拍,一个机器周期总共有12个节拍,记为:S1P1,S1P2,…,S6P2。因此,机器周期是振荡脉冲的十二分频。

当振荡脉冲频率为12MHz,一个机器周期为1μs。机器周期如图2.7所示。

图2.7 机器周期示意图

3.指令周期

指令周期是最大的时序定时单位,执行一条指令所需的时间称之为指令周期。MCS-51系列单片机的指令周期根据指令的不同,可分为一个、二个、四个机器周期三类。