资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令格式MCS-51系列单片机指令基本情况51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定的空间,以字节为单位。 按指令所占字节数分类:单字节(49条);双字节(46条);3字节(16条)每条指令在执行时要花去一定的时间,以机器周期为单位。按指 令执行时间分类:单周期(64条);双周期(45条);4周期(2条)按指令的功能分类,可分为5大类:数据传送类(29条);算术运算类(24条)逻辑运算及移位类(24);控制转移类(17条)位操作类(17条)安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令格式51系列单片机指令格式如下: 标号:操作码 目的操作数,源操作数;注释其中包含:方括符 表示可选项标号代表指令所在地址,1-8个字母/数字,“:”结尾操作码就是指令功能助记符,指令实体目的操作数源操作数注释,以“;”开头安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式MCS-51系列单片机寻址方式寻址方式:计算机指令中操作数(按地址)获取的方式 MCS-51系列单片机提供了7种寻址方式,如果一条 指令中包含多个操作数,就可能用到一种以上的寻 址方式1、立即寻址2、直接寻址3、寄存器寻址4、寄存器间接寻址5、变址寻址6、相对寻址7、位寻址安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式1、立即寻址(一) 在指令中直接给出操作数的寻址方式称为立即寻址。这个操作 数叫立即数,如指令:MOV A, #3AH 该指令是将立即数3AH送累加器,由于MCS-51单片机的片内 存储器是8位存储器,因此立即数一般为8位二进制数。在MCS -51的指令系统中,用#来识别立即数。74HA操作码立即数程序存储器PCPC+13AH3AH安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式1、立即寻址(二) 在有的指令中,也会用到16位立即数,如: MOV DPTR, #0123H 该指令是将16位立即数0123H送数据指针DPTR(用于对16位地 址的存储器寻址),DPTR由两个特殊功能寄存器DPH和DPL组 成,在后面的寻址方式中会使用到DPTR。90H01H23H01H23HPCPC+1PC+2操作码高位立即数低位立即数程序存储器SFRDPHDPL安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式2、直接寻址 在指令中直接给出操作数地址的寻址方式称为直接寻址,直接 寻址可以寻址特殊功能寄存器、内部RAM(128字节)和位地址 ,如: MOV A, 70H; A(70H) 该指令是将RAM单元70H(地址)的内容送累加器。E5H70HPCPC+1操作码直接地址程序存储器内部RAM70HAXXXX安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式3、寄存器寻址 在指令的操作码中包含了某一工作寄存器的地址(Rn:R0 R7),而操作数则存放在该寄存器中,如: MOV A, R5; A(R5) 该指令是将R5的内容送累加器。101PC操作码程序存储器内部RAMR5AXXXXR6R711101安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式4、寄存器间接寻址 在指令的操作码中包含了某一工作寄存器的地址(可用作地址指 针的工作寄存器是Ri:R0、R1),而操作数地址则存放在该 寄存器中,如: MOV A, R1; A(R1) 该指令是将R1的内容送作为地址,将该地址所对应的RAM单 元的内容送累加器。1PC操作码程序存储器内部RAMR1AXX68H1110011XX68H安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式5、变址寻址 将PC或DPTR的值作为基地址,将Acc的值作为变址地址,二 者向加得到的值作为操作数的地址,如: MOVC A, A+DPTR; A(A)+(DPTR) 这种寻址方式一般用于常数表,DPTR的内容为表头地址, Acc的内容就是数据在表中的位置。PC操作码程序存储器SFRA100100111EH02HALU030FHXXDPHDPLF1H02F1H02F1H+1EH=030FHXX安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式6、相对寻址(一)相对寻址以PC当前值(PC当前值是执行完指令后的值,也就是 当前指令的PC值+指令所占的字节数)作为基地址,与指令中给 定的偏移量rel相加,所得的结果作为程序的转移地址,指令中 的偏移量rel是一个用补码表示的8位带符号数。相对寻址用于 相对转移指令中,如: JZ 30H; 当A=0时,PCPC+2+rel当A0时,PCPC+2 /程序顺序执行 该指令以累加器Acc的值是否为0为转移条件,如果为Acc的值 0则转移,如果Acc的值不为0则程序顺序执行。程序的执行过 程见相对寻址(二)。 在MCS-51的指令系统中,相对转移指令多为2字节指令,因此 目的地址一般是PC+2+rel;如果是3字节指令,目的地址是 PC+3+rel。偏移量rel是一个8位带符号数,因此程序转移的范 围在PC当前值的+127-128之间。安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式6、相对寻址(二)60HPC操作码程序存储器PC0102HALU30HXX0100HPC+10101HPC+20102HPC0132H偏移量0102H +30H=0132Hrel=30H 0132H安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集寻址方式7、位寻址 MCS-51系列单片机中有专用的位运算指令,可以对位寻址区 的每一个位进行数据传送、逻辑运算等操作,如: MOV C, 07H; C(07H) 该指令属于位操作指令,作用是将位地址为70H的位单元(字节 地址20H单元的D7位)传送到位累加器C中。PC操作码程序存储器C20HA2H00PC+107HPSWX07SFRX安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集MCS-51指令集(包含5大类功能)1、数据传送类指令: (29条)2、算术运算类指令: (24条)3、逻辑运算及移位类指令: (24条)4、控制转移类指令: (17条)5、位操作指令: (17条)安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(一)片内数据存储器间传送: (MOV16条)片外数据存储器送累加器: (MOVX4条)程序存储器送累加器: (MOVC2条)数据交换: (XCH,XCHD,SWAP5条)数据交换: (PUSH,POP2条)安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(二)片内数据存储器间传送: (MOV16条)MOV类指令带有两个操作数,前一个是目的地址, 后一个是源操作数。作用是将源操作数送目的地址 ,如:MOV A, 30H; A(30H) AccDirect直接寻址Ri间接寻址Rn寄存器寻址#data立即数安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(三)片外数据存储器数据送累加器:(MOVX4条)MOVX类指令可以在累加器和Ri或DPTR(Ri 为8位地址;DPTR为16位地址)所指向的外部数 据存储器间相互传送数据。具体指令有:MOVX A, Ri; A(Ri)MOVX A, DPTR; A(DPTR)MOVX Ri, A; (Ri) AMOVX DPTR, A; (DPTR) A安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(四)程序存储器数据送累加器:(MOVC2条)MOVC类指令采用变址寻址方式进行寻址。该类指 令通常称为查表指令,送入累加器Acc的数据是事 先写入的表格数据,通常使用伪指令DB或DW预 先定义在程序存储器中。具体指令有:MOVC A, A+DPTR; MOVC A, A+PC; 安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(五)数据交换指令:(5条)XCH A,direct (字节互换)XCH A,Ri (字节互换)XCH A,Rn (字节互换)XCHD A,Ri 累加器Acc的低4位与(Ri)的低4位互换,各自的 高4位不变SWAP A 累加器Acc的高低4位互换安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集1、数据传送类指令(六) 堆栈操作指令:(2条)PUSH 压栈指令POP 弹栈指令 堆栈由特殊功能寄存器SP(堆栈指针)进行管理 理论上堆栈在存储器中可以放在任意位置,但为 了不和工作寄存器冲突,一般将堆栈放在存储器靠 后的位置 堆栈指针SP总是指向栈顶(自动变化,见第二章 相关内容) PUSH和POP一般是成对使用的安 徽 机 电 职 业 技 术 学 院单片机与接口 技术第三章 MCS51指令系统MCS-51指令格式寻址方式MCS-51指令集MCS-51指令集2、算术运算类指令(一)加法运算: (ADD4条)带进位加法运算: (ADDC4条)带借位减法运算: (SUBB4条)加1/减1操作: (INC,DEC9条)单字节乘/除
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号