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

下载本文档

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

文档简介

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

2、式可寻址内部128字节RAM特殊功能寄存器SFR特殊功能寄存器只能使用直接寻址方式,可以用其名称表示直接地址例: MOV 90H,A MOV P1,A寄存器寻址方式寄存器寻址方式指令中给出寄存器编号寄存器编号为 R0 - R7其对应单元位置由 RS1、RS0 决定例INC R0ADD A,R2寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的寄存器可用于间接寻址方式的寄存器有R0、R1 用于寻址内部128字节RAMDPTR 用于寻址外扩数据存储器( R0、R1)寻址外扩数据存储器,只能用寄存器间接寻址方式例: MOV A,R0 MOVX DPTR,A基址加变址寻址方式基址加变址寻址方

3、式是以累加器A中内容加上基址寄存器的值形成操作数地址可用做基址寄存器的是DPTR 或 PC基址加变址寻址方式只用于读取程序存储器中数据例:MOVC A,A+DPTR MOVC A,A+PC相对寻址方式相对寻址方式仅用于转移指令相对转移的基准是PC当前值相对转移的范围为 -128 +127所有的条件转移都采用相对寻址方式例: JNZ rel rel 可为一指令标号,其位置应在相对转移的范围内位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单元地址能被8整除的各位进行位操作。位地址空间为:00H-0FFH位地址采用直接地址形式与字节直接寻址的区别:传送指令由另一操作数判断专用位操作指令数

4、据传送类指令数据传送类指令有29条,分为5类内部RAM及SFR间传送 MOV读写外部数据存储器 MOVX读程序存储器 MOVC数据交换 XCH XCHD SWAP栈操作 PUSH POP传送指令不影响标志位内部RAM及SFR间传送(MOV)另有一条16位传送指令 MOV DPTR,#16读写外部数据存储器读写外部数据存储器指令助记符为MOVX读写外部数据存储器必须通过累加器A读写外部数据存储器指令只能用间接寻址方式间址单元为 DPTR 或 R0、R1 MOVX A ,DPTR MOVX DPTR,A MOVX A ,Ri MOVX Ri ,A读程序存储器读程序存储器指令助记符为 MOVC读程序

5、存储器必须通过累加器A读程序存储器指令只能用变址寻址方式变址单元为 DPTR 或PC MOVC A ,A+DPTR MOVC A ,A+PC数据交换字节交换指令 Rn XCH A, direct Ri半字节交换指令 XCHD A,Ri 累加器A中低四位与Ri所指单元低四位交换 SWAP A 累加器A中高四位与低四位交换栈操作指令栈操作只能用直接寻址方式压栈指令 PUSH direct出栈指令 POP direct算术运算指令算术运算指令共有24条算术运算指令将影响标志位算术运算包括加 ADD、带进位加 ADDC带借位减 SUBB增量 INC 、减量 DEC乘 MUL、除 DIV十进制调整 DA

6、 A加减指令其他算术运算指令16位寄存器加一指令 INC DPTR十进制调整指令 DA A乘法指令 MUL AB (A) X (B) = BA Cy = 0 若乘积0FFH 则 OV=1除法指令 DIV AB (A) / (B) = A B Cy = 0 若(B)=0 则 OV=1逻辑运算类指令逻辑运算类指令有24条单操作数指令累加器操作指令移位指令双操作数指令逻辑与逻辑或逻辑异或累加器操作指令累加器清零CLR A只影响P标志累加器求反CPL A不影响标志移位指令移位指令必须经累加器A所有移位都是循环移位,分左移、右移可带进位移或不带进位移RL A RLC ARR A RRC A除带进位移位外

7、,不影响标志双操作数逻辑运算指令以累加器A为目的单元以直接地址direct为目的单元(读-修改-写)控制转移类指令控制转移类指令有17条,分为:无条件转移指令判零转移指令比较转移指令循环转移指令调用返回指令无条件转移指令短转移指令 AJMP addr11PC高5位与指令中给出的11位地址相加,可在2K范围内转移长转移指令 LJMP addr16转移范围为整个64K存储空间相对转移指令 SJMP rel转移范围为-128+127散转指令 JMP A+DPTR散转指令累加器A中内容与DPTR内容相加形成转移地址A=?AJMPAJMPAJMPAJMPAJMPA=0 A=2 A=4 A=6 A=8比较

8、转移指令比较转移指令CJNE 操作数1,操作数2,操作数3 A , direct , rel A , #data , rel Rn , #data , rel Ri , #data , rel操作数1与操作数2比较,不等于零转移操作数1操作数2 则 Cy=“1”CJNEJCYNYN A=B AB循环转移指令循环转移指令是相对转移循环计数器减一,不等于“0”转移循环计数器可用工作寄存器 DJNZ Rn , rel直接地址 DJNZ direct , rel调用返回指令调用指令短调用(2K范围内) ACALL addr11长调用(64K范围内) LCALL addr16返回指令子程序返回 RET中

9、断返回 RETI空操作 NOP判零转移指令判零是根据累加器A中是否为零的状态进行转移判零转移指令有2条,都是相对转移指令JZ 累加器为“0”转移JNZ 累加器非“0”转移位寻址与布尔处理器8051中含有一个一位的布尔处理器布尔处理器以Cy为位累加器布尔处理器可以进行逻辑与、逻辑或运算置位、清零、求反位处理单元有256个地址20H-2FH单元SFR中地址能被8整除的单元位地址的表示形式位地址只有直接寻址方式直接地址 0D5H单元地址.位序号 0D0H.5单元名称.位序号 PSW.5位寄存器名称 F0位操作类指令(17条)位传送指令: MOV C , bit MOV bit ,C位变量修改指令:清“0” CLR C CLR bit置“1” SETB C SETB bit求反 CPL C CPL bit位变量逻辑操作指令指定位变量与位累加器Cy进行逻辑操作,结果在Cy中逻辑与 ANL C,bit ANL C,/bit 逻辑或 ORL C,bit ORL C,/bit注意区分位操作指令与字节操作指令 ANL C,20H ANL A,20H 判位转移指令JC 有进位转

温馨提示

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

评论

0/150

提交评论