片机指系统课件_第1页
片机指系统课件_第2页
片机指系统课件_第3页
片机指系统课件_第4页
片机指系统课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、片机指令系统课件51系列单片机指令系统z51系列单片机指令系统有111条指令y其中有49条单字节、45条双字节、17条三字节y有64条单周期、45条双周期、2条四周期z按功能可分为y数据传送类指令y算术运算类指令y逻辑运算类指令y位操作类指令y控制转移类指令片机指令系统课件指令寻址方式51系列单片机指令系统有七种寻址方式z立即寻址方式z直接寻址方式z寄存器寻址方式z寄存器间接寻址方式z基址加变址寻址方式z相对寻址方式z位寻址方式片机指令系统课件立即寻址方式z立即寻址方式在指令中直接给出操作数z表示立即数时前面加 #z立即数可以用y二进制数 (B)y十六进制数 (H)y十进制数z例:yMOV A

2、,#23H MOV DPTR,#2040H片机指令系统课件直接寻址方式z直接寻址方式指令中给出操作数地址z直接寻址方式可寻址y内部128字节RAMy特殊功能寄存器SFRz特殊功能寄存器只能使用直接寻址方式,可以用其名称表示直接地址z例: MOV 90H,A MOV P1,A片机指令系统课件寄存器寻址方式z寄存器寻址方式指令中给出寄存器编号z寄存器编号为 R0 - R7z其对应单元位置由 RS1、RS0 决定z例yINC R0yADD A,R2片机指令系统课件寄存器间接寻址方式z寄存器间接寻址在指令中给出存放操作数地址的寄存器z可用于间接寻址方式的寄存器有yR0、R1 用于寻址内部128字节RA

3、MyDPTR 用于寻址外扩数据存储器( R0、R1)z寻址外扩数据存储器,只能用寄存器间接寻址方式z例: MOV A,R0 MOVX DPTR,A片机指令系统课件基址加变址寻址方式z基址加变址寻址方式是以累加器A中内容加上基址寄存器的值形成操作数地址z可用做基址寄存器的是yDPTR 或 PCz基址加变址寻址方式只用于读取程序存储器中数据z例:MOVC A,A+DPTRz MOVC A,A+PC片机指令系统课件相对寻址方式z相对寻址方式仅用于转移指令z相对转移的基准是PC当前值z相对转移的范围为 -128 +127z所有的条件转移都采用相对寻址方式z例: JNZ rel rel 可为一指令标号,

4、其位置应在相对转移的范围内片机指令系统课件位寻址方式z对片内RAM中20H-2FH单元的各位和SFR中单元地址能被8整除的各位进行位操作。z位地址空间为:00H-0FFHz位地址采用直接地址形式z与字节直接寻址的区别:y传送指令由另一操作数判断y专用位操作指令片机指令系统课件数据传送类指令数据传送类指令有29条,分为5类y内部RAM及SFR间传送 MOVy读写外部数据存储器 MOVXy读程序存储器 MOVCy数据交换 XCH XCHD SWAPy栈操作 PUSH POP传送指令不影响标志位片机指令系统课件内部RAM及SFR间传送(MOV)z另有一条16位传送指令 MOV DPTR,#16ARn

5、Ridirect#dataAX*Rn*XX*Ri*XX*direct*源操作数目的操作数片机指令系统课件读写外部数据存储器z读写外部数据存储器指令助记符为MOVXz读写外部数据存储器必须通过累加器Az读写外部数据存储器指令只能用间接寻址方式z间址单元为 DPTR 或 R0、R1 MOVX A ,DPTR MOVX DPTR,A MOVX A ,Ri MOVX Ri ,A片机指令系统课件读程序存储器z读程序存储器指令助记符为 MOVCz读程序存储器必须通过累加器Az读程序存储器指令只能用变址寻址方式z变址单元为 DPTR 或PC MOVC A ,A+DPTR MOVC A ,A+PC片机指令系统

6、课件数据交换z字节交换指令 Rn XCH A, direct Riz半字节交换指令 XCHD A,Ri 累加器A中低四位与Ri所指单元低四位交换 SWAP A 累加器A中高四位与低四位交换片机指令系统课件栈操作指令z栈操作只能用直接寻址方式z压栈指令 PUSH directz出栈指令 POP direct片机指令系统课件算术运算指令z算术运算指令共有24条z算术运算指令将影响标志位z算术运算包括y加 ADD、带进位加 ADDCy带借位减 SUBBy增量 INC 、减量 DECy乘 MUL、除 DIVy十进制调整 DA A片机指令系统课件加减指令RnRidirect#dataAADD*XADDC

7、*XSUBB*XINC*X*DEC*X*操作数操作片机指令系统课件其他算术运算指令z16位寄存器加一指令 INC DPTRz十进制调整指令 DA Az乘法指令 MUL AB (A) X (B) = BA Cy = 0 若乘积0FFH 则 OV=1z除法指令 DIV AB (A) / (B) = A B Cy = 0 若(B)=0 则 OV=1片机指令系统课件逻辑运算类指令z逻辑运算类指令有24条z单操作数指令y累加器操作指令y移位指令z双操作数指令y逻辑与y逻辑或y逻辑异或片机指令系统课件累加器操作指令z累加器清零CLR A只影响P标志z累加器求反CPL A不影响标志片机指令系统课件移位指令z

8、移位指令必须经累加器Az所有移位都是循环移位,分左移、右移z可带进位移或不带进位移RL A RLC ARR A RRC Az除带进位移位外,不影响标志片机指令系统课件双操作数逻辑运算指令z以累加器A为目的单元z以直接地址direct为目的单元(读-修改-写)RndirectRi#dataANL*ORL*XRL*A#dataANL*ORL*XRL*片机指令系统课件控制转移类指令z控制转移类指令有17条,分为:y无条件转移指令y判零转移指令y比较转移指令y循环转移指令y调用返回指令片机指令系统课件无条件转移指令z短转移指令 AJMP addr11PC高5位与指令中给出的11位地址相加,可在2K范围

9、内转移z长转移指令 LJMP addr16转移范围为整个64K存储空间z相对转移指令 SJMP rel转移范围为-128+127z散转指令 JMP A+DPTR片机指令系统课件散转指令累加器A中内容与DPTR内容相加形成转移地址A=?AJMPAJMPAJMPAJMPAJMPA=0 A=2 A=4 A=6 A=8片机指令系统课件比较转移指令z比较转移指令CJNE 操作数1,操作数2,操作数3 A , direct , rel A , #data , rel Rn , #data , rel Ri , #data , rel操作数1与操作数2比较,不等于零转移操作数1操作数2 则 Cy=“1”CJ

10、NEJCYNYN A=B AB片机指令系统课件循环转移指令z循环转移指令是相对转移z循环计数器减一,不等于“0”转移z循环计数器可用y工作寄存器 DJNZ Rn , rely直接地址 DJNZ direct , rel片机指令系统课件调用返回指令z调用指令y短调用(2K范围内) ACALL addr11y长调用(64K范围内) LCALL addr16z返回指令y子程序返回 RETy中断返回 RETIz空操作 NOP片机指令系统课件判零转移指令z判零是根据累加器A中是否为零的状态进行转移z判零转移指令有2条,都是相对转移指令yJZ 累加器为“0”转移yJNZ 累加器非“0”转移片机指令系统课件

11、位寻址与布尔处理器z8051中含有一个一位的布尔处理器z布尔处理器以Cy为位累加器z布尔处理器可以进行y逻辑与、逻辑或运算y置位、清零、求反z位处理单元有256个地址y20H-2FH单元ySFR中地址能被8整除的单元片机指令系统课件位地址的表示形式z位地址只有直接寻址方式z直接地址 0D5Hz单元地址.位序号 0D0H.5z单元名称.位序号 PSW.5z位寄存器名称 F0片机指令系统课件位操作类指令(17条)z位传送指令: MOV C , bit MOV bit ,Cz位变量修改指令:y清“0” CLR C CLR bity置“1” SETB C SETB bity求反 CPL C CPL bit片机指令系统课件位变量逻辑操作指令z指定位变量与位累加器Cy进行逻辑操作,结果在Cy中逻辑与 ANL C,bit ANL C,/bit 逻辑或 ORL C,bit ORL C,/bit注意区分位操作指令与字节操作指令 ANL C,20H ANL A,20H 片机指令系统课件判

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论