文章目录

  • 一、指令格式
  • 二、 MCS-51指令寻址方式
  • 三、立即寻址
  • 四、直接寻址
  • 五、寄存器寻址
  • 六、寄存器间接寻址
  • 七、变址寻址
  • 八、相对寻址
  • 九、位寻址方式
  • 总结

一、指令格式



其中操作码有

二、 MCS-51指令寻址方式

操作数类型
(b)─ 位寻址区和可位寻址寄存器中的一位二进制数据
字节(B)─ 8位二进制数据
(W)─ 16位双字节数据

三、立即寻址

注意:数值前加#符号表示该数是立即数

四、直接寻址

2、直接寻址
操作数的地址直接出现在指令中。
寻址对象:
①内部数据存贮器
②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。

例:
执行指令 MOV 40H, #100 后 (40H )= 64H
注意:直接寻址指令中的 40H是操作数存放在存储器中的地址而不是操作数的值

五、寄存器寻址

操作数存放在通用 寄存器中。
寻址对象:A、B、DPTR、R0~R7 。

A=40H,R0=40H

MUL AB ;A*B→BA,A、B为寄存器寻址

MOV B,R0 ;R0→B,R0为寄存器寻址,B为直接寻址

PUSH ACC ;ACC直接寻址

六、寄存器间接寻址

● 指令的操作数为寄存器名,寄存器中存放的是操作数的地址
MOV @R0,A ;A→(R0) 地址的内部RAM

MOVX A,@R1 ;外部RAM,地址为R1的内容→A
MOVX @DPTR,A ;A→以DPTR内容为地址的
外部RAM

寄存器间接寻址的范围:
(1)内部RAM低128字节,通用形式:MOV
指令及 @Ri(i=1或0);
(2)外部RAM的64K空间,使用间址寄存器:DPTR; 通用形式:MOVX指令,例:MOVX A, @DPTR;
也就是说访问外部的数据存储器是必须要用DPTR,后面实验会讲到
(3)外部RAM的低256字节,除用上面的DPTR,还可用间址寄存器R0和R1去寻找片外RAM的低256字节;通用形式:MOVX指令及@Ri(i=1或0);
(4)堆栈操作指令(PUSH和POP),以堆栈指针(SP)作间址寄存器的间接寻址方式。

七、变址寻址

● 变址寻址方式是单片机中用于访问程序存储器的寻址方式。
注意:是程序存储器

● 数据在程序存储器中,指令给出的寄存器中的数据为基地址和偏移地址。(数据地址 = 基地址 + 偏移地址

● 可充当变址寄存器的寄存器有 A
可充当基址寄存器的寄存器有 PC、DPTR


A=12H,DPTR=2000H

八、相对寻址

单片机中的相对寻址方式是用于改变当前PC的值,
新PC = 当前PC + 相对偏移量
● 主要用于实现程序的相对跳转。

例:1000H: SJMP 02H;( 该指令为双字节指令 )
设指令执行前 PC=1000H,执行指令后:
PC = 1004H
注意:02H 为相对偏移量,该数据为8位补码,数值范围为-128~+127

九、位寻址方式

位寻址方式是使用位地址访问位寻址区;
大家还记得这张图不?

位地址和字节地址是通过指令来区分的:
MOV A,20H ; 字节寻址(因为A是寄存器名,是一个字节底子)
MOV C,20H ; 位寻址(因为C是特殊功能寄存器的某一个位)
可供位寻址的区域
片内RAM的 20H~2FH为位寻址空间
某些SFR:其字节地址都能被8整除,共11个。

总结

(1)51系列单片机指令系统的特点是不同的存储空间寻址方式不同,适用的指令不同,必须进行区分,因此 七种寻址方式要熟记于心,并可以正确应用。
下一章我们更进一步巩固七种寻址方式

51单片机的指令系统(一)相关推荐

  1. 51单片机系列--闪烁灯,呼吸灯与流水灯

    51单片机是对兼容英特尔8051指令系统的单片机的统称.51单片机广泛应用于家用电器.汽车.工业测控.通信设备中.因为51单片机的指令系统.内部结构相对简单,所以国内许多高校用其进行单片机入门教学. ...

  2. c51语言定义布尔变量,51单片机指令系统:布尔变量操作指令(9)

    51单片机指令系统:布尔变量操作指令(9) 第二十七课:布尔变量操作指令分析 布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的.布尔变量也即开关变量,它是以位(bit) ...

  3. 【MCS-51】51单片机指令系统大全

    指令是指挥微型计算机工作的的计算机命令,对于51单片机来说,其主要使用的指令有两种形式:机器语言指令和汇编语言指令. 机器语言指令是指使用二进制代码表示的指令: 汇编语言指令是指使用容易我们记忆的缩写 ...

  4. 《51单片机应用开发范例大全(第3版)》——第1章 单片机C语言开发基础

    本节书摘来异步社区<51单片机应用开发范例大全(第3版)>一书中的第1章,作者:张杰 , 宋戈 , 黄鹤松 , 员玉良,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

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

    51单片机是对所有兼容Intel 8031指令系统的单片机的统称.该系列单片机的始祖是Intel 8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的发展,成为了应用最广 ...

  6. 【51单片机快速入门指南】1:基础知识和工程创建

    目录 简介 命名规则 51单片机的数据类型 总表 扩展数据类型 stdint.h 存储器类型关键字 烧录工具 工程的创建 创建项目 添加C文件 配置工程 存储模式配置 输出配置 代码优化配置 编译 烧 ...

  7. 51单片机------闪烁灯(实验报告)

    实验一:LED闪烁灯 一.实验目的 掌握51单片机开发板的使用步骤: 掌握51单片机开发板所需软件的安装过程: 以LED灯闪烁为例子,掌握软件KEIL4的使用方法. 二.实验设备 实验仪器设备: 计算 ...

  8. 51单片机教程(从原理开始基于汇编)

    [发现了关于单片机的一系列不错的文章] 很多电子爱好者,都想学习单片机这门技术.下面的这一系列教程是 www.51hei.com 专门为初学者入门而准备的,从底层硬件入手基于汇编和c两种语言,详细的介 ...

  9. 41、基于51单片机手机无线充电器系统锂电池存电系统设计

    方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度.非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通 ...

最新文章

  1. 2851 菜菜买气球
  2. c语言图形时钟编程,C语言图形时钟课程设计实验报告.doc
  3. extern“C”有什么作用
  4. 真给力!蚂蚁金服工程师总结的400道前端面试题提供下载
  5. Java并发编程之synchronized关键字解析
  6. 【福利】3980元的web前端视频教程限量领取!!!
  7. wrieshark 指令
  8. 阿里确认研发车载小程序 这些功能太方便了!
  9. 中国服务业发展的轨迹、逻辑与战略转变——改革开放40年来的经验分析
  10. 大学四年只学java_大学四年废了怎么办,不如来学java
  11. 服务器端可控情形的Javascript跨域访问解决方法
  12. Android Stutio 3.0 - Gradle sync failed
  13. Servlet面试题
  14. windows ping 端口
  15. python xlwt安装_python:安装xlwt模块
  16. 通过型号快速识别思科路由器,交换机,服务器等设备
  17. 神奇的λ-calculus
  18. Python-.item()的理解与使用
  19. 在线展示pdf和word并且不能显示下载和打印按钮
  20. ios怎么打开c语言文件操作函数,C++ ofstream和ifstream详细用法以及C语言的file用法...

热门文章

  1. 生化奇兵: 无限 设置简体中文和显示对白字幕
  2. 瓦力机器人的配音_《机器人瓦力》的配套短片
  3. Python入门到精通【精品】第一章 - Python概述
  4. win10笔记本识别不到蓝牙鼠标的解决办法
  5. Qt编写可视化大屏电子看板系统15-曲线面积图
  6. Qt编写可视化大屏电子看板系统18-柱状分组图
  7. java object取数据_java使用ObjectInputStream从文件中读取对象
  8. [宋史学习] 赵元僖
  9. SpringBoot SSO整合
  10. IT宅男利用Python网络爬虫获取有道翻译手机版翻译接口