手把手教你学单片机

2022-03-30 14:11:36 作者:zhangwenbin

学习单片机,不仅要了解单片机的内部功能,存储器空与I/O接口之间的分布,还要掌握其指令系统。MCS-51中有111条指令。现在介绍一下我们快速总结的记忆MCS-51指令的方法,供大家参考。

众所周知,汇编语言指令由操作码和操作数组成。Mcs-51采用汇编语言指令,有44个操作码助记符和33个函数,操作数为##data、direct、Rn、@Ri等。这里,首先介绍指令助记符和相关符号的记忆方法。

一、助记符号的记忆方法

表枚举法将44个指令助记符按功能分为五类,每一类用列表的方式记忆。这里,请自行总结。

2英语还原法

单片机的操作码助记符是这个指令功能的英文缩写。将缩写还原为英文原文,并与中文进行比较,有助于理解其助记符的含义,从而增强记忆。示例:

增量减量

短转移SJMP-短跳长转移LJMP-跳远

比较转移CJNE-比较跳跃不相等

转移绝对ajmp-绝对跳转空操作nop-nooperation

XCH交易所-交易所追加-追加

乘法MUL-乘法除法DIV-除法

环形换档rl-旋转左托架左环形换档RLC-旋转

左进位

右后环-旋转右后环-旋转

右进位

基于3个功能模块记忆方法的单片机44条指令助记符,按其指令功能可分为5类,每类按功能相似性原则可分为2~3组。这样,把东西掰成块,一个一个的分,实现快速记忆。

1)数据传输组。2)加减运算组

MOV内部数据传输

MOVC程序存储器传输ADDC带进位加法MOVX外部数据传输SUBB带进位减法

3)逻辑运算组。4)子程序调用组。

ANL逻辑与长期呼叫

ORL逻辑或ALALL绝对调用

XRL逻辑异或RET子程序返回

二、指令的记忆方法

指令操作数的1个符号

MCS-51有六种寻址方式:直接数字寻址、直接寻址、寄存器寻址、寄存器间寻址、索引寻址和相对寻址。我们必须掌握它的表达方法。

1)直接号码和直接地址。

Ata表示8位立即数,#data16表示16位立即数,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个布尔运算类。在每种类型的指令中,根据其功能,掌握其源操作数和目的操作数的不同组合是完全值得记忆的,并辅以以下方法。我们同意可能的目标操作数是按顺序表达的。

对于MOV指令,如果目标操作数按照A、Rn、direct和@Ri的顺序编写,则可以记住15个MOV指令。例如,累加器A的操作数可以写以下四条指令。

MOVA,#数据/直接/A/Rn/@Ri

等等,写其他说明。

MOVRn,#数据/直接/A

MOV直营,#数据/直营/A/Rn/@Ri

MOV@日,#数据/直接/答

2指令图形存储方法

图形内存方法是一种内存方法,其中具有相同或相似操作功能但操作数不同的指令用图形和箭头表示,以显示目标操作数和源操作数之间的关系。例如,发送由助记符MOV、MOVX和MOVC组成的数组的指令可以借助图1和图2记忆。

由助记符CJNE形成的四条指令也可以用图形表示,如图3所示。

CJNEA,#数据,relCJNEA,直接,rel

CJNE@Rn,#data,relCJNE@Ri,#data,rel

另外,对于构成的18条逻辑运算指令,关于A的四条循环移位指令也可以用图解法表示。请自己画出记忆。

3相似功能分类方法

在MCS-51指令中,我们发现有些指令的操作码不同,但功能相似,而操作数完全相同。功能分类的方法是将具有这样特征的指令一起记忆。只要记住其中一个,其余的都会记住。例如,12条加减指令,18条与、或、非指令如下:

ADD/ADDC/SUBBA,#数据/直接/Rn/@Ri

ANL/ORL/XRLA,#数据/直接/Rn/@Ri

ANL/ORL/XRL直达,#数据/a

上述每条指令都有相似的功能和相同的操作数。其他指令如加1(INC)和减1(DEC)也可以按此处理。

4个公式的记忆方法

对于一些说明,我们可以用简洁的语言记住一个句子中的相关功能。例如PUSH直接和POP直接。初学者往往分不清栈SP的变化,于是编译了这句话:(SP的内容)加1(直接的内容)重新进入栈,(SP的内容)弹出(到直接的单位)从SP中减去1。再比如乘法指令中积的存储,除法指令中被除数、除数、的存储,都可以记忆如下。

MULAB高产品(储存)b,低产品(储存)a。

DIVABA除以B,商(存款)A大于(低于)B。

以上介绍了几种快速记忆单片机指令的方法,希望能起到吸引宝贵意见的作用。相信读者在学习单片机的过程中,可以找到自己的背法。但是有一个好的方法是不够的,还需要练习,就是多读一些别人写的例子和程序,然后根据实际情况自己写一些程序。只有这样,才能更好更快地掌握单片机的指令系统。

>>点击查看今日优惠<<

    本文导航
    热门文章
    TOP推荐
    相关阅读
    点击加载更多