【单片机课程设计】第03章 MCS - 51单片机指令系统 .ppt
《【单片机课程设计】第03章 MCS - 51单片机指令系统 .ppt》由会员分享,可在线阅读,更多相关《【单片机课程设计】第03章 MCS - 51单片机指令系统 .ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 汇编语言程序设计汇编语言程序设计MCS-51单片机指令系统单片机指令系统指令系统简介指令系统简介第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统 第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式3.13.1指令系统简介指令系统简介 MCS-51系列单片机指令系统共有系列单片机指令系统共有111条指条指令,其中有令,其中有49条单字节指令,条单字节指令,45条双字节指条双字节指令和令和17条三字节指令。条三字节指令。用这些指令来完成:数据传送、算术运算、用这些指令来完成:数据传送、算术运算、逻辑运算、位操作、程序转移等。逻辑运算、
2、位操作、程序转移等。MCS-51MCS-51汇编语言指令格式,由以下几个部分汇编语言指令格式,由以下几个部分组成:组成:标号:标号:操作码操作码 目的操作数目的操作数 ,源操源操作数作数 ;注释;注释 一、指令格式一、指令格式第一节指令格式与寻址方式第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统所所谓谓寻寻址址方方式式,就就是是寻寻找找操操作作数数地地址址的的方方式式,在在用用汇汇编编语语言言编编程程时时,数数据据的的存存放放、传传送送、运运算算都都要要通通过过指指令令来来完完成成。每每一一种种计计算算机机都都具具有有多多种种寻寻址址方方式式。寻寻址址方方式式的的多多少少
3、是是反反映映指指令令系系统统优优劣劣的的主主要要指指标标之之一一。寻寻址址方方式式越越多多,指令功能越强。指令功能越强。二、寻址方式二、寻址方式第一节指令格式与寻址方式第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式1.7种寻址方式种寻址方式 (1 1)立即寻址立即寻址;(2 2)直接寻址直接寻址;(3 3)寄存器寻址寄存器寻址;(4 4)寄存器间接寻址寄存器间接寻址;(5 5)基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址;(6 6)相对寻址相对寻址;(7 7)位寻址。位寻址。第第3 3章章 MCS-51MCS-51单片机指令系统单片
4、机指令系统第一节指令格式与寻址方式(1)立即寻址:立即寻址:立即寻址方式是将操作数直接存放在指令字立即寻址方式是将操作数直接存放在指令字节中,作为指令的一部分存放在代码段里。节中,作为指令的一部分存放在代码段里。比如:比如:MOV A,MOV A,3AH3AH 跟在指令操作码后面的数就是参加运跟在指令操作码后面的数就是参加运算的数算的数,该操作数称为立即数。立即数有一字该操作数称为立即数。立即数有一字节和二字节两种可能节和二字节两种可能,如指令如指令:MOV DPTR,:MOV DPTR,0DFFFH0DFFFH 上述两条指令均为立即寻址方式上述两条指令均为立即寻址方式,第第一条指令的功能是将
5、立即数一条指令的功能是将立即数 3AH3AH送累加器送累加器A A中中,第二条指令的功能是将立即数第二条指令的功能是将立即数 0DFFFH0DFFFH送数据送数据指针指针DPTRDPTR中(中(0DFHDPH,0FFHDPL0DFHDPH,0FFHDPL)。)。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(1)立即寻址:立即寻址:注意:注意:数据作为立即数操作时候,前面必须加数据作为立即数操作时候,前面必须加“#”#”如果碰到立即数的高位是如果碰到立即数的高位是ABCDEF,ABCDEF,则前面还则前面还要加要加0 0。MOV P1,#55H;M
6、OV P1,#55H;指将立即数指将立即数H H送到送到P1P1口口MOV 20H,#55H;MOV 20H,#55H;指将立即数存放到指将立即数存放到H H这个地址这个地址单元中去单元中去 (数据作为地址的时候,前面不用加(数据作为地址的时候,前面不用加#)MOV R4,#0FHMOV R4,#0FH;指将立即数;指将立即数0FH0FH送到寄存器送到寄存器R4R4中中第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(2)直接寻址:直接寻址:在指令中直接给出操作数的地址在指令中直接给出操作数的地址,这种寻这种寻址方式就属于直接寻址方式。在这种方式址方
7、式就属于直接寻址方式。在这种方式中中,指令的操作数部分直接是操作数的地指令的操作数部分直接是操作数的地址。址。如:如:MOV AMOV A,30H30H;将;将H H里面的数送里面的数送到里面到里面 MOVMOV21H,30H21H,30H;将;将H H里面的数存放里面的数存放到到21H21H里面里面第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(2)直接寻址:)直接寻址:在在MCS-51 MCS-51 单片机指令系统中单片机指令系统中,直接寻址方式中直接寻址方式中可以访问可以访问 3 3 种存储器空间种存储器空间:(1)(1)内部数据存储器的低内
8、部数据存储器的低 128 128 个字节个字节单元(单元(00H00H7FH7FH)。)。(2)(2)特殊功能寄存器。特殊功能寄存器特殊功能寄存器。特殊功能寄存器只能用直接寻址方式进行访问。比如:只能用直接寻址方式进行访问。比如:MOVMOVA,P1A,P1;将;将SFRSFR中中P1P1口的数据送入口的数据送入A A 第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(3)寄存器寻址:寄存器寻址:在该寻址方式中在该寻址方式中,参加操作的数存放在寄参加操作的数存放在寄存器里。寄存器包括存器里。寄存器包括8 8个工作寄存器个工作寄存器R0R0R7,R7,
9、累加器累加器A,A,寄存器寄存器B B、数据指针、数据指针DPTRDPTR和和布尔处理器的位累加器布尔处理器的位累加器C C。比如:比如:MOV P1,AMOV P1,A MOV P1,R4 MOV P1,R4 CLR A;CLR A;将将A A清零清零 CPL ACPL A;A A中的内容取反中的内容取反 RL ARL A;A A中的内容左移中的内容左移第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(4)寄存器间接寻址:寄存器间接寻址:该寻址方式中该寻址方式中,寄存器的内容为操作数的寄存器的内容为操作数的地址。地址。寄存器间接寻址只能使用寄存器寄
10、存器间接寻址只能使用寄存器R0R0、R1 R1 作为地址指针作为地址指针,寻址内部寻址内部RAMRAM区的数据区的数据;当访问外部当访问外部RAMRAM时时,可使用可使用R0R0、R1R1及及DPTRDPTR作作为地址指针。寄存器间接寻址符号为为地址指针。寄存器间接寻址符号为“”,”,第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(4)寄存器间接寻址:寄存器间接寻址:注:、访问内部数据注:、访问内部数据RAMRAM和外部数据和外部数据RAMRAM所用操所用操作码是不一样的:内部为作码是不一样的:内部为MOVMOV,外部为,外部为MOVXMOVX比如
11、:比如:MOV A,R0MOVX A,DPTR、当用、当用R0R0和和R1R1对外部数据对外部数据RAMRAM作间接寻址作间接寻址时,由于外部数据时,由于外部数据RAMRAM需要位地址,而需要位地址,而R0R0和和R1R1只能提供位地址,因此必须借助只能提供位地址,因此必须借助P2P2口的位口的位来作为高位地址。来作为高位地址。比如:比如:MOVR0,A MOVX A,R0;这条指令意思是这条指令意思是把外部把外部RAMRAM中地址为中地址为P2R0P2R0的单元内容给的单元内容给A A。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(5)基址寄存
12、器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址这种寻址方式用于访问程序存储器中的数这种寻址方式用于访问程序存储器中的数据表格据表格,它以基址寄存器它以基址寄存器DPTRDPTR或或PCPC的内容的内容为基本地址为基本地址,加上变址寄存器加上变址寄存器A A的内容作为的内容作为操作数的地址操作数的地址,例如例如:MOVC A,DPTR+A MOVC A,PC+A 比如:累加器比如:累加器A A02H,DPTR=0300H,02H,DPTR=0300H,外部外部ROMROM中,中,0302H0302H地址单元的内容为地址单元的内容为55H55H,则执行指令则执行指令MOVC A,DPTR+A
13、后,后,A A中内容为中内容为55H55H。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(6)相对寻址:相对寻址:在在MCS-51 MCS-51 指令系统中设有转移指令指令系统中设有转移指令,分分为直接转移和相对转移指令为直接转移和相对转移指令,在相对转移在相对转移指令中采用相对寻址方式。这种寻址方式指令中采用相对寻址方式。这种寻址方式是以是以PCPC的内容为基本地址的内容为基本地址,加上指令中给加上指令中给定的偏移量作为转移地址,也就是目的地定的偏移量作为转移地址,也就是目的地址(用来修改址(用来修改PCPC的值)。指令中给出的偏的值)。指令中
14、给出的偏移量是一个移量是一个 8 8 位带符号的常数位带符号的常数,可正可负可正可负,其范围为其范围为128128+127+127。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(4)相对寻址:相对寻址:如:执行指令如:执行指令SJMPSJMPH H,是将,是将PCPC当前的内容当前的内容与与54H54H相加,结果再送回到相加,结果再送回到PCPC中,成为下一条将中,成为下一条将要执行指令的地址。设指令要执行指令的地址。设指令SJMPSJMPH H的机器的机器码为码为H54HH54H存放在存放在2000H2000H处,当执行到该指令处,当执行到该指
15、令时,先从时,先从2000H2000H和和2001H2001H单元取出指令,单元取出指令,PCPC自动变自动变成成2002H2002H,再把,再把PCPC的内容加上的内容加上H H,形成目标地,形成目标地址址H H,送回,送回PCPC,使程序跳转到,使程序跳转到H H单元继续执行。单元继续执行。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统第一节指令格式与寻址方式(7)位寻址:位寻址:指按照位进行的寻址操作,(前面讲指按照位进行的寻址操作,(前面讲的都是按字节进行的寻址操作)。该种寻的都是按字节进行的寻址操作)。该种寻址方式中址方式中,操作数是内部操作数是内部RAMRAM
16、单元中单元中20H20H到到2FH2FH的个位地址以及的个位地址以及SFRSFR中的个中的个可进行位寻址的寄存器中的位地址寻址。可进行位寻址的寄存器中的位地址寻址。比如:比如:MOV C,20HMOV C,20H;就是将;就是将RAMRAM中位寻址中位寻址区中区中20H20H位地址中的内容送给位地址中的内容送给C C。区别与。区别与MOVMOVA,20HA,20H;这个是将内部;这个是将内部RAMRAM中中H H单元的内单元的内容送给容送给A A。第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统程序中使用最多的指令程序中使用最多的指令程序中使用最多的指令程序中使用最多的指令
17、,主要用于内部主要用于内部主要用于内部主要用于内部RAMRAMRAMRAM、寄存器、外部寄存器、外部寄存器、外部寄存器、外部RAMRAMRAMRAM以及程序存储器之间的数据以及程序存储器之间的数据以及程序存储器之间的数据以及程序存储器之间的数据传送、保存以及交换。传送、保存以及交换。传送、保存以及交换。传送、保存以及交换。工作原理:将源操作数简单地传给目的工作原理:将源操作数简单地传给目的工作原理:将源操作数简单地传给目的工作原理:将源操作数简单地传给目的操作数,而源操作数的内容不变,操作数,而源操作数的内容不变,操作数,而源操作数的内容不变,操作数,而源操作数的内容不变,PSWPSWPSWP
18、SW的内容的内容的内容的内容不改变。不改变。不改变。不改变。分类:内部数据传送指令、外部传送指分类:内部数据传送指令、外部传送指分类:内部数据传送指令、外部传送指分类:内部数据传送指令、外部传送指令、查表指令、交换指令和堆栈指令。令、查表指令、交换指令和堆栈指令。令、查表指令、交换指令和堆栈指令。令、查表指令、交换指令和堆栈指令。第二节数据传送指令3.23.2数据传送指令数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统1、内部数据传送指令、内部数据传送指令1 1 1 1、内部数据传送指令(、内部数据传送指令(、内部数据传送指令(、内部数据传送指令(1616161
19、6条)条)条)条)内部内部内部内部8 8 8 8位数据传送指令共位数据传送指令共位数据传送指令共位数据传送指令共15151515条,主要用条,主要用条,主要用条,主要用于于于于MCS-51MCS-51MCS-51MCS-51第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统(1)(1)将数据传送到累加器将数据传送到累加器将数据传送到累加器将数据传送到累加器A A的指令(的指令(的指令(的指令(4 4条)条)条)条)例例:已知累加器已知累加器A A的内容为的内容为30H,30H,寄存器寄存器R0R0的内容的内容为为50H,50H,内部内部RAM30HRAM30
20、H单元的内容为单元的内容为40H,40H,内部内部RAM50HRAM50H单元的内容为单元的内容为10H,10H,请指出下列每条指令请指出下列每条指令执行以后相应单元内容的变化执行以后相应单元内容的变化.解:解:指指 令令 相应操作相应操作 A A中的结果中的结果MOV A,#20H A#20H 20HMOV A,30H A (30H)40HMOV A,R0 A (R0)50HMOV A,R0 A (50H)10H第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统(2 2)将数据传送到工作寄存器)将数据传送到工作寄存器)将数据传送到工作寄存器)将数据传送到工
21、作寄存器RnRn的指令(的指令(的指令(的指令(3 3条)条)条)条)这里源操作数不能进行寄存器间接寻址这里源操作数不能进行寄存器间接寻址,也就是也就是MOV Rn,Rn 这个指令是不能用的。这个指令是不能用的。第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统(2 2)将数据传送到工作寄存器)将数据传送到工作寄存器)将数据传送到工作寄存器)将数据传送到工作寄存器RnRn的指令(的指令(的指令(的指令(3 3条)条)条)条)例例:已知累加器已知累加器A A的内容为的内容为30H,30H,寄存器寄存器R7R7的内容的内容为为50H,50H,内部内部RAM30H
22、RAM30H单元的内容为单元的内容为40H,40H,内部内部RAM50HRAM50H单元的内容为单元的内容为10H,10H,请指出下列每条指令请指出下列每条指令执行以后相应单元内容的变化执行以后相应单元内容的变化.解:解:执行指令:执行指令:MOV R7,A MOV R7,A 结果:结果:R7=30HR7=30H MOV R7,#40H R7=40H MOV R7,#40H R7=40H MOV R7,50H R7=10H MOV R7,50H R7=10H第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统(3 3)将)将)将)将8 8位数据直接传送到直接地
23、址(内部位数据直接传送到直接地址(内部位数据直接传送到直接地址(内部位数据直接传送到直接地址(内部RAMRAM单元或单元或单元或单元或SFRSFR寄存寄存寄存寄存器)指令(器)指令(器)指令(器)指令(5 5条)条)条)条)第二节数据传送指令例:例:R0=50H,(50H)=10H,R0=50H,(50H)=10H,指令指令 MOV 35H,MOV 35H,R0R0执行以后,(执行以后,(35H35H)=10H=10H。这一操作也可用。这一操作也可用指令指令MOV 35H,50HMOV 35H,50H第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统(4 4)将)将)将)将8
24、 8位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的RAMRAM单元的单元的单元的单元的指令(指令(指令(指令(3 3条)。条)。条)。条)。注意:这里的注意:这里的注意:这里的注意:这里的i i i i只能是只能是只能是只能是0 0 0 0或者或者或者或者1 1 1 1第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统例例:已知相应单元的内容如下表所示,请指出已知相应单元的内容如下表所示,请指出下列指令执行后各单元内容相应的变化。下列指令执行后各单元内容相应的变化。(4 4)将)将)将
25、)将8 8位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的位数据传送到以间接寄存器寻址的RAMRAM单元的单元的单元的单元的指令(指令(指令(指令(3 3条)。条)。条)。条)。解:解:第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令系统将高将高8 8位数据送入位数据送入DPHDPH,低,低8 8位数据送入位数据送入DPLDPL中。中。(5 5)1616位数据传送指令(位数据传送指令(位数据传送指令(位数据传送指令(1 1条)条)条)条)第二节数据传送指令第第3 3章章 MCS-51MCS-51单片机指令系统单片机指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 【单片机课程设计】第03章 MCS 51单片机指令系统 单片机 课程设计 03 51 指令系统
限制150内