返回首页

单片机MCS-51系列指令快速记忆法(学习单片机编程的好资料)

时间:2011-02-19 12:25来源:未知 作者:牛牛 点击:
随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积

随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知如何选择。据统计,八位单片机占全球单片机销量的65%。在八位单片机中,Intel公司的8051单片机内核已成为8位单片机事实上的标准。因此,对初学者而言,选择8051单片机来学习不失为明智的选择。 内容来自单片机之家www.dpj100.com
    学习单片机,除了搞清单片机内部功能、存储空间分配及I/O接口外,还应掌握其指令系统。MCS51共有111条指令,现介绍我们总结出的快速记忆MCS51指令的方法,供大家参考。 单片机
    大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#datadirectRn@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。

内容来自单片机之家www.dpj100.com

  一、助记符号的记忆方法
  1表格列举法
  把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。

单片机



  2英文还原法
  单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照
汉语有助于理解其助记符含义,从而加强记忆。例如:
内容来自单片机之家www.dpj100.com

增量 INCIncremect  减量 DNCDecrement 单片机
短转移 SJMPShort jump  长转移 LJMPLong jump
比较转移 CJNECompare jump not equality 
单片机

绝对转移 AJMPAbsolute jump 空操作 NOPNo operation
交换 XCHExchange    加法 ADDAddition 单片机
乘法 MULMultiplication  除法 DIVDivision 内容来自单片机之家www.dpj100.com
左环移 RLRotate left  进位左环移 RLCRotate
单片机

                    left carry
右环移 RRRotate right  进位右环移RRCRotate
单片机

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

内容来自单片机之家www.dpj100.com


  1)数据传送组。      2)加减运算组
   MOV 内部数据传送    ADD 加法

内容来自单片机之家www.dpj100.com


   MOVC 程序存储器传送   ADDC 带进位加法
   MOVX 外部数据传送    SUBB 带进位减法
内容来自单片机之家www.dpj100.com

  3)逻辑运算组。      4)子程序调用组。
   ANL 逻辑与         LCALL 长调用 内容来自单片机之家www.dpj100.com
   ORL 逻辑或       ALALL 绝对调用
   XRL 逻辑异或       RET 子程序返回
单片机


  二、指令的记忆方法
  1指令操作数的有关符号
  MCS51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。
单片机

  1)立即数与直接地址。ata表示八位立即数,#data16表示是十六位立即数,datadirect表示直接地址。 单片机
  2Rn(n=07)ABCYDPTR寄存器寻址变量。 单片机
  3@R0@R1@DPTRSP表示寄存器间址变量。 单片机
  4DPTRAPCA表示变址寻址的变量。 内容来自单片机之家www.dpj100.com
  5PCrel(相对量)表示相对寻址变量。
  记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编
内容来自单片机之家www.dpj100.com

指令打下了基础。MCS51指令虽多,但按功能可分为五类,其中数据传送类28条,算术
运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。在每类指令里,

内容来自单片机之家www.dpj100.com


根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。
我们约定,可能的目的操作数按(#data/direct/A/Rn/@Ri)顺序表示。
  对于MOV指令,其目的操作数按ARndirect@Ri的顺序书写,则可以记住MOV
内容来自单片机之家www.dpj100.com

15
条指令。例如以累加器A为目的操作数,可写出如下4条指令。
  MOV A,#data/direct/A/Rn/@Ri
内容来自单片机之家www.dpj100.com

  以此类推,写出其它指令。
  MOV Rn,#data/direct/A
  MOV direct,#data/direct/A/Rn/@Ri
单片机

  MOV @Ri,#data/direct/A
  2指令图示记忆法 内容来自单片机之家www.dpj100.com
  图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOVMOVXMOVC组成的送数组指令,可以用图12帮助记忆。
内容来自单片机之家www.dpj100.com

  由助记符CJNE形成的四条指令,也可以用图示法表示,如图3
CJNE A
,#datarel   CJNE Adirectrel 内容来自单片机之家www.dpj100.com
CJNE @Rn
,#datarel CJNE @Ri,#datarel
单片机

  另外,对于由(ANLORLARL)形成的18条逻辑操作指令,有关A的四条环移指令,也可以用图示法表示,请读者自行画出记忆。 单片机
  3相似功能归类法
  在MCS51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。

单片机


  ADD/ADDC/SUBB A,#data/direct/Rn/@Ri
  ANL/ORL/XRL A,#data/direct/Rn/@Ri
内容来自单片机之家www.dpj100.com

  ANL/ORL/XRL direct,#data/a
  上述每一排指令,功能相似,其操作数都相同。其它的如加1(INC)、减1(DEC)指令也可照此办理。
内容来自单片机之家www.dpj100.com

  4口诀记忆法
  对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如PUSH directPOP direct这两条指令。初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP的内容)1(direct的内容)再入栈,(SP的内容)弹出(direct单元)SP才减1。又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下。 单片机
  MUL AB  高位积(存于)B,低位积(存于)A 单片机
  DIV AB  A除以B,商(存于)A()B
内容来自单片机之家www.dpj100.com

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

顶一下
(65)
90.3%
踩一下
(7)
9.7%
------分隔线----------------------------
推荐内容