资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统控制理论基础控制理论基础( (II)II)交交通通大大学学精精品品课课程程系系列列20072007课程负责人:杨汝清课程负责人:杨汝清 教授教授 曹其新教授曹其新教授顾问:顾问: 王显正王显正 教授教授School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.1概述11.2 指令分类11.3 寻址方式11.4 指令系统11.5 数据传送类29条11.6 算术操作类24条11.7 逻辑运算类24条11.8 控制转移指令17条11.9 位操作指令17条School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统一台计算机所能执行的指令集合就是它的指令系统。重点掌握寻址方式指令分类School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.1概述机器语言 (指令的二进制编码表示) 但机器语言具有程序长、不易书写、难于阅读和调试、容易出错等缺点,那么使用符号指令就显得十分必要,通常把表示指令的符号称之为助记符。School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统汇编语言而以助记符表示的指令就是计算机的汇编语言.一条指令通常由两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作,而操作数则表示指令的操作的对象。单片机的指令是不定长的,在MCS-51指令系统中,有一字节、二字节、三字节等不同长度的指令.School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.2 指令分类MCS-51 单片机指令系统共有指令111条,分为五大类数据传送类:29条算术运算类:24条逻辑运算类:24条控制转移类:17条位操作类: 17条School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.3 寻址方式寻址的“址”是指操作数所在的单元地址。因此寻址就是如何确定操作数单元地址的问题。共有七种寻址方式寄存器寻址 MOV A,R2直接寻址 MOV A,3AH立即寻址 MOV A, #3AH寄存器间接寻址 MOV A,R0变址寻址 MOVC A, A+DPTR相对寻址 JC 03H位寻址 SETB 3DHSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统1立即寻址指令码中直接含有所需地址的操作数MOV A,#30HMOV DPTR,#3000H注意:#是唯一区别与地址的标志。School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统2直接寻址指令码中含有操作数的地址,机器根据地址找到操作数MOV A,30H注意:若直接寻址的地址是SFR中的某一个时,可用名称符号MOV A,TH0MOV A,8CHSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统3寄存器寻址所需的操作数在某个工作寄存器中(R0R7)INC R0注意:指令表中INC Rn,n取07School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统4寄存器间接寻址指令码中含有操作数地址的寄存器号。实际上是二次寻址间接寻址采用Ri或DPTR,是区别寄存器寻址的标记若(RO)=30H,(30H)=0FFHMOV A , R0MOV A , R0School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统5相对寻址指令码中含有相对地址的偏移量MOV A,40H ADD A,#30HSJMP SOUT ;PC=PC+2+rel。 ;。SOUT:MOV 50H,ASchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统SJMP rel(PC)=(PC)+2+rel例:835AH SJMP 35H目的地址=835AH+02H+35H=8391H例:835AH SJMP E7H目的地址=835AH+02H-19H=8343H-19H=-0001 1001 =1110 0111(补码)School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统6变址寻址基地址寄存器和偏移量MOVC A, A+PCMOVC A, A+DPTR注意:变址寻址区是程序存储器而不是数据存储器。执行前,应预先在DPTR和A中存放地址,为指令执行提供条件。School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统7位寻址指令中含有位地址位地址和字节地址的区分通过指令区分:MOV A,20HMOV C,20HSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统可供位寻址的区域片内RAM的20H2FH为位寻址空间(007FH)某些SFR:地址能被8整除的SFR,共11个。位地址的表示方法MOV C,ACC.7MOV 20H,C MOV 24H.0,CSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.4 指令系统MCS-51汇编语言是用42种操作码助记符描述33种操作功能,一种功能可能有几种助记符,与寻址方式结合共产生111条指令。数据传送类:29条算术运算类:24条逻辑运算类:24条控制转移类:17条位操作类: 17条School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.5 数据传送类29条传送数据可在ACC,R0R7,内部RAM,外部RAM间进行,其中A, R0R7的操作最多传送类指令不影响PSW(除P位) 数据传送指令表School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例1 已知(70H)=60H,(60H)=20H,分析如下程序.MOV R0,#70H; (R0)=#70HMOV A,R0 ; (A)=#60HMOV R1,A ; (R1)=#60H MOV 40H,R1 ; (40H)=#20HMOV R0,R1 ; (60H)=#60HSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例2 查表指令举例1ORG 8000H8000H: MOV A ,#40H8002H:MOVC A,A+PC; (8003H+40H-PC) ;(44H-A)ORG 8040HDB 41H 42H 43H 44H School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统查表指令举例2ORG 8000HMOV A ,#03HMOV DPTR,#8040HMOVC A,A+DPTR; A=? (44H)ORG 8040HDB 41H 42H 43H 44H School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例3 分析如下程序执行完成后A,R0,PC的内容.1010H:02H1011H:04H1012H:06H1013H:08H1000H:MOV A,#0DH; 0DH-A1002H:MOVC A,A+PC;(0DH+1003H)-A1003H:MOV R0,A; A-R0A=02H, R0=02H, PC=1004HSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例4. 将累加器A中的低4位数据传送到数据存储器3000H单元中去.MOV DPTR, #3000HANL A, #0FHMOVX DPTR, ASchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统数据传送类指令小结School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统内部RAM的数据传送方式School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.6 算术操作类24条加、减、乘、除、增1、减1影响PSW中的CY、AC、OV、P不带进位加法4带进位加法4带借位减法4加1指令5减1指令4十进制调整指令1乘除法指令2 算术操作指令School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统 School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统加、减法指令(ADD ADDC SUBB INC DEC)无符号数和有符号数由用户自己决定均以ACC作为目的操作数带符号数运算时,必须检查溢出位OV若进行不带进位的减法时,用CLR C,将进位位清零即可。School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统DA A为十进制调整指令,紧跟加法指令ADD或ADDC之后,对BCD码加法运算进行修正.1) BCD 码: 000010012) 计算机内是4位2进制数是逢16进位,不符合十进制的要求.3) 例如 0101+1000=1101 不是BCD码 如果1101+0110=0001 0011则变为BCD码.4) 在加法指令后直接 加上指令 DA A, 计算机的硬件自动进行加6运算School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统乘除法指令只能进行无符号的乘除法虽影响OV,但意义不同MUL AB;BA,OV=1表示乘积大于FFHDIV AB;AB, 0V=1,B=0,除法无意义School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统举例MOV A,#5AHADD A,#6B H0101101001101011(+-11000101CY =? AC=? OV=? School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.7 逻辑运算类24条读-修改-写指令对数据进行逻辑处理模拟各种硬件电路的逻辑功能逻辑与ANL逻辑或ORL逻辑异或XRL逻辑移位 RR RRC RL RLC累加器清零与取反 CLR CPLSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例:A=7AH=0111 1010 , CY=1RLC A1111 0101 = F5H , CY=0,P=0 School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统带进位移位和不带进位移位例: M1和M1+1单元存有16位二进制数,试编程将其扩大二倍School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统程序CLR CMOV R1,#M1MOV A,R1RLC AMOV R1,AINC R1MOV A,R1RLC AMOV R1,ASchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.8 控制转移指令17条无条件转移绝对转移LJMP 、AJMP短转移SJMP间接转移JMP A+DPTR有条件转移JZ 、CJNE、 DJNZ子程序调用与返回ACALL、 LCALL、RET中断返回RETI, RET 空操作NOPSchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统举例:把从40H单元开始的10个单元中的内容相加. MOV R2,#0AH MOV R0,#40H CLR ALOOP:ADD A,R0 INC R0 DJNZ R2,LOOP MOV SUM,ASchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统11.9位操作指令17条位传送MOV BIT,BIT (错误)位逻辑操作与ANL、或ORL、取反CPL位条件转移JC、JNC、JB、JNB、JBC位置位,清零(SETB、CLR)School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例1例 1 内部数据存储器的60H、61H单元中连续存放着4位BCD码。试编写一段程序将这4位BCD码倒序排列 School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统程序MOV R0,#60HMOV R1,#61HMOV A,R0SWAP AXCH A,R1SWAP AMOV R0,ASchool of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例2已知片内RAM 50H单元中存放数值AAH,设堆栈指针为30H,把此数值压入堆栈,然后再弹出到40H单元中.School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统MOV SP, #30H ; 30H-SPPUSH 50H ;SP+1-SP,(50H)-(31H)POP 40H ; (31H)-(40H),SP-1-SP,School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例3试编写计算1234H + 0FE7H的程序,将和的高8位存入41H单元,低8位存入40H单元.School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统MOV A, #34H ; 34H-AADD A, #0E7H ; A+E7H-AMOV 40H, A ; A-(40H)MOV A, #12H ; 12H-AADDC A, #0FH ; A+0FH+CY-AMOV 41H, A ; A-(41H)School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统例4 试编写计算17H*68H 的程序,将乘积的高8位存入31H单元,低8位存入30H单元.School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统MOV A, #17H ; 17H-AMOV B, #68H ;68H-BMUL AB ;A*B-BAMOV 30H,A ;A-(30H)MOV 31H,B ;B-(31H)School of Mechanical & Power Engineering上海交通大学机械与动力工程学院上海交通大学机械与动力工程学院控制理论基础控制理论基础 ( (II) )第十章 单片机的指令系统This is End of Chapter 10
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号