80C51单片机指令的取指、执行时序80C51单片机指令的取.doc
4页80C51单片机指令的取指、执行时序来源:21ic作者:关键字:80C51 单片机指令时序使用ALE信号作为低8位地址的锁存控制信号ALE接到外部锁存器时,高电平 期间,51的pO输出地址,低电平时锁存器将地址锁存,在ALE低电平时,(PSEN为 低)pO 口可以传输数据(指令),这样就可以地址/数据复用了以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平 有效,以实现对ROM的读操作以EA信号作为内外程序存储器的选择控制信号,当英为低电平时,对ROM的读操 作限泄在外部的程序存储器,当其为高电平时,对ROM的读操作是从内部存储器开始 的,并可延至外部程序存储器.由RD和WR信号作为扩展数据存储器和1/0 口的读选通、写选通信号EA信号是表示是当前指令是读内,还是外存储器的控制信号如:当选用无片 内存储器的单片机,或者不打算用片内存储器时,EA必须接低电平,此外,片外程 序存储器的起始地址M该女排在片内存储器之示RD和WR信号就相对好理解,就是当读数据时(不分内外、RAM、ROM)它就有效 WR也是这样的80C51单片机指令的取指、执行时序现按4类指令介绍CPU时序。
因为CPU工作的过程就是取指令打执行指令的过程, 所以CPU必须先取出指令,然后才能执行指令1. 双字节单周期指令由于双字节单周期指令必须在…个周期内取机器码二次,所以必须在…个机器周 期内安排二次读操作码的操作,分別发牛:在S1P2LS4P2在S1P2读入机器码74并 送入指令寄存器1R,在S4P2读入数据03送入累加器A,即读2取2在指令的执行 过程'!•, P0U要分时传送地址与数据,因此当操作码的地址从P0 口输出后,必须发 地址锁存信号ALE给74LS373锁存器,将地址锁存在74LS373内,腾出P0 口读入机 器码74在取数据03吋同样要发ALE信号因此,在一个机器周期内地址锁存信号 二次有效,见80C51时序图2-13o2. 单字节单周期指令对单字节单周期指令,由于操作码只有一个字节,因此第一次读操作码有效,而 第二次读的操作码将被丢弃,即:读1丢1,且程序计数器PC不加13. 单字节双周期指令对单字节双周期指令,由于操作码只有一个字节,而执行吋间长达2个机器周期, 因此除笫1次读操作码有效外,具余三次读的操作码均被放弁,即:读1丢34. 访问外部存储器指令MOVX执行访问外部存储器指令MOVX时,首先从程序存储器中取出指令,然后从外部 数据存储器中収出数据,因此该指令执行时序图与询三类指令不同。
山于MOVX是单 字节双周期指令,所以在取指令阶段(即第一个机器周期的S1P1到S4P2)是读1丢1, 而在执行指令读数据阶段(即第一个机器周期的S5到第二个机器周期的S3)所完成的 操作如F:(1) 先将外部数据存储单元的地址ADDR由DPTR从P0与P2 口输出,即时序图中 的S5P1到S6P2阶段并在S4P2到S5P2阶段,发ALE信号将地址锁存2) 在第二个机器周期S1P2到S2P2内取消ALE与程序选通信号PSEN (即取消取 指操作),使P0 口专门用于传送数据同时发读信号,通过P0 口将外部数据存储单 元中的数据传送到累加器A中即:时序图的S6P2到S4P1阶段3) 由于锁存的地址为外部数据存储单元的地址,所以在第二个机器周期S4取消 取指令的操作,即:不再发程序选通信号PSEN o注:山于执行MOVX指令吋,在第二个机器周期中要少发一次ALE信号,所以ALE 的频率是不稳定的ALES1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2SIPIP:S2P1P2S3P1P2S4PIP:S5P1P2S6P1P2! ! • • ! ! !:聾操作码(04) 悽下个操作码(丢弃[读斥条指令第一个操作昭! • r •单字节[!si单颛厂指令::读操作码(74)S2S3]S4S5INC A»£i®(03)双字节LjiS2S3单周期:;MOV A ‘純3H 指令单字节双周期指令;6 ! S1 32 : S3 \ :S4 】S5•; ;读林杂指令第一个操作码:•厂 •S6skS5t | Ht 1 rS6 | 屯:S2 」S3 : Sh : S5 」S6 [T 1;:读操作码(曲)读卞一个操作码全如应弃I A * I siS2S3S5S6SiS2S3skS5S6;INC DPTR |:谨操作码(EO)读下*操作码(丢弃)无ALE 无取常S1S2S3S4S5S6SIS2S3S4S5S6MOVX A ‘ @DPTRADDRDATAvMOVX 指令E2-13 80C51 时序 £]。





