单片机MOVX指令执行时序深入分析

MOVX指令的执行过程

MOVX指令是51单片机访问片外外设的唯一指令,与外部RAM或I/O空间进行数据的读写或者ADC和DAC等都需要使用这条指令。MCS51单片机外部RAM的地址空间为64 KB,地址总线为16 bit,访问外设可执行4条汇编指令:(1)MOVX A,@DPTR;(2)MOVX @DPTR, A;(3)MOVX A, @RI; (4)MOVX @RI, A。其中DPTR为16 bit地址寄存器,地址高8 bit存于DPH,地址低8 bit存于DPL,Ri(i=0,1)是8 bit寄存器,作为地址指针时仅存低8 bit地址。

MCS51执行上述指令时分为两个阶段:首先,是从程序存储器中取出指令代码,并进行译码;然后,执行对外设数据的读写操作。在这两个阶段中,P0口在指令执行过程中是分时复用口,指令前半个周期,低8 bit地址由地址锁存允许信号ALE控制一个8 bit的锁存器输出,接着输出8 bit数据至外部数据总线,P2口在此过程中一直输出高8 bit地址。

由上所述,假设使用R0和R1对外设的进行间接寻址方式的访问,那么可看作是一种页面寻址,将外部的64 KB空间分成了256页,每一页有256 B地址。寄存器P2的当前值决定了当前的页地址。MCS51单片机在复位时,P2端口寄存器数值为FFH,若程序运行中没有改变P2中的值,则R0和R1只能对FF00H~FFFFH范围的外部的间接寻址,即对第255个页面进行访问。往外部空间写1 B时序图如图3所示。

在这里插入图片描述

因此,使用DPTR作为数据指针或者是RI,都可以实现对外部64 KB空间的访问。而指令都是使用MOVX,可见MCS51单片机系统中,MOVX指令有着非常重要的作用。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值