资源描述:
《《片机指令系统》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、51系列单片机指令系统51系列单片机指令系统有111条指令其中有49条单字节、45条双字节、17条三字节有64条单周期、45条双周期、2条四周期按功能可分为数据传送类指令算术运算类指令逻辑运算类指令位操作类指令控制转移类指令指令寻址方式51系列单片机指令系统有七种寻址方式立即寻址方式直接寻址方式寄存器寻址方式寄存器间接寻址方式基址加变址寻址方式相对寻址方式位寻址方式立即寻址方式立即寻址方式在指令中直接给出操作数表示立即数时前面加#立即数可以用二进制数(B)十六进制数(H)十进制数例:MOVA,#23HMOVDPTR,#2040H直接寻
2、址方式直接寻址方式指令中给出操作数地址直接寻址方式可寻址内部128字节RAM特殊功能寄存器SFR特殊功能寄存器只能使用直接寻址方式,可以用其名称表示直接地址例:MOV90H,AMOVP1,A寄存器寻址方式寄存器寻址方式指令中给出寄存器编号寄存器编号为R0--R7其对应单元位置由RS1、RS0决定例INCR0ADDA,R2寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的寄存器可用于间接寻址方式的寄存器有R0、R1用于寻址内部128字节RAMDPTR用于寻址外扩数据存储器(R0、R1)寻址外扩数据存储器,只能用寄存器间接寻址方
3、式例:MOVA,@R0MOVX@DPTR,A基址加变址寻址方式基址加变址寻址方式是以累加器A中内容加上基址寄存器的值形成操作数地址可用做基址寄存器的是DPTR或PC基址加变址寻址方式只用于读取程序存储器中数据例:MOVCA,@A+DPTRMOVCA,@A+PC相对寻址方式相对寻址方式仅用于转移指令相对转移的基准是PC当前值相对转移的范围为-128~+127所有的条件转移都采用相对寻址方式例:JNZrelrel可为一指令标号,其位置应在相对转移的范围内位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单元地址能被8整除的各位进行
4、位操作。位地址空间为:00H-0FFH位地址采用直接地址形式与字节直接寻址的区别:传送指令由另一操作数判断专用位操作指令数据传送类指令数据传送类指令有29条,分为5类内部RAM及SFR间传送MOV读写外部数据存储器MOVX读程序存储器MOVC数据交换XCHXCHDSWAP栈操作PUSHPOP传送指令不影响标志位内部RAM及SFR间传送(MOV)另有一条16位传送指令MOVDPTR,#16读写外部数据存储器读写外部数据存储器指令助记符为MOVX读写外部数据存储器必须通过累加器A读写外部数据存储器指令只能用间接寻址方式间址单元为DPTR或
5、R0、R1MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A读程序存储器读程序存储器指令助记符为MOVC读程序存储器必须通过累加器A读程序存储器指令只能用变址寻址方式变址单元为DPTR或PCMOVCA,@A+DPTRMOVCA,@A+PC数据交换字节交换指令RnXCHA,direct@Ri半字节交换指令XCHDA,@Ri累加器A中低四位与Ri所指单元低四位交换SWAPA累加器A中高四位与低四位交换栈操作指令栈操作只能用直接寻址方式压栈指令PUSHdirect出栈指令POPdirect算术运算指令算术运算指
6、令共有24条算术运算指令将影响标志位算术运算包括加ADD、带进位加ADDC带借位减SUBB增量INC、减量DEC乘MUL、除DIV十进制调整DAA加减指令其他算术运算指令16位寄存器加一指令INCDPTR十进制调整指令DAA乘法指令MULAB(A)X(B)=BACy=0若乘积>0FFH则OV=1除法指令DIVAB(A)/(B)=A……BCy=0若(B)=0则OV=1逻辑运算类指令逻辑运算类指令有24条单操作数指令累加器操作指令移位指令双操作数指令逻辑与逻辑或逻辑异或累加器操作指令累加器清零CLRA只影响P标志累加器求反CPLA不影响标
7、志移位指令移位指令必须经累加器A所有移位都是循环移位,分左移、右移可带进位移或不带进位移RLARLCARRARRCA除带进位移位外,不影响标志双操作数逻辑运算指令以累加器A为目的单元以直接地址direct为目的单元(读-修改-写)控制转移类指令控制转移类指令有17条,分为:无条件转移指令判零转移指令比较转移指令循环转移指令调用返回指令无条件转移指令短转移指令AJMPaddr11PC高5位与指令中给出的11位地址相加,可在2K范围内转移长转移指令LJMPaddr16转移范围为整个64K存储空间相对转移指令SJMPrel转移范围为-128
8、~+127散转指令JMP@A+DPTR散转指令累加器A中内容与DPTR内容相加形成转移地址A=?AJMPAJMPAJMPAJMPAJMPA=0A=2A=4A=6A=8比较转移指令比较转移指令CJNE操作数1,操作数2,操