第二章 单片机硬件结构
第五节 时序电路
单片机的时序就是微处理器在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作,单片机内部电路应在唯一的时钟信号下严格地按时序进行工作。时钟信号通常由振荡器产生。振荡器类似人的心脏,是数字电路系统同步工作的信号源。通常采用的振荡电路能产生非常精确的正弦波,然后通过变换电路形成方波,这种方波在数字电路中作为触发器的时钟信号。
1.51单片机的时钟产生方式
51单片机的时钟信号通常有两种产生方式。一种是内部时钟方式;另一种是外部时钟方式。内部时钟方式如图2-19所示。在51单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(晶振)就构成了自激振荡器,并在单片机内部产生时钟脉冲信号。其中,电容C1和C2的作用是稳定频率和快速起振,电容值为5~30pF,典型值为30pF。晶振CYS的振荡频率范围为1.2MHz~12MHz。对外部C1、C2的取值虽然没有严格的要求,但电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。
外部时钟方式是把外部已有的时钟信号引入到单片机内,如图2-20所示。此方式常用于多片单片机同时工作,以使各单片机同步。一般要求外部信号高电平的持续时间大于20ns,且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2引脚应悬空。
2.51单片机的时钟信号
人们经常说台式PC的“微处理器的频率是多少多少”,其实这个频率是指微处理器的主频,主频也就是微处理器的时钟频率,英文全称叫做ClockSpeed,也就是微处理器运算时的工作频率。一般地,主频越高,单位时间里完成的指令数也越多,当然微处理器的速度也就越快了。由于各种微处理器的内部结构不尽相同,所以并非时钟频率相同性能就一样。因为微处理器的运算速度还要看微处理器的流水线的各方面的性能指标(如缓存、指令集、微处理器的位数等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的微处理器实际运算速度却较低的现象。如AMD公司的AthlonXP系列微处理器大多都能以较低的主频达到英特尔公司的Pentium Ⅳ系列微处理器较高主频的微处理器性能。所以,AthlonXP系列微处理器才以PR值的方式来命名。因此,主频仅是微处理器性能表现的一个方面,而不代表微处理器的整体性能。外频是系统总线的工作频率。倍频是指微处理器外频与主频相差的倍数。三者有十分密切的关系:主频=外频×倍频。51单片机有几个重要的时钟周期,如图2-21所示。
晶振周期为时钟脉冲频率的倒数,为最小的时序单位,也称T状态。可以这样来理解,晶振周期就是单片机外接晶振频率的倒数。例如,12MHz的晶振,它的晶振周期就是1/12ms,是计算机中最基本的、最小的时间单位。在一个时钟周期内,微处理器仅完成一个最基本的动作。对于某种单片机,若采用1MHz的时钟频率,则晶振周期为1ms;若采用4MHz的时钟频率,则晶振周期为1/4ms。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏,使计算机的每一步都统一到它的步调上来。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,不同的计算机硬件电路所需要的时钟频率范围也不一定相同。51单片机的时钟频率范围是1.2~12MHz。
晶振信号经分频器后形成两相错开的时钟信号P1和P2。时钟信号的周期也称S状态,它是晶振周期的两倍,即一个时钟周期包含两个晶振周期。在每个时钟周期的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个时钟周期有两个节拍(相)P1和P2,微处理器以P1和P2为基本节拍指挥各个部件协调地工作。
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作,如取指令、存储器读和存储器写等。每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个时钟周期组成。51系列单片机的一个机器周期由6个时钟周期组成,即一个机器周期=6个时钟周期=12个晶振周期。因此,每个机器周期的12个振荡脉冲可以表示为S1P1,S1P2,S2P1,S2P2…S6P1,S6P2。
指令的执行时间称为指令周期。一个指令周期通常含有1~4个机器周期。51单片机的指令按执行时间可分成单周期指令、双周期指令和四周期指令(四周期指令只有乘、除两条指令)3类。
【例2-5】 若MCS-51单片机外接晶振频率为12MHz时,则单片机的四个周期的具体值如下:
晶振周期=1/(12MHz)=1/12μs=0.0833μs
时钟周期=2/(12MHz)=1/6μs
机器周期=1μs
指令周期=1~4μs
可见,晶振周期类似台式PC的主频,机器周期类似台式PC的外频。