1、VccVss+5VEAXTAL1XTAL2RST1+5V+5V单片机最小系统单片机最小系统 第二章第二章第二章第二章89C5189C51单片机硬件结构和原理单片机硬件结构和原理单片机硬件结构和原理单片机硬件结构和原理-时钟电路及时钟电路及89C51CPU时序时序主讲:武桐主要内容主要内容片内时钟信号的产生片内时钟信号的产生1CPU取指、执指时序取指、执指时序2一、片内时钟信号的产生一、片内时钟信号的产生 89C51芯片内部有一个高增益反相放大器,用于构成振荡芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为器。反相放大器的输入端为XTAL1,输出端为,输出端为XTAL2,两端
2、,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。跨接石英晶体及两个电容就可构成稳定的自激振荡器。2.4 时钟电路及时钟电路及89C51CPU时序时序一、片内时钟信号的产生一、片内时钟信号的产生电容器电容器C1和和C2通常取通常取30 pF左左右,可稳定频率并对振荡频率右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范有微调作用。振荡脉冲频率范围为围为 fOSC=024 MHz。晶体振荡器的频率为晶体振荡器的频率为 fOSC,振,振荡信号从荡信号从XTAL2端输入到片内端输入到片内的时钟发生器上,的时钟发生器上,如图如图所示。所示。2.4 时钟电路及时钟电路及89C51CPU时序时序v振
3、荡周期与状态周期振荡周期与状态周期一、片内时钟信号的产生一、片内时钟信号的产生 为了便于对为了便于对CPU时序进行分析,我们将指令的执行过程规时序进行分析,我们将指令的执行过程规定了以下几种周期,即定了以下几种周期,即振荡周期振荡周期、状态周期状态周期、机器周期机器周期和和指令指令周期周期。振荡周期振荡周期是计算机中最基本的、最小的时间单位。它是计算机中最基本的、最小的时间单位。它定义定义为时钟脉冲频率的倒数为时钟脉冲频率的倒数。在。在89C51单片机中将一个振荡周期定单片机中将一个振荡周期定义为义为1个节拍。个节拍。2.4 时钟电路及时钟电路及89C51CPU时序时序一、片内时钟信号的产生一
4、、片内时钟信号的产生 时钟发生器是一个时钟发生器是一个2分频分频的触发器电路,它将振荡器的触发器电路,它将振荡器的信号频率的信号频率fOSC除以除以2,向,向CPU提供两相时钟信号提供两相时钟信号P1和和P2。时钟信号的周期称为机。时钟信号的周期称为机器器状态周期状态周期S(STATE),是振,是振荡周期的荡周期的2倍。倍。2.4 时钟电路及时钟电路及89C51CPU时序时序v节拍与状态周期节拍与状态周期一、片内时钟信号的产生一、片内时钟信号的产生 每个状态周期每个状态周期(以后常称状态以后常称状态S)有两个节拍有两个节拍(相相)P1和和P2,CPU就就 以两相时钟以两相时钟P1和和P2为基本
5、节拍指为基本节拍指 挥挥89C51单片机各个部件协调地单片机各个部件协调地 工作。工作。2.4 时钟电路及时钟电路及89C51CPU时序时序v节拍与状态周期节拍与状态周期一、片内时钟信号的产生一、片内时钟信号的产生 在每个状态周期在每个状态周期S的前半周的前半周 期,相位期,相位1(P1)信号有效,在信号有效,在 每个时钟周期的后半周期,每个时钟周期的后半周期,相位相位2(P2,节拍,节拍2)信号有效。信号有效。2.4 时钟电路及时钟电路及89C51CPU时序时序v机器周期机器周期一、片内时钟信号的产生一、片内时钟信号的产生 一条指令的执行过程划分为若干个阶段,每一阶段完成一项一条指令的执行过
6、程划分为若干个阶段,每一阶段完成一项 基本操作,例如取指令、读存储器、写存储器等。一个基本操作,例如取指令、读存储器、写存储器等。一个机器机器 周期周期是指是指CPU完成这每一个基本操作所需的时间完成这每一个基本操作所需的时间。每个机器周期(每个机器周期(12个振荡周期)由个振荡周期)由6个状态周期组成,即个状态周期组成,即S1、S2、S6,2.4 时钟电路及时钟电路及89C51CPU时序时序一、片内时钟信号的产生一、片内时钟信号的产生 每个状态周期由两个时相每个状态周期由两个时相P1、P2组成(即为组成(即为2个主振振荡周个主振振荡周 期)。所以一个机器周期可依次表示为期)。所以一个机器周期
7、可依次表示为S1P1、S1P2、S2P1、S2P2S6P1、S6P2。若采用若采用6MHz晶体振荡器,则每个机器周期为晶体振荡器,则每个机器周期为2s2.4 时钟电路及时钟电路及89C51CPU时序时序晶体振荡器的频率为 fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,如图所示。每个状态周期由两个时相P1、P2组成(即为2个主振振荡周4 时钟电路及89C51CPU时序字节数少则占存储器空间少。每条指令的执行都可以包括取指和执指两个阶段。二、CPU取指、执行周期时序 每条指令由一个或若干个字节组成。指令周期:执行一条指令所需的时间。每个时钟周期的后半周期,单片机运行时是以主振频率为基准
8、的,控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,将各个硬件环节组织在一起,这种严格的时序保证了各部件间振荡周期:晶振的振荡周期,为最小的时序单位。时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。为了便于对CPU时序进行分析,我们将指令的执行过程规定了以下几种周期,即振荡周期、状态周期、机器周期和指令周期。一、片内时钟信号的产生4 时钟电路及89C51CPU时序v指令周期指令周期一、片内时钟信号的产生一、片内时钟信号的产生 指令周期指令周期:执行一条指令所需的时间。:执行一条指令所需的时间。每条指令由一个或若干个字节组成。有单字节指令,双字每条指令由一个或若干
9、个字节组成。有单字节指令,双字 节指令,节指令,多字节指令等。字节数少则占存储器空间少。多字节指令等。字节数少则占存储器空间少。89C5189C51的指令周期一般只有的指令周期一般只有1 12 2个机器周期,个机器周期,只有乘、除两条指令占只有乘、除两条指令占4 4个机器周期。个机器周期。每条指令的指令周期都由一个或几个每条指令的指令周期都由一个或几个机器周期机器周期组成。有单周组成。有单周 期指令、双周期指令、和四周期指令。机器周期数少则执行期指令、双周期指令、和四周期指令。机器周期数少则执行 速度快。速度快。2.4 时钟电路及时钟电路及89C51CPU时序时序3.基本时序定时单位基本时序定
10、时单位综上所述,综上所述,89C51单片机的基本时序定时单位有如下单片机的基本时序定时单位有如下4个:个:v振荡周期:振荡周期:晶振的振荡周期,为最小的时序单位。晶振的振荡周期,为最小的时序单位。v状态周期:状态周期:振荡频率经单片机内的二分频器分频后提供给振荡频率经单片机内的二分频器分频后提供给片内片内CPU的时钟周期。一个状态周期包含的时钟周期。一个状态周期包含2个振荡周期。个振荡周期。v机器周期(机器周期(MC):):1个机器周期由个机器周期由6个状态周期、即个状态周期、即12个振个振荡周期组成,是计算机执行一种基本操作的时间单位。荡周期组成,是计算机执行一种基本操作的时间单位。v指令周
11、期:指令周期:执行一条指令所需的时间。一个指令周期由执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同,见附录个机器周期组成,依据指令不同而不同,见附录A。2.4 时钟电路及时钟电路及89C51CPU时序时序 4个时序单位从小到大依次是振荡周期、状态周期、机器周个时序单位从小到大依次是振荡周期、状态周期、机器周期和指令周期,如图期和指令周期,如图2-13所示。所示。图图2-13 89C512-13 89C51单片机各种周期的相互关系单片机各种周期的相互关系2.4 时钟电路及时钟电路及89C51CPU时序时序v每条指令的执行都可以包括每条指令的执行都可以包括取指取指和和
12、执指执指两个阶段。两个阶段。v在取指阶段,在取指阶段,CPU从内部或外部从内部或外部ROM中取出指令操作码及中取出指令操作码及操作数,然后再执行这条指令。操作数,然后再执行这条指令。v单字节和双字节的指令都可能是单机器周期或双周期,而单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周期。因三字节指令都是双周期的,只有乘、除指令占四周期。因此,执行一条指令的时间(指令周期)分别是此,执行一条指令的时间(指令周期)分别是2s,4s和和8s。二、二、CPU取指、执行周期时序取指、执行周期时序2.4 时钟电路及时钟电路及89C51CPU时序时序v通过观察通过观察XTAL2和和ALE引脚引脚的信号,来分析的信号,来分析CPU取指令时序。取指令时序。v通常,每个机器周期中,通常,每个机器周期中,ALE两次有效,第一次出现在两次有效,第一次出现在S1P2和和S2P1期间,第二次出现在期间,第二次出现在S4P2和和S5P1期间。期间。二、二、CPU取指、执行周期时序取指、执行周期时序2.4 时钟电路及时钟电路及89C51CPU时序时序