版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3 80C51单片机指令系统,3.1 概述,指令-,指令系统-,程序-,MCS-51单片机共111条指令,3.1.1 指令的分类,3. 按指令的功能划分 数据传送类指令(28条); 算术运算类指令(24条); 逻辑运算类指令(25条); 控制转移类指令(17条); 布尔(位)操作类指令(17条)。,2. 按指令的执行时间划分 单周期指令(65条) 双周期指令(44条) 四周期指令(2条),1. 按指令所占的字节数划分 单字节指令(49条) 双字节指令(46条) 三字节指令(16条),3.1.2 指令的格式( P 59-4.1.2),1. 汇编语言指令格式:,标号-字母打头的字母、数字、下划线串
2、;一般不超过8个; 不与指令助记符相同;可有可无。,操作码-必不可少,不可更改.,操作数-可有、可无,可一可二,可是寄存器、地址、数据 可用十、二、十六、BCD、ASCII表示。,注释-可有、可无,分号打头,可用汉字、 英文及简单的符号表示.,标号: 操作码 操作数 ;注释,2.机器语言格式:,单字节:,双字节:,NOP,操作码,INC 00H,三字节:,MOV DPTR,#2233H,MOV 20H,#30H,每条指令字节数,操作码可从P198附录2中查出。,单字节、 双字节、 三字节指令,00H,05H 00H,75H 20H 30H,90H 22H 33H,-128-+127,3.1.3
3、 指令中常用的符号,3.2 寻址方式-后移,3.3.1 数据传送类指令,(1)内部传送指令,MOV A, #33H,MOV A,#4050H,MOV A,60H,MOV A,R0,MOV A,R0,3.3 指令系统,以Rn为目的操作数 MOV Rn, A MOV Rn, #data MOV Rn, direct,以累加器A为目的操作数的指令(4条) MOV A,data;(A)data MOV A,direct;(A)(direct) MOV A,Rn;(A)(Rn) MOV A,Ri; (A)(Ri),MOV R3, A,MOV RA, 30H,以Ri为目的操作数 MOV Ri, A MOV
4、 Ri, #data MOV Ri, direct,MOV R0, #30H MOV R0, #00H,MOV R0, #80H, MOV DPTR, #data16,以direct为目的操作数 MOV direct, A MOV direct, #data MOV direct1 , direct2 MOV direct, Rn MOV direct , Ri,MOV 20H, A,MOV 20H,#10H,MOV 20H,10H,MOV 7FH, R7,MOV 00H, R1,注:1)MOV后,源内容不变。,2)Ri寻址范围0-127,MOV R1, 3LH,MOV R0, A,以Rn为目
5、的操作数 MOV Rn, A MOV Rn, #data MOV Rn, direct,以累加器A为目的操作数的指令 MOV A,data MOV A,direct MOV A,Rn MOV A,Ri,以Ri为目的操作数 MOV Ri, A MOV Ri, #data MOV Ri, direct, MOV DPTR, #data16,以direct为目的操作数 MOV direct, A MOV direct, #data MOV direct1 , direct2 MOV direct, Rn MOV direct , Ri,补例1.下列指令是否正确. MOV A,00H MOV B,#0
6、F0H MOV R4,#0AAH MOV R4,#0AAH MOV 80H, #80H MOV P0, #80H MOV R2, 77H MOV 0C3H, #00H MOV R9, #7FH MOV R0, R1 MOV #30H,80H MOV DPH,#30H MOV DPL,#20H,补例2.将数3AH送内部 RAM20H单元, 试编程,MOV 20H, # 3AH,MOV R1,#20H MOV R1, #3AH,MOV 0F0H, #0F0H,MOV A, direct,MOV DPTR, #3020H,MOV A, 30H MOV 30H, 20H MOV 20H, A,补例3
7、将30H与20H内容互换,补例4 分别将(1)00H单元 (2)30H单元 (3)80H单元 置全“1”,分别编程。,(1)MOV 00H,#0FFH,(1)MOV R0,#00H MOV R0, #0FFH,MOV PSW, #00H MOV R0, #0FFH,(2)MOV 30H, #0FFH,(2) MOV R0, #30H MOV R0, #0FFH,(3) MOV 80H, #0FFH,补例5 将内部RAM 30H开始的20 个数送至50H开始的区域去。,MOV R7,#14H MOV R0,#30H MOV R1,#50H LOOP:MOV A,R0 MOV R1, A INC
8、R0 INC R1 DJNZ R7,LOOP RET,编程三步骤:,1、初始化,2、数据处理,3、修改地址指针,控制程序是否结束。,(2) 外部数据传送指令(4条) MOVX A,DPTR MOVX A, Ri MOVX DPTR, A MOVX Ri, A,【例32】将内部RAM中60H单元的内容送入外部 RAM的2000H单元。,解:MOV A,60H MOV DPTR,2000H MOVX DPTR,A,【例33】略,补例6 将外部RAM2000H单元的内容送入外部RAM6000H单元,解:MOV DPTR,2000H MOVX A, DPTR MOV DPTR, #6000H MOVX
9、 DPTR,A,解:MOV DPTR,2000H MOVX A, DPTR MOV R0, #00H MOV P2, #60H MOVX R0,A,(3) 查表指令(2条) MOVC A,A+PC MOVC A, A+DPTR,补例7 已知数0-9的平方表如下 8000H:0 8001H:1 8002H:4 8009H:81 试根据A的内容查其平方值。,MOV DPTR, #8000H MOVC A,A+DPTR RET 8000H DB 00H,01H,04H,09H,10H, 19H,24H,31H,40H,51H,(4) 数据交换指令(5条) 半字节交换指令(2条) SWAP A;(A)
10、30 (A)74 XCHD A,Ri;(A)30 (Ri)30,例34 将内部RAM60H单元的容的高4位和低4位进行交换,XCH A,60H SWAP A XCH A,60H,全字节交换指令(3条) XCH A,Rn ; (A) (Rn) XCH A,direct;(A) (direct) XCH A,Ri;(A) (Ri),(5)堆栈操作指令(2条) PUSH direct;(SP)(SP)1, (SP)(direct) POP direct;(direct)(SP), (SP)(SP)1,PUSH 30H,POP B,例35 设(SP)30H,(A)98H,执行指令PUSH ACC后,堆
11、栈指针SP中的内容和内部RAM31H单元的内容分别是什么?,(SP)_H (31H)_H,31H,98H,补例8 已知(SP)=39H, (DPTR)=0123H PUSH DPL PUSH DPH 后 (SP)=_H , (3AH)=_H, (3BH)=_H,3B,23,01,例36 设(SP)33H,(32H)7AH,(33H)8BH, 执行指令POP ACC后,堆栈指针SP中的内容和累加器A中的 内容分别是什么?,(SP)_H (A)_H,32,8B,补例9 (SP)=32H, 30H、31H、32H内容分别为50H、23H、01H POP DPH POP DPL POP SP 后,PU
12、SH ACC PUSH PSW POP PSW POP ACC,PUSH P0 PUSH P2 POP P0 POP P2,01,23,4F,补例10 堆栈的两个典型应用:,将P0与P2内容互换,(DPH)=-H,( DPL)=-H , (SP)=-H,3.3.2 算术运算类指令 (1)加法指令(14条) 不带进位位的加法指令ADD(4条) ADD A,#data;(A)(A)#data ADD A,Rn;(A)(A)(Rn) ADD A,direct;(A)(A)(direct) ADD A,Ri;(A)(A)(Rn),【例37】设(A)0A0H,(60H)87H。写出执行指令 ADD A,
13、60H后,PSW中相关标志位的状态。 (A)_H, CY_,AC_,P_,OV_。,注:该类指令影响CY、AC、P、OV标志,执行结果为(A)27H, CY1,AC0,P0,OV1。,带进位位的加法指令ADDC(4条) ADDC A,data ;(A)(A)+#data+(CY) ADDC A,Rn ;(A)(A)+(Rn)+(CY) ADDC A,direct ;(A)(A)+(direct)+(CY) ADDC A,Ri ;(A)(A)+((Rn))+(CY),补例11 设内部RAM 30H(低位)、31H和40H、41分别存放一 16位数,试将其相加,结果存入50H、51H单元。,MOV
14、 A,30H ADD A,40H MOV 50H,A MOV A,31H ADDC A,41H MOV 51H,A,加1指令(5条) INC A INC Rn INC direct INC Ri INC DPTR,补例12 设R0=7EH, (7EH)=FFH, (7FH)=40H 执行下列程序后: INC R0 INC R0 INC R0,7F,00,41,(R0)=-H, (7EH)=-H, (7FH)=-H,补例13 编程将存放在31H-33H中的数相加,其和放入30H单元 (设和不超过8位)。,MOV R0,#31H MOV A, R0 INC R0 ADD A, R0 INC R0
15、ADD A, R0 MOV 30H, A,MOV R0, #31H MOV R7, #09H MOV A, #00H LOOP:ADD A, R0 INC R0 DJNZ R7, LOOP MOV 30H, A,设(31H)=38H,(32H)=2BH,( 33H)=8EH,PSW=90H 程序执行后, ( A)=_H, ( PSW)=(CY AC F0 RS1 RS0 OV - P)=_H,F1H,51H,01100011 10001110 11110001,39H, BCD码调整指令(1条) DA A,例:39+47=?,39BCD=0011 1001,47BCD=0100 0111,10
16、00 0000,80,=86,调整规则:,-若A的低4位大于9或AC=1,则低4位加6。,-若A的高4位大于9或CY=1,则高4位加6,例:已知A和B的值为十 进制数,求其和。 ADD A,B DA A,注:DA A只调整组合型、加法 如遇减法,则稍加处理。,(2) 减法指令(8条) 带借位减法指令SUBB(4条),SUBB A,#data SUBB A, direct SUBB A, Rn SUBB A, Ri,7BH-20H=?,MOV A, #7BH CLR C SUBB A, #20H,减1指令DEC(4条) DEC Rn DEC direct DEC Ri DEC A,(4) 除法指
17、令:DIV AB,3. A、B为8位无符号数。,注:1. 该指令执行时,使CY清0,2 . 乘积的低8位在A中,高8位在B中,注:1. A、B为无符号数,2. 商在A中,余数在B中,3. 该指令使CY、OV清0。,4. 如果B不等于0,则OV标志为1,否则OV为0.,4. 如除数为0,则A为不定值,OV=1,(3)乘法指令MUL(1条) MUL AB;(A)(B)(BA),ANL A, #data ANL A,direct ANL A, Rn ANL A, Ri ANL direct, A ANL direct, #data,3.3.3 逻辑运算类指令,(1)(3) 逻辑与,或,异或运算指令,
18、ORL A, #data ORL A,direct ORL A, Rn ORL A, Ri ORL direct, A ORL direct, #data,XRL A, #data XRL A,direct XRL A, Rn XRL A, Ri XRL direct, A XRL direct, #data,注:常用该类指令对数据加工处理,如使A高4位清0,低4位不变:,使A按位求反:,使内部RAM30H单元低4位置1,高4位不变:,ANL A, #0FH,ORL 30H,#0FH,XRL A,#0FFH,补例14 设外D.M(3000H)=B5H,编程 使其符号位变反、 D0位置1、D1和
19、D2位清0,MOV DPTR, #3000H MOVX A, DPTR XRL A, #80H ORL A, #01H ANL A, #0F9H MOVX DPTR, A,【例310】将30H单元中的压缩BCD码转换为非压缩的BCD码,存入31H和32H单元中。 MOVA,30H ANLA,00001111B MOV31H,A MOVA,30H ANLA,11110000B SWAPA MOV32H,A,RL A RLC A RR A RRC A SWAP A,(4)循环移位指令(4条),RL A,补例16 编程将A的内容乘以10。,MOV B,#0AH MUL AB,RL A MOV B,A
20、 RL A RL A ADD A,B,注:A的内容左移一次等于乘以2; 右移一次等于除以2,(5) 对A的操作(2条) CLR A CPL A,3.3.4 控制转移类指令 (1)无条件转移(4条),LJMP 0F0F0H,3000H:AJMP 30F0H,6080H:AJMP 6900H,0100H:SJMP 21H,多分支转移指令,PC=0100H+2+21H=0123H,81H,HERE:SJMP HERE,LJMP $,SJMP $,(2) 条件转移指令(2条) JZ rel JNZ rel (3) 比较转移 CJNE A, direct, rel CJNE A, #data , rel
21、 CJNE Ri, #data, rel CJNE Rn, #data, rel (4) 循环转移指令 DJNZ direct, rel DJNZ Rn , rel,MOV DPTR, #5500H MOV R0, #40H LOOP:MOVX A, DPTR MOV R0, A INC DPTR INC R0 CJNE R0,#50H, LOOP SJMP $,补例17 将外部RAM5500H开始内容送至内部RAM 40H-4FH,MOV R7, #10H,DJNZ R7, LOOP,8000H: ACALL 8100H,(5)子程序调用及返回指令(4条) ACALL addr11 LCAL
22、L addr16 RET RETI 绝对调用指令 ACALL addr11;(PC)2(PC) ;(SP)1(SP),(PC70)(SP) ;(SP)1(SP),(PC158)(SP) ;addr11(PC100),(PC1511)不变,长调用指令 LCALL addr16;(PC)3(PC) ;(SP)1(SP),(PC70)(SP) ;(SP)1(SP),(PC158)(SP) ;addr16(PC),子程序返回指令 RET;(SP)(PC158),(SP)1(SP) ;(SP)(PC70),(SP)1(SP) 中断返回指令 RETI;同RET,(6)空操作指令(1条) NOP ;(PC)
23、1(PC),3.3.5 布尔(位)操作指令,(4)位条件转移 JC rel JNC rel JB bit, rel JNB bit, rel JBC bit, rel,(2) 位逻辑运算: ANL C, bit ANL C, /bit ORL C, bit ORL C, /bit CPL C CPL bit,(3)位控制: CLR C CLR bit SETB C SETB bit,MOV C,20H,MOV C,PSW.5,SETB 0A0H,SETB P2.0,ANL C, /80H,JC 70H,JNB 99H, 99H,(1) 位传送: MOV C,bit MOV bit, C,C又叫位累加器,补例19 编程序实现以下逻辑操作 如果P1.1=1,ACC.0=1且OV=0,则将CY置1,MOV C, P1.1 ANL C, ACC.0 ANL C, /OV,【例313】用80C51单片机实现 逻辑运算的功能。 选择P1口的P1.0P1.3分别代表逻辑变量X0X3作为输入变量,P1.7代表Y作为输出变量,程序如下: MOVC,P1.0 ANLC,P1.1 MOV30H,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西钦州市统计局面向社会招聘编外人员2人备考题库附参考答案详解(轻巧夺冠)
- 2026上半年四川成都市双流区卫健系统考核招聘专业技术人员14人备考题库及参考答案详解【典型题】
- 2026湖南湘科控股集团有限公司本部审计专干岗、企建宣传岗、财务共享中心系统管理岗招聘3人备考题库含答案详解(模拟题)
- 2026广东中山板芙镇社区卫生服务中心招聘见习人员3人备考题库及完整答案详解(历年真题)
- 2026广东深圳市龙岗区坂田街道御珑豪园幼儿园招聘1人备考题库带答案详解(精练)
- 2025-2026闽教院翔安一附小招聘非在编合同教师1人备考题库(二)附参考答案详解【模拟题】
- 二年级数学克与千克知识详解
- 中船动力集团2026届春季校园招聘备考题库参考答案详解
- 2026-2027广东佛山南海区石门高级中学招聘教师188人备考题库(第三场)及答案详解【全优】
- 2026广西钦州市城市管理局招聘公益性岗位人员2人备考题库【巩固】附答案详解
- 2025年东北大学材料工程复试笔试及答案
- 雨课堂学堂在线学堂云《短视频创意与制作(北京邮电)》单元测试考核答案
- (2026年)心理健康中小学生主题班会课件
- 2025年事业单位口腔招聘考试题及答案
- 阀门型号分类及应用手册
- 《危险化学品安全法》解读与要点
- 单位领导讲安全课件
- 安全技术交底蜘蛛人高空作业交底
- 无人机通信测试模板
- DB11∕T 1237-2025 污水源热泵系统设计规范
- 网络游戏公司行政专员招聘题库及答案
评论
0/150
提交评论