电子第6章80c51指令系统.ppt
《电子第6章80c51指令系统.ppt》由会员分享,可在线阅读,更多相关《电子第6章80c51指令系统.ppt(52页珍藏版)》请在三一办公上搜索。
1、教学目的:熟悉80C51系列单片机的寻址方式及每一种寻址方式对应的寻址空间;掌 握每一条指令功能。教学重点:1.80C51系列单片机寻址方式所对应 的寻址空间;2.80C51系列单片机指令功能。教学难点:1.数据传送类指令中对不同的存储空 间应采用的传送指令及寻址方式。2.间接寻址方式,第6章 80C51的指令系统,61 指令系统简介,1.80C51系列指令系统概述 指令是规定计算机进行某种操作的命令。计算机能够执行的各种指令的集合就称为指令系统。根据代码长度,80C51单片机的指令有单字节、双字节和三字节指令。按照指令执行速度又可分为单周期、双周期和四周期指令。2.汇编语言指令格式 80C5
2、1汇编语言指令格式如下:操作码 操作数1,操作数2,操作数3;注释 操作码:是由助记符表示的字符串,它规定了指令的操作功能。操作数:如果指令中有操作数,则它是指参加操作的数据或数据的地址。例如一条传送指令的书写格式为:MOV A,45H;(45H)A它表示将45H存储单元的内容送到累加器A 中。,6.2 寻址方式 指令系统的寻址方式 规定了操作数的访问方式。80C51指令系统有寄存器寻址、直接寻址、间接寻址、立即寻址、基址变址寻址和相对寻址等七种寻址方式。6.2.1 汇编指令中的符号约定Rn(n07)-当前选中的8个工作寄存器R0R7,它在片内数据存储器中的地址由PSW中RSl、RS0确定;R
3、i(i0或1)-当前选中的用于间接寻址的工作寄存器R0、R1,它在片内数据存储器中的地址由RS0、RS1确定;direct-8位直接地址,可以是片内RAM单元地址或SFR地址;data8-8位常数;datal6-16位常数;,addrl6-16位目的地址,寻址空间 64K字节程序存储器;addr11-11位目的地址;rel-补码形式的8位地址偏移量,用于相对转移指令中bit-位地址,片内RAM或SFR的可寻址位的位地址;-间接寻址寄存器的前缀;-位操作数的取反操作前缀。以下符号仅出现在指令注释或功能说明中。X-片内RAM的直接地址(包含位地址)或寄存器。(X)-表示 X中的内容。(X)-在间接
4、寻址方式中,表示由间址寄存器X指出的地址单元中的内容。-指令操作流程,将箭头左边内容送入箭头右边的单元内。,1.立即数寻址方式立即数(指令中的常数)直接参与指令操作。立即数前必须加“#”标记。指令中的立即数有8位立即数#data8和16位立即数#data16。例1 MOVA,#3AH;立即数3AH送累加器A 图6.1 MOV A,#3AH执行示意图,2.直接寻址方式,在这种寻址方式中,操作数项给出的是参加运算的操作数的地址。可寻址空间有特殊功能寄存器、内部数据存储器以及位地址。其中特殊功能寄存器和位地址空间只能用直接寻址方式来访问。例1 MOVA,3AH;把A的内容送3AH单元。例2 MOVP
5、1,#10H;将立即数10H送P1口。注意:例2 中的目的操作数P1是直接寻址方式,这里用符号P1代替了直接地址90H。,图6.3 MOV A,38H执行示意图,3.寄存器寻址方式寄存器寻址是对选定的工作寄存器R0R7、累加器A、通用寄存器B、地址寄存器DPTR和进位CY中的数进行操作。例1.MOV A,R2;将当前工作寄存器的内容 送累加器A。(指令代码为1字节EA注意R2在片内RAM的位置,它由RS0、RS1决定。如PSW中RS1、RS0的值分别为1、0,则现在的R2属于第二组工作寄存器,那么它的地址为12H。现已知12H中存放着数值4AH,则执行该指令后,4AH就被送到A累加器中。,图6
6、.4 MOV A,R2执行示意图,4.寄存器间接寻址方式,在这种寻址方式中,操作数所指定的寄存器中存放的不是操作数本身,而是操作数的地址。这种寻址方式用于访问片内数据存储器或片外数据存储器。间接寻址寄存器:Ri(8位地址指针)和DPTR(16位地址指针),间接寻址寄存器前加表示间址操作。例1 MOV R0,#50H MOV A,R0 例2 MOV DPTR,#2760H MOVX DPTR,A,图6.5 MOV A,R0执行示意图,5.变址寻址(基址寄存器变址寄存器的间接寻址)变址寻址方式中使用DPTR或PC作基址寄存器,累加器A作变址寄存器。采用变址寻址的指令只有三条:MOVCA,A+DPT
7、RMOVCA,A+PCJMPA+DPTR 前两条用于程序存储器的查表操作,后一条用于程序的分支散转。,例 1 现假设MOVC A,ADPTR指令存放在70H单元,ACC中原存放值为E0H,DPTR中值为2000H,则ADPTR形成的地址为20E0H。20E0H单元中内容为47H,则执行该指令后,ACC中原E0H被47H代替。该指令执行过程示于图6.7。,6.相对寻址方式相对寻址是将程序转移到相对地址的转移指令。是将程序计数器PC中的当前内容(转移指令的下一条指令地址)与转移指令第二字节所给出的偏移量相加,其结果作为跳转指令的转移地址。偏移量为带符号的数,其范围为+127128。程序设计中,相对
8、地址可以用指令标号或直接地址偏移量数值,但要注意,相对转移地址的偏移量不得超过+127128。,例1 JC 03H,该指令表示若进位C0,则程序顺序执行,PC PC+2;若进位C1,则以PC 中的当前内容为基地址,加上偏移量03H 后所得到的结果为该转移指令的目的地址。,图6.8 JC 03H指令执行示意图,7.位寻址方式位寻址空间:片内RAM的位寻址区(20H 2FH单元的128位)和SFR中的可位寻址的位单元。位累加器:在进行位操作时,借助于进位位C作为操作累加器。位地址与字节直接寻址中的字节地址形式完全一样,主要由操作码来区分,使用时需予以注意。例1 SETB 3DH;将片内RAM位地址
9、3DH即27H 单元的第5位置“1”。例2 ANL C,3DH;将3DH的位状态与进位位C 相与,结果保留在C中。,操作数寻址方式与寻址空间,63 指令系统分类介绍,6.3.1 数据传送类指令(共24条)1 内部RAM数据传送指令 下面分类介绍:(1)累加器为目的操作数的指令 MOV A,Rn;(Rn)A MOV A,direct;(direct)A MOV A,Ri;(Ri)A MOV A,data;dataA(2)以寄存器Rn为目的操作数的指令 MOV Rn,A;(A)Rn MOV Rn,direct;(direct)Rn MOV Rn,data;dataRn,(3)以直接地址为目的操作数
10、的指令 MOV direct,A;(A)(direct)MOV direct,Rn;(Rn)(direct)MOV direct,direct;(direct)(direct)MOV direct,Ri;(Ri)(direct)MOV direct,data;data(direct)(4)以间接地址为目的操作数的指令 MOV Ri,A;(A)(Ri)MOV Ri,direct;(direct)(Ri)MOV Ri,data;data(Ri)(5)16位数据传送指令 MOV DPTR,data16;dataHDPH,datalDPL,2外部数据传送指令 MOVX DPTR,A MOVX A,DP
11、TR MOVX Ri,A MOVX A,Ri由于在80C51指令系统中,没有专门对外设的输入/输出指令,因此80C51单片机只能用这四条指令与外部设备交换数据。后2条指令使用不方便,很少使用.,例6.14 把程序存储器ROM中起始地址为1000H,长度为20H的数据块传送到以1A00H为起始地址的外部RAM中,要求使用两个DPTR数据指针来简化程序,注意辅助寄存器AUXR1的地址为A2H。,解:根据题意可编程序如下:MOV DPTR,#1A00H;1A00H 作为外部RAM首地址ORL A2H,#1;选择DPTR1 MOV DPTR,#1000H;1000H 作为程序存储器首地址 MOV R1
12、,#20H;数据块长度 R1LP2:MOVC A,A+DPTR;取程序存储器中的数据INC DPTR;DPTR1加1ANL A2H,#0FEH;恢复RAM的指针MOVX DPTR,A;数据送到外部RAM中 INC DPTR;DPTR0加1ORL A2H,#01;恢复ROM的指针DJNZ R1,LP2;数据没有传送完继续,3查表指令 在80C5l指令系统中,有2条极有用的查表指令,其数据表格放在程序存储器中。MOVC A,APC;(PC)lPC,(A)(PC)A MOVC A,ADPTR;((A)(DPTR)A4堆栈操作指令 PUSH direct;(SP)1SP,(direct)(SP)POP
13、 direct;(SP)(direct),(SP)-1SP,例6.15 执行如下程序 300H:MOV A,0DH;0DHA 302H:MOVC A,APC;(0DH303H)A 303H:MOV R0,A;(A)R0数据表格:310H:07H 311H:04H 312H:0AH 结果:A07H,R007H,PC304H 例6.16 执行如下程序,104H:MOV A,12H;12HA 106H:MOV DPTR,2000H;2000HDPTR 109H:MOVC A,A+DPTR;(12H+2000H)A数据表格:2010H:22H,34H,06H,48H 结果:A06H,PC100AH,例
14、6.17 已知片内RAM 60H单元中存放数值为86H,设堆栈指针为30H,把此数值压入堆栈,然后再弹出到50H单元中。,根据题意编写指令如下:MOV SP,#30H PUSH 60H POP 50H 程序执行过程示于图6.11。,5 交换指令 XCH A,Rn;A RnXCH A,direct;A(direct)XCH A,Ri;A(Ri)XCHD A,Ri;A.3A.0(Ri.3Ri.0)SWAP A;A.3A.0 A.7A.4 这组指令的前三条为全字节交换指令。后两条为半字节交换指令。图6.12 XCHD A,R0执行示意图,传送指令使用注意事项:片内存储器可以以直接寻址的方式将数据从一
15、个单元送到另一个单元;片内存储器的任一单元可以与工作寄存器或间址寄存器指定的地址单元间相互传送数据,但是,工作寄存器之间不能直接传送数据,也不能通过间址寄存器与片内存储器传送数据;立即数可以送到以寄存器间接寻址、直接寻址的方式的片内存储器的任一单元或工作寄存器;堆栈操作只能采用直接寻址方式。传送类指令一般不影响标志位,只有堆栈操作可以直接修改程序状态字PSW。另外,传送目的操作数为ACC的指令将影响奇偶标志P。,6.3.2 算术运算类指令(共23条)算术运算类指令主要是对8位无符号数据进行算术操作,其中包括加(ADD)、带进位加(ADDC)、带借位减法(SUBB)、乘(MUL)、除(DIV)、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 80 c51 指令系统
链接地址:https://www.31ppt.com/p-6497000.html