位置:51电子网 » 技术资料 » 集成电路

访问片外ROM/RAM的指令时序

发布时间:2014/6/4 20:29:34 访问次数:9923

    MCS-51专门有两类可以访问片外存储器的指令:一类是读片外ROM指令,另一HEF4017BT类是访问片外RAM指令。这两类指令执行时所产生的时序除涉及ALE引脚外,还和PSEN、PO口、P2口和RD等引脚上的信号有关。

   1.读片外ROM指令时序

首先把累加器A中的地址偏移量和DPTR中的地址相加,然后把16位“和地址”作为片外ROM地址,并从中读出该地址单元中的数据,送到累加器A。因此,累加器A在指令执行前为地址偏移量,指令执行后为片外ROM中的读出数据。指令执行中产生的时序如图3-15所示。

   指令的详细执行过程如下:

   (1) ALE信号在SIP2有效时,PSEN继续保持高电平或从低电平变为高电平无效状态。

   (2) MCS-51在S2Pl时,把PC中高8位地址送到P2口引脚线上,把PC中低8位地址送到PO口引脚线上,PO口地址A7~AO在ALE下降沿被锁存到片外地址锁存器(如74LS373),P2口地址A15—A8 -直保持到S4P2,故它不必外接锁存器。

   (3) PSEN在S3到S4Pl期间有效,选中片外ROM工作,并根据P2口和地址锁存器( 74LS373)输出地址读出MOVC指令的指令码,经PO口送到CPU的指令寄存器IR。

   (4) MCS-51财指令寄存器IR中的MOVC指令码译码,产生执行该指令所需的一系列控制信号。

   (5)在S4P2时,CPU先把累加器A中的地址偏移量和DPTR中的地址相加,然后把“和地址”的高8位送到P2口并把低8位送到PO口,其中PO口地址由ALE的第二个下降沿锁存到片外地址锁存器( 74LS373)。

   (6) PSEN在S6到下个机器周期的SIP1期间第二次有效,并在S6P2时从片外ROM中读出由P2口和片外地址锁存器(74LS373)输出地址所对应ROM单元中的常数,该常数经PO口送到CPU累加器A。

         

   上述指令执行过程表明,MOVC指令执行时分两个阶段:第一阶段是取指阶段,即根据程序计数器PC中的地址到片外ROM中取指令码;第二阶段是执行阶段,即对累加器A和DPTR中的16位地址进行运算,并按运算所得到的和地址去片外ROM取出所需的常数

送到累加器A。也就是说,MCS-51执行“MOVC A,@A+ROM存储器,第1次访问是从中读取“MOVC A,@A+DPTR”的指令码;第2次访问片外ROM存储器是要从中读出A+DPTR所指相应存储单元中的常数。


    MCS-51专门有两类可以访问片外存储器的指令:一类是读片外ROM指令,另一HEF4017BT类是访问片外RAM指令。这两类指令执行时所产生的时序除涉及ALE引脚外,还和PSEN、PO口、P2口和RD等引脚上的信号有关。

   1.读片外ROM指令时序

首先把累加器A中的地址偏移量和DPTR中的地址相加,然后把16位“和地址”作为片外ROM地址,并从中读出该地址单元中的数据,送到累加器A。因此,累加器A在指令执行前为地址偏移量,指令执行后为片外ROM中的读出数据。指令执行中产生的时序如图3-15所示。

   指令的详细执行过程如下:

   (1) ALE信号在SIP2有效时,PSEN继续保持高电平或从低电平变为高电平无效状态。

   (2) MCS-51在S2Pl时,把PC中高8位地址送到P2口引脚线上,把PC中低8位地址送到PO口引脚线上,PO口地址A7~AO在ALE下降沿被锁存到片外地址锁存器(如74LS373),P2口地址A15—A8 -直保持到S4P2,故它不必外接锁存器。

   (3) PSEN在S3到S4Pl期间有效,选中片外ROM工作,并根据P2口和地址锁存器( 74LS373)输出地址读出MOVC指令的指令码,经PO口送到CPU的指令寄存器IR。

   (4) MCS-51财指令寄存器IR中的MOVC指令码译码,产生执行该指令所需的一系列控制信号。

   (5)在S4P2时,CPU先把累加器A中的地址偏移量和DPTR中的地址相加,然后把“和地址”的高8位送到P2口并把低8位送到PO口,其中PO口地址由ALE的第二个下降沿锁存到片外地址锁存器( 74LS373)。

   (6) PSEN在S6到下个机器周期的SIP1期间第二次有效,并在S6P2时从片外ROM中读出由P2口和片外地址锁存器(74LS373)输出地址所对应ROM单元中的常数,该常数经PO口送到CPU累加器A。

         

   上述指令执行过程表明,MOVC指令执行时分两个阶段:第一阶段是取指阶段,即根据程序计数器PC中的地址到片外ROM中取指令码;第二阶段是执行阶段,即对累加器A和DPTR中的16位地址进行运算,并按运算所得到的和地址去片外ROM取出所需的常数

送到累加器A。也就是说,MCS-51执行“MOVC A,@A+ROM存储器,第1次访问是从中读取“MOVC A,@A+DPTR”的指令码;第2次访问片外ROM存储器是要从中读出A+DPTR所指相应存储单元中的常数。


相关技术资料
6-4访问片外ROM/RAM的指令时序

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!