单片机位寻址举例_单片机学习:51单片机寻址方式详解

114667597_1_20171028081616763

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel 8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的发展,成为了应用最广泛的8位单片机之一。51单片机是基础入门的一个单片机,并且还是应用最广泛的一种。今天我们主要讲讲51单片机的寻址方式。

【指令】

指令是人们向计算机发的一种命令,一条指令对应着一种操作。

【指令系统】

CPU所能执行的全部指令的集合。CPU能够执行多少条指令是由CPU的内部结构所决定的。不同的CPU,其指令系统不同。

【指令的表示方法】

指令在机器中必须以机器码(二进制码)的形式出现。在书写指令时,通常有两种方法:

1. 在计算机发展的初期,人们用机器码书写指令,这一阶段成为机器语言阶段。

优点:用机器码书写的程序,计算机可以直接识别和运行。

缺点:书写时容易出错,不容易记忆。

2. 为了克服机器语言的缺点,人们用符号书写指令:指令由操作码和操作数组成。

优点:容易理解和记忆。

缺点:计算机不能直接识别和运行。

汇编语言程序必须转换成机器语言程序,转换方法有两种:

手工转换:查表 符号指令——机器码指令——MEM

汇编程序:符号指令——机器——机器码指令——MEM

114667597_2_20171028081616857

【寻址方式】

寻址方式由操作码和操作数组成。

操作码:决定CPU执行何种操作

操作数:就是操作对象,无论何种指令其操作的对象都是数据。

数据:数据在指令中有2种表示方法:1.数本身;2.数所在的地方

指出操作数所在的方式就是寻址方式。

114667597_3_20171028081616951

【51单片机寻址的方式】

每一种计算机都具有多种寻址方式,寻址方式的多少是反映指令系统优劣的主要指标之一。

51单片机有7种寻址方式:

1. 立即寻址

2. 直接寻址

3. 寄存器间址

4. 寄存器寻址

5. 变址寻址(基址寄存器+变址寄存器间接寻址)

6. 相对寻址

7. 位寻址

114667597_4_2017102808161713

【立即寻址】

指令的操作数存放在程序存储器中,操作数紧跟在操作码后面。

寻址空间:程序存储器

指令形式:操作码——OP 立即数——#data

注意:#表明其后跟的是立即数,立即数就是数字量本身

【直接寻址】

在指令中直接给出操作数的真实地址,操作码后面紧跟一个实际操作数地址

寻址空间:内RAM的低128字节,特殊功能寄存器SFR区

指令的三种形式:

114667597_5_2017102808161760

【寄存器寻址】

当前选定的寄存器内容就是实际操作数

寻址空间:R0~R7,由RS0、RS1确定寄存器区

指令的三种形式:

114667597_6_20171028081617122

【寄存器直接寻址】

寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数

寻址空间:内部RAM

指令的三种形式:

114667597_7_20171028081617169

注意:“间接”表示某寄存器中的“内容”只是一个“单元地址”,这个地址单元中存放的数据才是要找的“操作数”。

符号“@”表示“在....”,其含义与读音皆同“at”。

规定工作寄存器只有R0和R1采用与间接寻址。

规定用MOV指令访问片内RAM,用MOVX访问外部RAM。

【基址寄存器加变址寄存器间接寻址】

以DPTR或PC作基址寄存器,A作变址寄存器两者相加形成操作数地址。

寻址空间:程序存储器

指令形式:操作码

【相对寻址】

以当前PC值为基准地址,加上指令的偏移量“rel”,结果为目标地址。

Rel为有符号补码数,范围:-128~+127

寻址空间:程序存储器

指令的三种形式:一般为双字节或三字节指令

114667597_8_20171028081617232

注意:“当前PC值”值程序中下一条指令所在的首地址,是一个16位数;符号“rel”在实际编程中通常用标号代替。

【位寻址】

以访问触发器的方式,对内部RAM、SFR的位地址空间进行访问,称为位寻址,位寻址用于布尔指令。

寻址空间:片内RAM的20H~2FH字节地址

114667597_9_20171028081617294

注意:位地址里的数据只可能是一个0或1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值