3906|4

112

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

单片机MCS-51系列指令快速记忆法 [复制链接]

本帖最后由 paulhyde 于 2014-9-15 09:22 编辑

汇编大家最好了解一部分,以后肯定是会用的到的,在网上找了一篇文章,帮助大家学习51,希望对大家有帮助 随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。 学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知如何选择。据统计,八位单片机占全球单片机销量的65%。在八位单片机中,Intel公司的8051单片机内核已成为8位单片机事实上的标准。因此,对初学者而言,选择8051单片机来学习不失为明智的选择。    学习单片机,除了搞清单片机内部功能、存储空间分配及I/O接口外,还应掌握其指令系统。MCS-51共有111条指令,现介绍我们总结出的快速记忆MCS-51指令的方法,供大家参考。    大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。 字串9 一、助记符号的记忆方法 字串8   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 带进位加法字串9    MOVX 外部数据传送    SUBB 带进位减法   3)逻辑运算组。      4)子程序调用组。    ANL 逻辑与         LCALL 长调用    ORL 逻辑或       ALALL 绝对调用    XRL 逻辑异或       RET 子程序返回 字串4 字串8   二、指令的记忆方法   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条。在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。 我们约定,可能的目的操作数按顺序表示。    对于MOV指令,其目的操作数按A、Rn、direct、@Ri的顺序书写,则可以记住MOV的15条指令。例如以累加器A为目的操作数,可写出如下4条指令。 字串5   MOV A,   以此类推,写出其它指令。   MOV Rn,   MOV direct,   MOV @Ri,    2?指令图示记忆法    图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。   由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。 CJNE A,  CJNE A,direct,rel CJNE @Rn, CJNE @Ri,    另外,对于由(ANL、ORL、ARL)形成的18条逻辑操作指令,有关A的四条环移指令,也可以用图示法表示,请读者自行画出记忆。    3?相似功能归类法    在MCS-51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。   ADD/ADDC/SUBB A,   ANL/ORL/XRL A,  ANL/ORL/XRL direct,字串7   上述每一排指令,功能相似,其操作数都相同。其它的如加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。    上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。只有这样,才能更好更快地掌握单片机指令系统

 

此帖出自电子竞赛论坛

最新回复

本帖最后由 paulhyde 于 2014-9-15 09:22 编辑 还有,想问一下大家,你们都是用什么来编的,汇编还是C语言?    详情 回复 发表于 2009-7-18 22:42
点赞 关注
 
 

回复
举报

1249

帖子

0

TA的资源

裸片初长成(高级)

沙发
 
本帖最后由 paulhyde 于 2014-9-15 09:22 编辑

哈哈哈哈!!太好拉!!!真是太好拉!!!

 

此帖出自电子竞赛论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
本帖最后由 paulhyde 于 2014-9-15 09:22 编辑

最近在学51汇编,呵呵学习了...

 

此帖出自电子竞赛论坛
 
 
 

回复

109

帖子

0

TA的资源

纯净的硅(高级)

4
 
本帖最后由 paulhyde 于 2014-9-15 09:22 编辑

我怕记那些指令,我用C来编的,不过要是感谢LZ了

 

此帖出自电子竞赛论坛
 
 
 

回复

109

帖子

0

TA的资源

纯净的硅(高级)

5
 
本帖最后由 paulhyde 于 2014-9-15 09:22 编辑

还有,想问一下大家,你们都是用什么来编的,汇编还是C语言?

 

此帖出自电子竞赛论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表