电子说
单片机时序是指单片机执行指令时应发出的控制信号的时间序列。这些控制信号在时间上的相互关系就是CPU的时序。它是一系列具有时间顺序的脉冲信号。
计算机每访问一次存储器的时间我们把它称为一个机器周期它是一个时间基准就象我们日常生活中使用的秒一样计算机中一个机器周期包括12个振荡周期什么是振荡周期一个振荡周期是多少时间振荡周期就是振荡源的周期也就是我们使用的晶振的时间周期一个12M的晶振它的时间周期是多少呢电子技术过的朋友应该不难算出T=1/f也就是1/12微秒那么使用12M晶振的单片机它的一个机器周期就应该等于12*1/12微秒也就是1S。
1、单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,XTAL1和XTAL2需外接上晶体和合适的电容。
2、有的单片机内部也自带时钟电路,用于产生时钟信号。
3、单片机管脚XTAL2直接接晶振。
1、时钟周期
时钟电路产生时钟信号的周期我们叫时钟周期(振荡周期)。
单片机通电后就产生了固定标称值的脉冲信号,单片机就是在脉冲信号的驱动下顺序地从ROM中(程序存储器)取出指令一条一条的顺序执行,然后进行一系列的微操作控制,来完成各种指定的动作。
2、机器周期
单片机每访问一次存储器的时间我们把它称为一个机器周期,它是一个时间基准就象我们日常生活中使用的秒一样。单片机中一个机器周期包括12个振荡周期。振荡周期就是振荡源的周期也就是我们使用的晶振的时间周期。一个12M的晶振它的时间周期是1/12微秒,那么使用12M晶振的单片机它的一个机器周期就应该等于12*1/12微秒,也就是1微秒。
3、指令周期
单片机中有些指令只要一个机器周期而有些指令则需要两个或三个机器周期另外还有两条指令需要4个机器周期。如何衡量指令执行时间的长短我们就要用到一个新的概念:指令周期,即执行一条指令所需的机器周期。
AT89S52的时钟有两种方式,一种是片内时钟振荡方式,需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL2悬空,外部时钟信号从XTAL1脚输入。
一、机器周期和指令周期
振荡周期指为单片机提供定时信号的振荡源的周期,即晶体振荡器直接产生的振荡信号,用Tosc表示。振荡脉冲的周期也叫做节拍,用P表示。
时钟周期是振荡周期的两倍,是对振荡器2分频的信号。时钟周期又称状态周期,用S来表示,一个时钟周期,分为P1和P2两个节拍。P1节拍通常完成算术逻辑操作,P2节拍通常完成内部寄存器间数据的传递。
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。
AT89S52单片机的一个机器周期由6个S周期(状态周期)组成,即S1~S6。
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。时钟周期、机器周期、指令周期之间的关系图如图1所示。
图1 AT89S52双周期指令的时序
综合以上分析,时序之间的关系如下:
振荡周期Tocs=1/fosc;fosc为振荡频率
时钟周期S=2Tosc;
机器周期=12Tosc;
指令周期=1~4个机器周期;
二、时序分析
图2给出了单片机的取指和执行指令的定时关系。在图中可看到,低8位地址的锁存信号ALE在每个机器周期中出现两次。对此时序说明如下:
(1)第一个机器周期是ROM的取指时序。从第二个机器周期开始读外部RAM;
(2)第一个机器周期的S4之后,为读外部RAM送出地址,其中包括P0的A7~A0,P2的A15~A8;
(3)在第二个机器周期中,第一个ALE信号不再出现,但读选通有效,以进行RAM 读操作,然后从P0口把读出数据送单片机;
(4)第二个机器周期的第二个ALE信号仍然出现,无取指操作。
图2 AT89S52指令执行时序
全部0条评论
快来发表一下你的评论吧 !