51单片机指令快速记忆方法总结

发布者:科技创新实践者最新更新时间:2015-03-18 来源: diangon关键字:51单片机  指令  快速记忆 手机看文章 扫描二维码
随时随地手机看文章
  单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

  MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品。

  学习单片机,除了搞清单片机内部功能、存储空间分配及I/O接口外,还应掌握其指令系统。MCS-51共有111条指令,现介绍我们总结出的快速记忆MCS-51指令的方法,供大家参考。

  大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。

  一、助记符号的记忆方法

  1 表格列举法

  把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。

  2 英文还原法

  单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:

  增量 INC-Incremect

  减量 DNC-Decrement

  短转移 SJMP-Short jump

  长转移 LJMP-Long jump

  比较转移 CJNE-Compare jump not equality

  绝对转移 AJMP-Absolute jump

  空操作 NOP-No operation

  交换 XCH-Exchange

  加法 ADD-Addition

  乘法 MUL-Multiplication

  除法 DIV-Division

  左环移 RL-Rotate left

  进位左环移 RLC-Rotate left carry

  右环移 RR-Rotate right

  进位右环移RRC-Rotate right carry

  3 功能模块记忆法

  单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原 则为2~3组。这样,化整为零,各个击破,实现快速记忆。

  1)数据传送组

  2)加减运算组:

  MOV 内部数据传送

  ADD 加法

  MOVC 程序存储器传送

  ADDC 带进位加法

  MOVX 外部数据传送

  SUBB 带进位减法

  3)逻辑运算组

  4)子程序调用组:

  ANL 逻辑与

  LCALL 长调用

  ORL 逻辑或

  ALALL 绝对调用

  XRL 逻辑异或

  RET 子程序返回

  二、指令的记忆方法

  1 指令操作数的有关符号

  MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变 址寻址、相对寻址。我们必须掌握其表示的方法。

  1)立即数与直接地址。ata表示八位立即数,#data16表示是十六位立即数,data或 direct表示直接地址。

  2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。

  3)@R0、@R1、@DPTR、SP表示寄存器间址变量。

  4)DPTR+A、PC+A表示变址寻址的变量。

  5)PC+rel(相对量)表示相对寻址变量。

  记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指 令打下了基础。MCS-51指令虽多,但按功能可分为五类, 其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作 类17条。在每类指令里,根据其功能,抓住其源、 目的操作数的不同组合,再辅之以下方法,是完全能记住的。 我们约定,可能的目的操作数按(# data/direct/A/Rn/@Ri )顺序表示。

  对于MOV指令,其目的操作数按A、Rn、direct、@Ri的顺序书写,则可以记住MOV的15 条指令。例如以累加器A为目的操作数,可写出如下4条指令。

  MOV A,# data/direct/A/Rn/@Ri

  以此类推,写出其它指令。

  MOV Rn,#data/direct/A

  MOV direct,# data/direct/A/Rn/@Ri

  MOV @Ri,#data/direct/A

  2 指令图示记忆法

  图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目 的、源操作数的关系表示出来的一种记忆方法。 例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。

  由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。 CJNE A,#data,rel   CJNE A,direct,rel CJNE @Rn,#data,rel CJNE @Ri,#data,rel

  另外,对于由(ANL、ORL、ARL)形成的18条逻辑操作指令,有关A的四条环移指令, 也可以用图示法表示,请读者自行画出记忆。[page]

  3 相似功能归类法

  在MCS-51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一 样。相似功能归类法就是把具有这样特点的指令放在一起记忆, 只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八 条指令,现列举如下。

  ADD/ADDC/SUBB A,# data/direct/Rn/@Ri

  ANL/ORL/XRL A,# data/direct/Rn/@Ri

  ANL/ORL/XRL direct,#data/a

  上述每一排指令,功能相似,其操作数都相同。其它的如加1(INC)、减1(DEC)指令也 可照此办理。

  4 口诀记忆法

  对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如PUSH direct和POP direct这两条指令。 初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP的内容)加1(direct的内 容)再入栈,(SP的内容)弹出(到direct单元)SP才减1。 又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下:

  MUL AB

  高位积(存于)B,低位积(存于)A。

  DIV AB

  A除以B,商(存于)A余(下)B。

  上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。只有这样, 才能更好更快地掌握单片机指令系统。

  建议

  学单片机之初,你必须懂一些数字电路,若对数字电路中的一般概念都很模糊,最好还是再补习一下再来学单片机。接下来你最好先选一种单片机机种进行学习,因为目前单片机机种较多,其结构和指令均不相同,若这种学两天,那种学两天往往会滩多嚼不烂。这里建议你最好先学8051单片机,因为8051方面的书籍、资料、器材都较多。PIC和AVR以及其它类型的单片机虽有其长处,但现在的书籍、资料以及器件供应并不理想,不太适合初学者选择。若你对这些并不在意的话那选择后者进行学习也未尚不可。

  我们建议你选择8051单片机开始学习的原因还在于8051家族的派生品很多,例如ATMEL公司的AT89C51系列单片机就是完全兼容MSC-51 8051系列的(也就是说,AT89C51的指令、管脚、内部主要结构,以及用法与MSC-51相同),他不但兼容,而且还有不少创新,比如他的程序存储器可以电擦、写,一片IC就拥有了过去单片机的最小系统,不需要以前所谓的373和EPROM元件;所以,实验时的电路连接、电路板自制都比较容易,加上目前其价格较底,你学习的片子也可以做产品,做产品的片子也可以做实验,当然AVR系列也有这些特点;而PIC及其它系列在这一点上则显得不太理想。

  购买单片机的书籍最好是书的前面你能看懂,而书的后面你不懂,若前后都看不懂的书最好先别买,因为这本书短时间内不会对你起多大作用。当然若不是把书当资料查也不必买前后你都懂的书,因为它对你来说有点浅。应以原理书籍为主。其次可以购买一些应用方面的书籍以便参考。

  电子技术本身与实验离不开,若光靠看书是很难理解其原理和学会单片机开发的。你应该购置相关单片机的芯片、编程器、实验板,以及开发他的相关软件。并以边看书边实验的方式进行学习其效果将明显好的多!由于初学,不可能购置很多昂贵的设备,建议学习用的单片机芯片其程序储存器是可以反复可擦写的,如AT89C系列或AVR系列。这样,在学习烧写时是无后顾之忧的。

  现在来谈谈单片机开发的步骤。想让单片机按你的意思(想法)完成一项任务,必须先编写供其使用的程序,编写单片机的程序应使用该单片机可以识别的“语言”,否则你将是对“石”弹琴。目前较流行的有汇编和C语言;汇编语言可以精确的控制单片机工作的每一步,而C语言则注重结果,不必关心单片机具体的每一步。习惯上宜先学汇编语言后学C语言,这样可以对单片机有一个更深的了解,再说,就是用C语言编程,在需要精确控制时还需要嵌入汇编语句。当然,也有一开始就用C语言的,后来再学汇编;若你学过计算机的 Turbo C ,开始就学单片机的C也许会更快一些。

  单片机程序是用文本编辑器编写的纯文本文件,象我们平常在windows计事本中用汉语写计划一样,先这件事后那件事的去写,以所使用单片机语言的语法,按我们的想法把单片机要做的事“一件一件”的依次写下来,遇到“有些事”是重复的,就指明在什么什么地方已有说明(跳转),在正常安排中若有其它突发事件出现,必须写一段突发事件处理计划(中断)... ...。最后保存文件的扩展名应与所使用的语言要求的名字一致;我们汉语的文章一般保存为*.txt扩展名,而汇编语言的文件扩展名一般应为*.asm;有的开发系统则有自己的规定,如用 Keil C51开发系统,编写的汇编程序扩展名为*.a51;当然Keil C51开发系统也有自己的编辑器,不必用Windows中的记事本。

  无论我们使用汇编语言,还是C语言编写的程序,只是给我们看的,这个程序还必须经过与该语言对应的软件将我们能看懂的汇编或C“翻译”(编译)成所用单片机可以识别的代码。将单片机可以识别的代码烧写(编程)到单片机程序存储器中,单片机装的实际电路中才能依你的“计划”去工作。

  对于8051系列单片机来说,Keil C开发系统具有编辑、编译、模拟单片机C语言程序的功能,也能编辑、编译、模拟汇编语言程序;对于初学者,开始编写的程序难免出现语法错误或其它不规范的语句,由于Keil C编译时对错误语句提示的是英文,不太好理解,若用汇编的话,可使用DOS下的宏汇编编译器ASM51;他可以对出错语句进行中文提示;你源程序的注释部分还可以使用中文,这更便于你今后对程序的维护。

  编译出的代码一般扩展名为*.hex或*.bin;这个代码文件必须送到单片机中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。到此,单片机开发的一个过程就大致完成。

  当然,你不可能一次就把你的“计划”用单片机的语言完美正确的将源程序写好(就是我们平常制订的计划在实际中也有修改的),这就需要反复修改源程序,反复编译、烧写到单片机中、反复将单片机装到电路中去实验。由于单片机执行每一条语句所用的时间很短,有时你无法得到其中间的结果,也无法判断程序出错的位置,这时你可以使用软件模拟的方法,让程序一步一步的执行,每执行一步,通过查看单片机中各关键数据的变化情况,来找到错误或没按你“计划”执行的语句,从而达到排错的目的。若你资金不成问题的话,也可以购买单片机仿真器,他可以取代实际电路中的单片机,在电脑的控制下一步一步的去排错。实际上无论软件模拟(仿真)还是硬件仿真,其功能远不止这里讲的这一点点。

关键字:51单片机  指令  快速记忆 引用地址:51单片机指令快速记忆方法总结

上一篇:51单片机DIY做PLC编程
下一篇:74HC138三八译码器的应用

推荐阅读最新更新时间:2024-03-16 13:55

keil5编译开发51单片机操作步骤
安装好keil 5 mdk 之后,从keil官网下载 c51v960.exe, 具体操作步骤 1.进入官网 2 3.点击C51之后,会让填写一个个人信息,没啥障碍,正常填写就好了,填写好之后就会出现下面的界面,点击下载就好了 4. 下载之后,运行,安装路径选择原来 keil5 MDK的安装路径 安装完毕之后就大功告成了
[单片机]
keil5编译开发<font color='red'>51单片机</font>操作步骤
ARM汇编语言常用指令
上次说到汇编语言十分重要,所以又为了避免忘记,贴上一些常用汇编指令 @mov 指令范例 mov r1, #8 mov r2, r1 mov r3, #10 @mvn 传送取反赋值 mvn r1, #0b10 mvn r2, #5 mvn r3, r1 @sub 减法 目的寄存器 被减数(不能是立即数) 减数 mov r2,#4 sub r1,r2,#2 mov r0,#1 sub r3,r1,r0 @add 加法 目的寄存器 两个相加的数 add r1,r2,#3 @and 逻辑与 目的寄存器 要与的两个数 mov r1,#5 and r2,r1,#0 mov
[单片机]
MCS-51单片机多个中断源中的外中断分析方案
MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论lcd液晶屏图外中断软件编程。 外中断是由外部原因引起的中断,有两个中断源。即外中断0(INT0)和外中断1(INT1),中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。 外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进行规定。 电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。 脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低即为有效中断请
[单片机]
MCS-<font color='red'>51单片机</font>多个中断源中的外中断分析方案
51单片机计数显示程序举例
前面我们做了定时器的实验,现在来看一看计数实验,在工作中计数常常会有两种要求: 第一、将计数的值显示出来, 第二、计数值到一定程度即中断报警。 第一种如各种计数器、里程表,第二种如前面例中讲到的生产线上的计数。先看第一种吧。 我们的硬件中是这样连线的:324组成的振荡器连到定时/计数器1的外部管脚T1上面,我们就利用这个来做一个计数实验,要将计数的值显示出来,当然最好用数码管了,可我们还没讲到这一部份,为了避免把问题复杂化,我们用P1口的8个LED来显示计到的数据。 程序如下: ORG 0000H , AJMP START ORG 30H START: MOV SP,#5FH MOV TMOD,#0100000
[单片机]
51单片机学习:ADC模数转换实验--光敏电阻AD采集
实验名称:ADC模数转换实验--光敏电阻AD采集 接线说明: 实验现象:下载程序后,数码管上显示AD模块采集光敏电阻的AD值 注意事项: ***************************************************************************************/ #include public.h #include smg.h #include xpt2046.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数
[单片机]
三菱PLC边沿检测脉冲指令功能及使用说明
三菱 PLC 的边沿检测脉冲指令有LDP, ANDP, ORP,LDF, ANDF, ORF,这些指令的说明如下: 1、指令符与功能    边沿检测脉冲指令的指令符与功能如下表所示。 2、指令使用说明   1) LDP:从母线直接取用上升沿脉冲触点指令。   2) LDF:从母线直接取用下降沿脉冲触点指令。   3) ANDP:申联上升沿触点指令。   4) ANDF:串联下降沿触点指令。   5) ORP:并联上升沿触点指令。   6) ORF:并联下降沿触点指令。   7) LDP, ANDP, ORP是用来检测触点状态变化的上升沿(由OFF- ON变化时)的指令,当上升沿到来时,使其操作对象接通一个扫描周期,又称上升
[嵌入式]
利用51单片机设计闪烁灯
简介:51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一。 1. 电路图 一个二极管点亮一般需流经的电流值为3mA~10mA,二极管两边的压降为1.6V~1.7V。 2. 点亮二极管: (1)位操作: sbit led0=P0^0; led0=0;//单个位的赋值 (2)总线操作: P0=0xfe;//11111110 整个8位引脚一起赋值 3. 软件仿真: 点工具栏上d图标,双击某行即设置断点;若要用软件仿真查看一条语句的执行时间,一定要在Op
[单片机]
利用<font color='red'>51单片机</font>设计闪烁灯
中国RoHS出台时间和出台的目的、意义
  信息产业部与发展改革委、商务部、海关总署、工商总局、质检总局、环保总局联合制定的《电子信息产品污染控制管理办法》已经于2006年2月28日发布,将于2007年3月1日施行。   制定《电子信息产品污染控制管理办法》的意义有以下五个方面:   (一)将电子信息产品污染防治作为废旧电子信息产品回收处理再利用工作的基础性工作,体现“污染防治,预防在先”环境保护原则,落实“从源头抓起”的工作思路   电子信息产品污染防治,它的核心内容是对铅、汞、镉、六价铬等重金属物质和多溴联苯、多溴二苯醚等溴化阻燃剂等六种有毒有害物质的控制。从产品的研发、设计、生产、销售、进口等环节开始做好对这些有毒有害物质的控制,如替代、减量化,既体现了“从源头抓起
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved