MCS—51单片机时序(4)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、指令周期 指令周期是最大的时序定时单位,执行一条指 令所需要的时间称之为指令周期。指令周期以机器 周期的数目来表示,MCS-51的指令周期根据指 令的不同,可包含有一(单周期)、二(双周期)、 三或四个机器周期。 指令的运算速度和指令所包含的机器周期数 有关,机器周期数越少的指令执行速度越快。 例如当振荡脉冲频率为12MHz时,一个机器 周期为1微秒,当振荡脉冲频率为6MHz时,一个 机器周期为2微秒。 对于振荡脉冲频率为12MHz的 单周期指令、双周期指令、三周期指令和四周期指 令其指令的执行时间分别为: 1微秒、2微秒、3微 秒和4微秒。
1.单字节单周期指令(例如INC A) 由于是单字节指令,因此只需进行一次读指令操作。当第二个 ALE有效时,由干PC没有加1,所以读出的还是原指令,属于一次 无效的操作。 2.双字节单周期指令(例如ADD A,#data) 这种情况下对应于ALE的两次读操作都是有效的,第一次是读 指令操作码,第二次是读指令第二字节(本例中是立即数)。 3.单字节双周期指令(例如INC DPTR) 两个机器周期共进行4次读指令的操作,但其中后三次的读操作 全是无效的。 4.单字节双周期(MOVX类指令) 如前述每个机器周期内有两次读指令操作,但MOVX类指令情况 有所不同,因为执行这类指令时,先在ROM读取指令,然后对外部 RAM进行读/写操作。第一机器周期时,与其它指令一样,第一次读 指令操作码有效,第二次读指令操作无效。第二机器周期时,对外 部RAM访问,不产生读指令操作。
2、 写外部数据存储器的时序。由于写数据的过程是CPU主动 将数据送上总线,因而从写时序图上可以看到,在S3周期,P0 口线在送出低8位地址后,便转换为将操作数据送上P0口线, 中间不再出现高阻抗状态。在S4周期,写控制信号有效(由高 电平变为低电平),此时,P0口线上的数据被写人数据存储器 的对应地址下,完成一次外部数据写过程。
1、节拍与状态
把振荡脉冲的周期定义为节拍(用“P”表示)。振荡脉 冲经过二分频后,就是单片机的时钟信号,把时钟信号的周 期定义为状态(用“S”表示)。这样,一个状态就包含两个 拍节,其前半周期对应的节拍叫节拍1(P1),后半周期对应 的节拍叫节拍2(P2)。
2、机器周期 规定一个机器周期的宽度为6个状态,并依次表示为: S1~S6。由于一个状态又包括两个节拍,因此一个机器周 期总共有12个节拍,分别记作S1P1 、S1P2、……S6P12。 由于一个机器周期共有12个振荡脉冲周期,因此机器周期就 是振荡频率的十二分频。
二、 MCS—51指令的取指/执指时序
单片机在程序的控制下,一步一步地完成程序 中所规定的任务。而程序是由一条条指令组成的执 行成序就意味着执行指令。 单片机执行任何一条指令时都可以分为取指令 阶段和执行指令阶段。取指令阶段简称取指阶段, 单片机在这个阶段里可以把程序计数器PC中的地址 送到程序存储器,并从中取出需要执行指令的操作 码和操作数。指令执行阶段可以对指令操作码进行 译码,以产生一系列控制信号完成指令的执行。几 种典型的单片机取指/执行指令的时序如下图示。
本次课应完成以下作业: 教材:p78的2.14、2.23题
第三章 MCS—51单片机指令系统 3.1概述(指令格式、分类、指令系统综述) 4.1.3 汇编语言构成(伪指令)3.2 寻址方式
三、访问片外ROM/RAM的指令时序
MCS-51单片机的一个机器周期包含了6个状态周期: S1~S6,每个状态周期又可划分为2个拍节:P1、P2,每个 拍节实际为1个振荡器周期。因此,一个机器周期包含了12个 振荡器周期。当进行片外存储器扩展以及扩展按存储器方式 寻址的I/O接口时,所遵循的都是单片机与访问外部存储器有 关的时序图。在介绍外部存储器扩展之前,先了解外部存储 器的数据操作时序图。 (一)、访问片外ROM(外部程序存储器)的指令时序图 (如下图所示) 图(a)为寻址外部程序存储器时不执行访问外部数据存储 器指令MOVX时的时序,图(b)为寻址外部程序存储器时执行 访问外部数据存储器指令MOVX时的时序,两种时序在操作 中略有不同。
2.4 MCS—51单片机时序
单片机时序就是CPU在执行指令时所需控制信号的时间 顺序。单片机本身就是一个复杂的同步时序电路,为了保证 同步工作方式的实现,电路应在唯一的时钟信号控制下严格 地按时序进行工作。而时序所研究的则是指令执行中各信号 之间的相互时间关系。在执行指令时,CPU首先要到程序存 储器中取出需要执行指令的指令码,然后对指令码译码,并 由时序部件产生一系列控制信号去完成指令的执行。这些控 制信号在时间上的相互关系就是CPU时序。 CPU发出的时序信号有两类:一类用于片内各功能部件 的控制。这类信号很多,但对于用户是没有意义的,故通常 不作专门介绍;另一类用于片外存储器或I/O端口的控 制,需要通过器件的控制引脚送到片外,这部分时序对于分 析硬件电路原理至关重要。
(二)、访问片外RAM(外部数据存储器)的指令时序图
1、读取外部数据存储器的时序。 在第一个状态周期S1,地址 锁存有效信号ALE由低变高,开始了读周期。在S2周期,CPU 将低8位地址信号A0~A7送上P0口线,高8位地址信号A8~ A15此后一直锁存在P2口上。在S3周期,P0口线由低8位地址 转换为高阻抗状态。在S4~S5周期,读控制信号而有效(由高 电平变为低电平),被寻址的数据存储器将对应地址下(A0~ A15)的有效数据送上P0口线,供单片机读取,当读信号回到 高电平,P0口再次转换为高阻抗状态,被寻址的数据存储器的 总线浮空,完成一次外部数据读取过程。
不执行MOVX时,P2口专门用于输出PCH。P0口则作为低 8位地址与8位数据分时共用的双向总线,在CPU时序的控制下, 交替输出PCL和输人指令数据。在每一个机器周期中,地址锁 存信号ALE两次有效,当ALE由高变低时,低8位有效地址PCL 出现在P0口线,用作P0口数据/地址分离的低8位地址锁存器应 在这一时刻锁存地址信号。/PSEN信号也是每个机器周期两次 有效,用于选通外部程序存储器,以使指令数据送入P0口线, 供CPU读取。 执行MOVX指令的时序与不执行MOVX指令的时序稍有不同。 如果从外部程序存储器获得的是一条MOVX指令,在同一周期 的S5状态,ALE由高变低时,P0总线上出现的不再是有效的 PCL数据,而是外部数据存储器的低8位地址,P2总线也由原来 的程序存储器高8位地址改变为外部数据存储器的高8位地址, 同一周期下的S6状态,/ PSEN有效信号也将不再出现,在下一 个周期的第一个ALE有效信号也不出现,代之的是读(或写) 信号有效,P0口线上将出现外部数据存储器送出(或读入)的 数据。
一、时序定时单位 单片Leabharlann Baidu执行指 令是在时序电路的 控制下一步一步进 行的,通常以时序 图的形式来表明相 关信号的波形及先 后次序。
MCS—51时序的定时单位共有四个,从小到大依次是: 节拍、状态、机器周期和指令周期。振荡电路产生的振荡脉 冲并不直接使用,而是经分频后再为系统所用,如上图所示。 振荡脉冲经过二分频后才作为系统的时钟信号(注意时 钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的 错误),在二分频的基础上再三分频产生ALE信号(这就是 在前面介绍ALE时所说的“ALE以晶振六分之一的固定频率 输出的正脉冲”),在二分频的基础上再六分频得到机器周 期信号。
相关文档
最新文档