通俗理解MCS-51单片机的三种寻址方式(直接寻址、立即寻址、寄存器间接寻址)

Abstract:

  1. 直接寻址

    • 储物柜格子有固定编号,你只能通过编号直接访问。
    • MOV P1, A:直接访问特殊功能寄存器P1。
  2. 立即寻址

    • 购物清单直接写着“20个苹果”。
    • MOV A, #20H:立即数20H直接加载到A。
  3. 寄存器间接寻址

    • 朋友知道冰箱里食物的位置,你让朋友去拿。
    • MOVX A, @DPTR:通过DPTR间接访问地址1234H的数据。

1. 特殊功能寄存器只能采用直接寻址

类比:
想象你在家里有一个固定的储物柜,每个储物柜的格子都标有固定的编号。你只能通过这些编号直接访问每个格子的内容。

实际例子:
在MCS-51单片机中,特殊功能寄存器(SFR)就像这个固定的储物柜,它们位于特定的内存地址(80H到FFH)。要访问这些寄存器,你必须直接使用它们的地址。

MOV P1, A ; 将累加器A的值直接存储到P1端口寄存器(特殊功能寄存器)中

2. MOV A, #20H指令的立即寻址

类比:
你有一个购物清单,上面直接写着你需要买的东西,例如“买20个苹果”。你不需要去哪里查找,这个数值(20个苹果)已经明确给出。

实际例子:
在这条指令中,立即数20H直接写在指令中,所以称为立即寻址。

MOV A, #20H ; 将立即数20H直接加载到累加器A中

3. MOVX A, @DPTR指令的寄存器间接寻址

类比:
你有一个朋友(DPTR)知道你家冰箱里食物的位置(内存地址)。你告诉他:“帮我从冰箱里拿出食物”,他就会根据自己知道的位置(间接地址)找到食物并给你。

实际例子:
在这条指令中,DPTR寄存器指向一个内存地址,指令通过DPTR间接访问这个地址的内容,然后把数据存储到累加器A中。

MOV DPTR, #1234H ; 将地址1234H加载到数据指针寄存器DPTR中
MOVX A, @DPTR    ; 从由DPTR指向的外部RAM地址读取数据到累加器A中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值