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

【指令】

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

【指令系统】

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

【指令的表示方法】

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

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

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

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

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

优点:容易理解和记忆。

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

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

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

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

【寻址方式】

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

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

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

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

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

【51单片机寻址的方式】

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

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

1. 立即寻址

2. 直接寻址

3. 寄存器间址

4. 寄存器寻址

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

6. 相对寻址

7. 位寻址

【立即寻址】

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

寻址空间:程序存储器

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

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

【直接寻址】

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

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

指令的三种形式:

【寄存器寻址】

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

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

指令的三种形式:

【寄存器直接寻址】

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

寻址空间:内部RAM

指令的三种形式:

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

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

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

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

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

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

寻址空间:程序存储器

指令形式:操作码

【相对寻址】

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

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

寻址空间:程序存储器

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

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

【位寻址】

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

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

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

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

  1. 单片机位寻址举例_基于80C51单片机位寻址编程

    80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式.所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0. 位寻址的范围,也就是 ...

  2. 单片机位寻址举例_单片机基础及应用 | 04 80C51单片机指令系统

      点击蓝字关注我们 一.单片机指令系统概述 1.指令概述指令:是CPU根据人们的意图来执行某种操作的命令.指令系统:是计算机所能够执行的全部指令的集合.程序:是按人们的要求所编制的指令操作序列.本章 ...

  3. 单片机位寻址举例_单片机的寻址方式

    执行任何一条指令都需要使用操作数.寻址方式就是根据指令中给出地址寻找操作数地址的方式. 根据指令操作的需要,计算机有多种寻址方式.总的来说,寻址方式越多,计算机的功能就越强,灵活性越大,指令系统也越复 ...

  4. 51单片机串口通信模板_深入理解51单片机串口通信及通信实例

    串口通信的原理 串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一 ...

  5. 单片机位寻址举例_mcs51单片机位操作指令及编程举例

    mcs51 单片机位操作指令及编程举例 MCS-51 单片机的硬件结构中,有一个位处理器(又称布尔处理器),它有 一套位变量处理的指令集.在进行位处理时, CY (就是我们前面讲的进位位) 称位累加器 ...

  6. 4位先行进位加法器_行波进位/超前进位加法器详解

    行波进位加法器是串行执行的,其高位的运算要依赖低位的进位,所以当输入数据的位数较多时,会形成很大的延迟并可能成为芯片的关键路径. 采用超前进位加法器(也叫先行进位加法器)可以有效减小这种延迟.下面介绍 ...

  7. wget命令详解_嵌入式学习之 Wget 命令详解

    Wget 命令详解 - 理想者1988 - 博客园​www.cnblogs.com 1.下载单个文件:ftp://ftp.denx.de/pub/u-boot/u-boot-2016.09.tar.b ...

  8. zipfile中怎么关闭流_深入学习JAVA -IO流详解

    (一)IO流基本概念 Java对数据的操作是通过流的方式,io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相 ...

  9. 名词用作动词举例_中学文言文词类活用详解:名词活用作动词(一)

    1.天雨墙坏 雨:名词用作动词,下雨. <智子疑邻> 2.妇抚儿乳 乳:名词用作动词,喂奶. <口技> 3.不能名其一处也 名:名词用作动词,说出. <口技> 4. ...

最新文章

  1. JAVA 继承内存模型_Java内存模型
  2. 解决android 异常导致应用程序停止运行的错误
  3. buffer java作用_Java NIO之Buffer的使用
  4. emacs 安装auto-complete
  5. 设计一个算法找一条从迷宫入口到出口的最短路径。_我花了一夜用数据结构给女朋友写个H5走迷宫游戏...
  6. 【ES6基础】Object的新方法
  7. Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?
  8. 04简单线性回归实战
  9. 给Eclipse插件的View加上菜单和工具条
  10. sql按年、月、日、查询排序
  11. css设置字体的行数,超出显示...
  12. HTML网页设计CSS样式代码大全
  13. [深度数据]·深度学习数据集大全
  14. element的上传如何获取路径_element Ui 上传组件upload提交的文件目录 集成进度条样式...
  15. [《小女人的高跟鞋》偶感小记]2012年8月28日
  16. Enterprise Architect入门:如何利用BABOK指南进行建模
  17. 景点门票销售管理系统 基于 python实现gui界面 之 笔记
  18. JavaScript 生命周期
  19. 三农数据(1996-2020)十六:农产品进出口、农村居民纯收入、消费支出及结构
  20. main方法中窥世界

热门文章

  1. x264_sps_init
  2. php中等3秒再跳转,跳转和重定向
  3. python能做大型游戏吗_python有做大型游戏的潜力吗?
  4. graphviz 画决策树_数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris
  5. java tempfile read_Java 文件操作
  6. c# 读取 txt 文件中数据(int)
  7. 安装C语言版本tensorflow
  8. Java多线程系列——深入重入锁ReentrantLock
  9. Swift基本语法学习笔记
  10. WCF - 服务实例管理模式