收藏 分享(赏)

单片机MCS.doc

上传人:dwy79026 文档编号:7006272 上传时间:2019-04-30 格式:DOC 页数:5 大小:37KB
下载 相关 举报
单片机MCS.doc_第1页
第1页 / 共5页
单片机MCS.doc_第2页
第2页 / 共5页
单片机MCS.doc_第3页
第3页 / 共5页
单片机MCS.doc_第4页
第4页 / 共5页
单片机MCS.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、单片机 MCS-51 系列指令快速记忆法随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知如何选择。据统计,八位单片机占全球单片机销量的65。在八位单片机中,Intel 公司的 8051 单片机内核已成为 8 位单片机事实上的标准。因此,对初学者而言,选择 8051 单片机来学习不失为明智的选择。学习单片机,除了搞清单片机内部功能、存储空间分配及 I/O 接口外,还应掌握其指令系统

2、。MCS51 共有 111 条指令,现介绍我们总结出的快速记忆 MCS51 指令的方法,供大家参考。大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS51 使用汇编语言指令,它共有 44 个操作码助记符,33 种功能,其操作数有data、direct、Rn、Ri 等。这里先介绍指令助记符及其相关符号的记忆方法。一、助记符号的记忆方法1?表格列举法把 44 个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。2?英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量 INCIncremect

3、减量 DNCDecrement短转移 SJMPShort jump 长转移 LJMPLong jump比较转移 CJNECompare jump not equality 绝对转移 AJMPAbsolute jump 空操作 NOPNo operation交换 XCHExchange 加法 ADDAddition乘法 MULMultiplication 除法 DIVDivision左环移 RLRotate left 进位左环移 RLCRotateleft carry右环移 RRRotate right 进位右环移 RRCRotateright carry3?功能模块记忆法单片机的 44 个指令

4、助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为 23 组。这样,化整为零,各个击破,实现快速记忆。1)数据传送组。 2)加减运算组MOV 内部数据传送 ADD 加法MOVC 程序存储器传送 ADDC 带进位加法MOVX 外部数据传送 SUBB 带进位减法3)逻辑运算组。 4)子程序调用组。ANL 逻辑与 LCALL 长调用ORL 逻辑或 ALALL 绝对调用XRL 逻辑异或 RET 子程序返回二、指令的记忆方法1?指令操作数的有关符号MCS51 的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。1)立即数与直接地址。

5、?ata 表示八位立即数,data16 表示是十六位立即数,data或 direct 表示直接地址。2)Rn(n=07)、A、B 、CY、DPTR 寄存器寻址变量。3)R0 、 R1、DPTR、SP 表示寄存器间址变量。4)DPTR A 、PCA 表示变址寻址的变量。5)PC rel(相对量)表示相对寻址变量。记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS51 指令虽多,但按功能可分为五类,其中数据传送类 28 条,算术运算类 24 条,逻辑操作类 25 条,控制转移类 17 条,布尔位操作类 17 条。在每类指令里,根据其功能,抓住其源、目的操

6、作数的不同组合,再辅之以下方法,是完全能记住的。我们约定,可能的目的操作数按(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/AMOV direct,data/direct/A/Rn/RiMOV Ri,data/direct/A2?指令图示记忆法图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭

7、头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符 MOV、MOVX 、MOVC 组成的送数组指令,可以用图 1、2 帮助记忆。由助记符 CJNE 形成的四条指令,也可以用图示法表示,如图 3。CJNE A,data,rel CJNE A,direct,relCJNE Rn,data ,rel CJNE Ri,data ,rel另外,对于由(ANL、ORL、ARL)形成的 18 条逻辑操作指令,有关 A 的四条环移指令,也可以用图示法表示,请读者自行画出记忆。3?相似功能归类法在 MCS51 指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。相似功能归类法就是把

8、具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。ADD/ADDC/SUBB A,data/direct/Rn/RiANL/ORL/XRL A,data/direct/Rn/RiANL/ORL/XRL direct,data/a上述每一排指令,功能相似,其操作数都相同。其它的如加 1(INC)、减 1(DEC)指令也可照此办理。4?口诀记忆法对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如 PUSH direct 和 POP direct 这两条指令。初学者常常分不清堆栈 SP 的变化情况,为此编

9、成这样一句话:(SP 的内容)加 1(direct 的内容) 再入栈,(SP 的内容)弹出(到 direct 单元)SP 才减 1。又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下。MUL AB 高位积( 存于)B,低位积(存于)A。DIV AB A 除以 B,商 (存于)A 余(下)B。上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。只有这样,才能更好更快地掌握单片机指令系统。 MCS-

10、51 指令功能简述表类别 指令格式 功能简述 字节数 周期 数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A , Ri 内部 RAM 单元送累加器 1 1 MOV Ri ,A 累加器送内部 RAM 单元 1 1 MOV A , #data 立即数送累加器 2 1 MOV A , direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV Ri ,#data 立即数送内

11、部 RAM 单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,Ri 内部 RAM 单元送直接寻址单元 2 2 MOV Ri ,direct 直接寻址单元送内部 RAM 单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16 位立即数送数据指针 3 2 MOVX A ,Ri 外部 RAM 单元送累加器(8 位地址) 1 2 MOVX Ri ,A 累加器送外部 RAM 单元(8 位地址) 1 2 MOVX A ,DP

12、TR 外部 RAM 单元送累加器(16 位地址) 1 2 MOVX DPTR ,A 累加器送外部 RAM 单元(16 位地址) 1 2 MOVC A ,A+DPTR 查表数据送累加器(DPTR 为基址) 1 2 MOVC A ,A+PC 查表数据送累加器(PC 为基址) 1 2 XCH A , Rn 累加器与寄存器交换 1 1 XCH A , Ri 累加器与内部 RAM 单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,Ri 累加器与内部 RAM 单元低 4 位交换 1 1 SWAP A 累加器高 4 位与低 4 位交换 1 1 POP dire

13、ct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 算术运算类指令 ADD A, Rn 累加器加寄存器 1 1 ADD A, Ri 累加器加内部 RAM 单元 1 1 ADD A, direct 累加器加直接寻址单元 2 1 ADD A, #data 累加器加立即数 2 1 ADDC A, Rn 累加器加寄存器和进位标志 1 1 ADDC A, Ri 累加器加内部 RAM 单元和进位标志 1 1 ADDC A, #data 累加器加立即数和进位标志 2 1 ADDC A, direct 累加器加直接寻址单元和进位标志 2 1 INC A 累加器加 1

14、1 1 INC Rn 寄存器加 1 1 1 INC direct 直接寻址单元加 1 2 1 INC Ri 内部 RAM 单元加 1 1 1 INC DPTR 数据指针加 1 1 2 DA A 十进制调整 1 1 SUBB A, Rn 累加器减寄存器和进位标志 1 1 SUBB A, Ri 累加器减内部 RAM 单元和进位标志 1 1 SUBB A, #data 累加器减立即数和进位标志 2 1 SUBB A, direct 累加器减直接寻址单元和进位标志 2 1 DEC A 累加器减 1 1 1 DEC Rn 寄存器减 1 1 1 DEC Ri 内部 RAM 单元减 1 1 1 DEC di

15、rect 直接寻址单元减 1 2 1 MUL AB 累加器乘寄存器 B 1 4 DIV AB 累加器除以寄存器 B 1 4 逻辑运算类指令 ANL A, Rn 累加器与寄存器 1 1 ANL A, Ri ANL A, #data 累加器与内部 RAM 单元 1 1 累加器与立即数 2 1 ANL A, direct 累加器与直接寻址单元 2 1 ANL direct, A 直接寻址单元与累加器 2 1 ANL direct, #data 直接寻址单元与立即数 3 1 ORL A, Rn 累加器或寄存器 1 1 ORL A,Ri 累加器或内部 RAM 单元 1 1 ORL A,#data 累加器

16、或立即数 2 1 ORL A,direct 累加器或直接寻址单元 2 1 ORL direct, A 直接寻址单元或累加器 2 1 ORL direct, #data 直接寻址单元或立即数 3 1 XRL A, Rn 累加器异或寄存器 1 1 XRL A,Ri 累加器异或内部 RAM 单元 1 1 XRL A,#data 累加器异或立即数 2 1 XRL A,direct 累加器异或直接寻址单元 2 1 XRL direct, A 直接寻址单元异或累加器 2 1 XRL direct, #data 直接寻址单元异或立即数 3 2 RL A 累加器左循环移位 1 1 RLC A 累加器连进位标志

17、左循环移位 1 1 RR A 累加器右循环移位 1 1 RRC A 累加器连进位标志右循环移位 1 1 CPL A 累加器取反 1 1 CLR A 累加器清零 1 1 控制转移类指令 ACCALL addr11 2KB 范围内绝对调用 2 2 AJMP addr11 2KB 范围内绝对转移 2 2 LCALL addr16 2KB 范围内长调用 3 2 LJMP addr16 2KB 范围内长转移 3 2 SJMP rel 相对短转移 2 2 JMP A+DPTR 相对长转移 1 2 RET 子程序返回 1 2 RET1 中断返回 1 2 JZ rel 累加器为零转移 2 2 JNZ rel

18、累加器非零转移 2 2 CJNE A ,#data ,rel 累加器与立即数不等转移 3 2 CJNE A ,direct ,rel 累加器与直接寻址单元不等转移 3 2 CJNE Rn,#data ,rel 寄存器与立即数不等转移 3 2 CJNE Ri ,#data ,rel RAM 单元与立即数不等转移 3 2 DJNZ Rn ,rel 寄存器减 1 不为零转移 2 2 DJNZ direct ,rel 直接寻址单元减 1 不为零转移 3 2 NOP 空操作 1 1 步尔操作类指令 MOV C, bit 直接寻址位送 C 2 1 MOV bit, C C 送直接寻址位 2 1 CLR C

19、 C 清零 1 1 CLR bit 直接寻址位清零 2 1 CPL C C 取反 1 1 CPL bit 直接寻址位取反 2 1 SETB C C 置位 1 1 SETB bit 直接寻址位置位 2 1 ANL C, bit C 逻辑与直接寻址位 2 2 ANL C, /bit C 逻辑与直接寻址位的反 2 2 ORL C, bit C 逻辑或直接寻址位 2 2 ORL C, /bit C 逻辑或直接寻址位的反 2 2 JC rel C 为 1 转移 2 2 JNC rel C 为零转移 2 2 JB bit,rel 直接寻址位为 1 转移 3 2 JNB bit,rel 直接寻址为 0 转移 3 2 JBC bit,rel 直接寻址位为 1 转移并清该位 3 2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报