首页 理论教育 MCS-51系列单片机时序-单片机原理与应用实例

MCS-51系列单片机时序-单片机原理与应用实例

时间:2023-10-22 理论教育 版权反馈
【摘要】:单片机CPU在执行指令时所需控制信号的时间顺序称之为时序。1)MCS-51系列单片机的机器周期固定为12个时钟周期T组成。MCS-51系列单片机的绝大部分指令是单周期指令或双周期指令,只有乘法和除法指令是四周期指令。

MCS-51系列单片机时序-单片机原理与应用实例

单片机CPU在执行指令时所需控制信号的时间顺序称之为时序。由时钟脉冲振动CPU时序电路产生控制信号序列。

1.名词解释

定量各时序信号的尺度有:时钟周期、机器周期、指令周期。

(1)时钟周期T定义为时钟脉冲频率的倒数,又称为振荡周期。

1)MCS-51系列单片机振荡电路OSC产生的时钟频率为12MHz时,时钟周期T为1/12μs。

2)时钟周期T是计算机的基本工作脉冲,是时序中最小的时间单位。

(2)机器周期 定义为实现特定功能所需的时间。由图2-13中可见。

1)MCS-51系列单片机的机器周期固定为12个时钟周期T组成。

2)每个机器周期分为6个状态:S1~S6。

3)每个状态分为2拍:P1、P2。

4)每个机器周期中的12个时钟周期可表示为S1P1、S1P2、S2P1、……、S6P2。

(3)指令周期 定义为执行一条指令所需的时间。

1)指令周期是时序中最大的时间单位,可包含1~4个机器周期。

2)可按机器周期对指令分类,有:单周期指令、双周期指令、四周期指令。MCS-51系列单片机的绝大部分指令是单周期指令或双周期指令,只有乘法和除法指令是四周期指令。

由上面的定义可知,若fosc=12MHz,则振荡周期为1/12μs,一个机器周期为1μs。若执行某条指令需要一个机器周期,则该指令的执行时间是1μs。

fosc不同,虽然执行同一条指令所需的机器周期数一样,但执行时间是不同的。当fosc=6MHz时,执行该单机器周期指令需要2μs的时间。

MCS-51系列单片机指令的时序如图2-13所示。从图中可以看出,ALE信号在一个机器周期出现两个脉冲,ALE的频率是fosc/6,经过分频后可作为其他电路的时钟信号(例如作为ADC的时钟)。但应注意,执行MOVX类指令时会扣除一个脉冲。

2.MCS-51系列单片机指令的时序

指令执行分两阶段:取指令阶段和执行指令阶段。(www.xing528.com)

(1)取指令阶段978-7-111-46831-8-Chapter02-39.jpg

每个机器周期出现两次ALE高电平信号(S1P2—S2P1、S4P2—S5P1),此时CPU可进行取指令操作。

(2)执行指令阶段 经译码操作,产生相应的控制信号。

按指令字节数和机器周期数,MCS-51系列单片机的111条指令可分为六类:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令,其中几类的时序关系如下。

(1)单字节单周期指令 如“INC A”(机器码为04H)。

1)S1P2期间,在ALE配合下,根据PC指定的ROM位置读出机器码04H。

2)S4P2期间,在ALE配合下,根据PC+1指定的ROM位置读出下一个机器码××H。

3)S5S6期间,对机器码04H进行判断,确定是单字节指令,所以把下一个机器码××H舍弃,同时修正PC指针指向××H所处的单元,并且把要执行的指令锁存到指令寄存器中,指令译码,执行指令,在下一个机器周期开始前执行指令完毕。

(2)双字节单周期指令 如“ADD A,#16H”(机器码为2416H)。

1)S1P2期间,在ALE配合下,根据PC指定的ROM位置读出机器码24H。

2)S4P2期间,在ALE配合下,根据PC+1指定的ROM位置读出下一个机器码16H。

978-7-111-46831-8-Chapter02-40.jpg

图2-13 MCS-51系列单片机指令的时序

a)单字节单周期指令 b)双字节单周期指令 c)单字节双周期指令

3)S5S6期间,对机器码24H进行判断,确定是双字节指令,所以把下一个机器码16H作为操作数,同时修正PC指针指向存放16H单元的下一个单元位置,并且把要执行的指令锁存到指令寄存器中,指令译码,执行指令,在下一个机器周期开始前执行指令完毕。

(3)单字节双周期指令 如“INC DPTR”(机器码0A3H)。

ALE的一次有效识读机器码,此后执行到第二周期末S6P2。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈