《单片微机原理 第三章A0 单片微机指系统及程序设计.ppt》由会员分享,可在线阅读,更多相关《单片微机原理 第三章A0 单片微机指系统及程序设计.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章 单片微机指令系统及程序设计单片微机指令系统及程序设计主讲人:吴雪主讲人:吴雪 3.1指令系统简介指令系统简介数据传送指令(数据传送指令(28条)条)算术运算指令(算术运算指令(24条)条)逻辑运算指令(逻辑运算指令(25条)条)控制转移类指令(控制转移类指令(17条)条)位操作指令(布尔指令)位操作指令(布尔指令)17条)条)单字节指令;(单字节指令;(49条)条)E6H双字节指令;(双字节指令;(45条)条)7430H三字节指令。(三字节指令。(17条)条)852000H一、一、MCS-51指令分类:指令分类:1、按功能分类:、按功能分类:2、按字节分类:、按字节分类:3、按寻
2、址方式分:按寻址方式分:立即寻址;立即寻址;直接寻址;直接寻址;寄存器寻址;寄存器寻址;寄存器间接寻址;寄存器间接寻址;变址寻址;变址寻址;相对寻址;相对寻址;位寻址。位寻址。51系列按寻址方式可分成七类:系列按寻址方式可分成七类:按每条指令所需的周期时间可分为:按每条指令所需的周期时间可分为:4.按执行速度按执行速度时钟周期=1/f晶振(振荡周期)机器周期=12*时钟周期设晶振f=12M 时钟周期=1/(12*10-6)机器周期=12*1/(12*10-6)s=1 s单周期指令单周期指令双周期指令双周期指令四周期指令四周期指令二、指令格式二、指令格式标标号号:以字母开始的l8个字符串组成,是
3、符号地址,标号后必用冒号。操作码:操作码:表示指令的性质和功能表示指令的性质和功能,用助记符助记符表示。操作数:操作数:表示参加运算的数据运算的数据或数据有效的地址数据有效的地址,分为目的操作数目的操作数目的操作数目的操作数和源操作数源操作数。源操作数源操作数源操作数源操作数表示操作数的来源,目的操作数目的操作数目的操作数目的操作数表示操作结果。注注释释:便于阅读程序,对指令的解释说明。注释前加分号。MCS51单片微机采用汇编语言指令单片微机采用汇编语言指令(1)格式:)格式:标号:标号:操作码操作码目的操作数目的操作数,源操作数源操作数;注释注释在在MCS-51指指令令中中,一一般般指指令令
4、主主要要由由操操作作码码、操操作数组成。作数组成。指令应具有以下功能:指令应具有以下功能:(1)操操作作码码指指明明执执行行什什么么性性质质和和类类型型的的操操作作。例如,数的传送、加法、减法等。例如,数的传送、加法、减法等。(2)操操作作数数指指明明操操作作的的数数本本身身或或者者是是操操作作数数所所在的地址。在的地址。(3)指定操作结果存放的地址)指定操作结果存放的地址。例如例如LP:MOVA,#30H;立即数立即数30HA标号标号操作码操作码目的操作数目的操作数源操作数源操作数注释注释(2)机器码)机器码7430H(MOVA,#30H)三、三、MCS-51系列指令寻址方式系列指令寻址方式
5、 Rn:当前选中的寄存器区中的当前选中的寄存器区中的8个工作寄存器个工作寄存器R0R7(n=07)Ri:当前选中的寄存器区中的当前选中的寄存器区中的2个工作寄存器个工作寄存器R0、R1#data表示表示8位常数位常数(立即数立即数)。#datal6表示表示16位常数。位常数。(1)寻址寻址:寻找操作数的单元地址。寻找操作数的单元地址。(2)常用符号说明)常用符号说明add16表示表示16位地址。位地址。add11表示表示11位地址。位地址。direct表示片内表示片内RAM(包括包括SFR)中中8位直接地址。位直接地址。bit代表位地址。代表位地址。rel地址偏移量地址偏移量(指偏移字节数指偏
6、移字节数)。间接寻址符号间接寻址符号A累加器。累加器。B专用寄存器,用于乘法和除法指令中。专用寄存器,用于乘法和除法指令中。C进位标志或进位位,或布尔处理机中的累加器进位标志或进位位,或布尔处理机中的累加器常用符号说明常用符号说明(3 3)寻址方式)寻址方式)寻址方式)寻址方式例例MOVA,#30H;#30H表示常数表示常数30H。功功能能:把把常常数数30H送送入入累累加加器器A中中,程程序序执执行行结结果果是是A=30H。注意:注意:立即数立即数30H的地址在程序区。的地址在程序区。设设该该指指令令地地址址为为2000H,其其指指令令的的机机器器代代码码为为7430,是两字节指令。,是两字
7、节指令。程序存储区程序存储区2000H74H2001H30H30H一、立即寻址立即寻址特点特点:源操作数是常数,直接参与操作。ACC二、直接寻址方式二、直接寻址方式 例如:例如:MOVA,30H;30H(无无#号)号)是内存的一个单元地址。是内存的一个单元地址。功能:把功能:把30H地址单元中的内容送累加器地址单元中的内容送累加器A。设设 30H单单元元中中存存放放着着一一个个数数FFH,程程序序执执行行结结果果A=FFH。机器码:机器码:E530H程序存储区程序存储区片片内内RAMACC2000HE5H30HFFHFFH2001H30H注注意意:直直接接地地址址只只能能表表示示专专用用寄寄存
8、存器器、内内部部存存储储器器及及位位地地址空间址空间特点:特点:源操作数是存放数据的一个单元地址。源操作数是存放数据的一个单元地址。三、三、寄存器寻址方式寄存器寻址方式例如例如 MOV AMOV A,RnRn MOV P1,A MOV P1,A N=0,N=0,机器码为:机器码为:1110 1000 E8H1110 1000 E8H N=1,N=1,机器码为:机器码为:1110 1001 E9H1110 1001 E9H N=2,N=2,机器码为:机器码为:1110 1010 EAH1110 1010 EAH N=7,N=7,机器码为:机器码为:1110 1111 EFH1110 1111 E
9、FH 特点特点:源操作数在一个寄存器中即寄存器内容源操作数在一个寄存器中即寄存器内容直接参与操作。直接参与操作。功能:把寄存器功能:把寄存器RnRn中的内容送入累加器中的内容送入累加器A A中。中。四、四、寄存器间接寻址寄存器间接寻址 特点:源操作数通过寄存器间接得到,即寄存器中存放的是操特点:源操作数通过寄存器间接得到,即寄存器中存放的是操作数的地址。作数的地址。例如例如MOVA,R0;(R0)A机器码机器码:E6H(11100110)MOVXA,R0功功能能:Rn中中存存放放的的是是一一个个地地址址,把把该该地地址址所所指指向向的的地地址址单单元元中中的数据送入累加器的数据送入累加器A中。
10、中。例:例:程序存储区程序存储区片内片内RAMACC2000HE6HR030H30H80H80H2001H注意:间址单元可在片内低注意:间址单元可在片内低128B,也可在片外也可在片外64KB中中若若MOVXA,R0 程序存储区 片外RAM ACC 2000H E2H R0 30H 30H ABH ABH 2001H 注意:在访问片内注意:在访问片内RAM低低128B和片外和片外RAM低低256B时,时,用用R0或或R1作地址指针,在访问全部作地址指针,在访问全部64K片外片外RAM时,时,用用DPTR作地址指针。作地址指针。例例R1=5AH,(5AH)=20H若若MOVA,R1学生练习!学生
11、练习!五、变址寻址方式五、变址寻址方式(基址寄存器基址寄存器+变址寄存器间接寻址)变址寄存器间接寻址)特特点点:以DPTR或PC作基址寄存器,累加器A作为变址寄存器(存放地址偏移量),这两个寄存器相加,形成了16位的操作地址。操作数地址操作数地址=基址基址+变址变址DPTR(PC)A 例如 MOVC A,A+DPTR功功能能:把A+DPTR 形成的16位的新地址中的数据送入累加器A中。设 (A)=EFH,(DPTR)=2000H,该指令执行结果是把20EFH地址单元中的数据送入A中。在8051中,用变址寻址方式只能访问程序存储器,访问的范围为64KB。ROM DPTR DPH 20H1000H
12、 93H DPL 00H ACC EFH ALU20EFH 47H特点:特点:把当前的PC值和偏移量值相加,形成了相对转移地址。转移的目的地址是相对PC而言的。例如例如 SJMP 08HSJMP 08H 若该指令在2000H处,执行该指令后,(PC)=2002H(该指令是两字节指令),转移的目的地址为:2002H+08H=200AH 例如例如 JC 03HJC 03H 机器码:40H 03H 若该指令在1000H处,当C=1时,跳转3个字节。执行该指令后,(PC)=1002H(该指令是两字节指令),转移的目的地址为:1002H+03H=1005H六、六、相对寻址方式相对寻址方式注意:注意:PC
13、是执行该指令后的PC;转移范围 -128B+127B,即以PC 为中心,向前最大可转127字节,向后最远可转128字节。七、七、位寻址方式位寻址方式特点:特点:操作数直接给出某位的地址 (与字节操作时直接寻址方式类似)例如 MOV C,08H SETB 07H功功能能 :把某位的状态(0或1)送入进位位C中(C作为位累加器)。位寻址范围:位寻址范围:内存RAM中的位寻址区;20H-2FH 16个单元中的128位。可位寻址的某些专用寄存器。可以直接用寄存器名字价位数表示。如:ACC.3、PSW.5等。3.1.4 3.1.4 寻址空间及常用符号说明寻址空间及常用符号说明1.寻址空间寻址空间寻址方式寻址方式寻址空间寻址空间立即数寻址立即数寻址程序存储器程序存储器ROM直接寻址直接寻址片内片内RAM低低128B,特殊功能寄存器特殊功能寄存器寄存器寻址寄存器寻址工作寄存器工作寄存器R0R7,A,B,C,DPTR寄存器间接寻址寄存器间接寻址片内片内RAM低低128B;R0,R1,SP(仅仅PUSH,POP)片外片外RAM(R0,R1,DPTR)变址寻址变址寻址程序存储器程序存储器(A+DPTR),A+PC)相对寻址相对寻址程序存储器程序存储器256B范围(范围(PC+偏移量)偏移量)位寻址位寻址片内片内RAM的的20H2FH字节地址;字节地址;部分特殊功能寄存器部分特殊功能寄存器