(单片机知识)第3章MCS51单片机指令系统及编程举例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《(单片机知识)第3章MCS51单片机指令系统及编程举例课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机知识 单片机 知识 MCS51 指令系统 编程 举例 课件
- 资源描述:
-
1、微机原理及应用微机原理及应用 对于任何一台计算机,必须有软件(程对于任何一台计算机,必须有软件(程序)的支持,才能工作。但是市场上所售序)的支持,才能工作。但是市场上所售的单片机是裸机,在使用之前要现对它编的单片机是裸机,在使用之前要现对它编程,将程序固化在芯片内,才能使用。程,将程序固化在芯片内,才能使用。指令系统是一种指令系统是一种CPU所能直接执行的所所能直接执行的所有命令的集合,有命令的集合,CPU的主要功能是由它的的主要功能是由它的指令系统来体现的。任何计算机语言编写指令系统来体现的。任何计算机语言编写的任何程序,都必须转换为指令系统中相的任何程序,都必须转换为指令系统中相应指令代码
2、的有序集合,应指令代码的有序集合,CPU才能执行才能执行。单片机的指令系统是单片机能够识别单片机的指令系统是单片机能够识别并执行的所有指令的集合。并执行的所有指令的集合。3.1指令系统简介指令系统简介 每一种每一种CPU都有其独立的指令系统。都有其独立的指令系统。MCS-51系列单片机指令系统共有系列单片机指令系统共有111条指令,其中有条指令,其中有49条条单字节单字节指令,指令,45条条双双字节字节指令和指令和17条条三三字节指令。字节指令。MCS-51指令系统的功能十分强大,它指令系统的功能十分强大,它把体现单片机的各种功能的寄存器组织在把体现单片机的各种功能的寄存器组织在统一的地址空间
3、中,统一的地址空间中,MCS-51指令系统在其指令系统在其存储空间、时间的利用率及工作效率方面存储空间、时间的利用率及工作效率方面都是较高的。都是较高的。1.指令格式指令格式 MCS-51指令系统中的每一条指令都有指令系统中的每一条指令都有两级指令格式:两级指令格式:CPU可直接识别并执行的机器语言指令可直接识别并执行的机器语言指令(机器语言)。(机器语言)。汇编语言指令(简称汇编指令)。汇编语言指令(简称汇编指令)。符号说明:见书上符号说明:见书上.P.34 MCS-51汇编语言指令格式,由以下几个部汇编语言指令格式,由以下几个部分组成:分组成:标号:标号:操作码操作码 目的操作数目的操作数
4、 ,源操作源操作数数 ;注释;注释 例:例:LOOP:MOV A,R1;AR1 MOV A,R1 INC A NOP 3.2 寻址方式寻址方式 所谓寻址方式就是寻找或获得操作数的所谓寻址方式就是寻找或获得操作数的方式。方式。指令的一个重要组成部分是操作数。由指令的一个重要组成部分是操作数。由寻址方式指定参与运算的操作数或操作数寻址方式指定参与运算的操作数或操作数所在单元的地址。所在单元的地址。MCS-51指令系统的寻址方式有以下指令系统的寻址方式有以下7种:种:1.立即寻址立即寻址 2.直接寻址直接寻址 3.寄存器寻址寄存器寻址 4.寄存器间接寻址寄存器间接寻址 5.变址寻址变址寻址 6.相对
5、寻址相对寻址 7.位寻址位寻址 立即寻址立即寻址:操作数直接出现在指令中,可以:操作数直接出现在指令中,可以是是8位,也可是位,也可是16位。该方式寻址中的位。该方式寻址中的操作数操作数称为立即数,称为立即数,用用“”表示表示。例:例:MOV A,#30H ;A30H 执行结果:执行结果:A=30H 例:例:MOV DPTR,#1000H;DPTR1000H 执行结果:执行结果:DPTR1000H,注意注意:只有:只有MOV DPTR,#date16指令的立即指令的立即数为数为16位,位,DPTR分为分为DPH和和DPL,在上述,在上述例子中,例子中,DPH=10H,DPL=00H 直接寻址直
6、接寻址:操作数的地址直接出现在指令:操作数的地址直接出现在指令中。这类寻址方式的中。这类寻址方式的操作数操作数只能是存放在只能是存放在内部内部RAM和和SFR中。中。(1)SFR例:例:MOV A,P1执行结果:将执行结果:将P1口的口的内容内容送到送到A中。中。若若P1的内容为的内容为78H,执行该指令后,执行该指令后,A=78H见.P.23(2)内部内部RAM的低的低128字节字节 例:例:MOV A,76H 执行结果:将执行结果:将76H单元的内容送到单元的内容送到A中。中。若若(76H)=3FH,执行该指令后,执行该指令后,A=3FH注意:若要表示某个单元的内容,将该单元用括号扩起注意
7、:若要表示某个单元的内容,将该单元用括号扩起来,如来,如(43H)、()、(76H)、()、(R0)等。)等。寄存器寻址寄存器寻址:操作数为:操作数为寄存器的内容寄存器的内容。此处的寄存器指的是工作寄存器此处的寄存器指的是工作寄存器R0R7、累加器、累加器A、通用寄存器、通用寄存器B、数据、数据指针寄存器指针寄存器DPTR和位累加器和位累加器C(即进位(即进位位位C)。)。例例:MOV A,R0执行结果:将执行结果:将R0的内容送入的内容送入A中。中。若若R0的内容(的内容(R0)=5AH,则,则A=5AH 寄存器间接寻址寄存器间接寻址:将指定:将指定寄存器寄存器中的中的内容内容作为地址作为地
8、址,该,该地址对应的内容地址对应的内容才才是操作数是操作数,用用表示。表示。例:例:MOV A,R0 执行结果:将执行结果:将R0的内容作为地址,再将该的内容作为地址,再将该地址对应的内容送入地址对应的内容送入A中。中。若(若(R0)=46H,(,(46H)=2FH,则:,则:A=(R0)=(46H)=2FH 例:例:MOV R1,76H 执行结果:执行结果:(R1)(76H)。若(若(76H)=0FH,(R1)=23H,则:,则:(23H)=0FH 变址寻址变址寻址:以程序指针:以程序指针PC或数据指针或数据指针DPTR为基址,以累加器为基址,以累加器A作为变址,两者作为变址,两者内容相加(
9、即内容相加(即基址偏移量基址偏移量)形成)形成16位地位地址。址。例:地址地址 目标代码目标代码 汇编指令汇编指令 2100 7406 MOV A,#06H 2102 83 MOVC A,A+PC 2103 00 NOP 2104 00 NOP 2109 32 DB 32H 执行结果分析:当执行到执行结果分析:当执行到MOVC A,A+PC时,时,PC=2103H(基址基址),A=06H(偏移量偏移量),因,因此此A+PC所示的地址所示的地址=2103H+06H=2109H,(2109H)=32H,所以,所以A=32H例:MOV A,#01H MOV DPTR,#TABLE MOVC A,A+
10、DPTRTABLE:DB 41H DB 42H 执行结果分析:基址的首地址执行结果分析:基址的首地址=TABLE偏移量偏移量=01H,程序执行到程序执行到MOVC A,A+DPTR时,时,A+DPTR所指的地址所指的地址=TABLE+01H,因此,该指令执行后,因此,该指令执行后A=42H 相对寻址相对寻址:以:以PC的当前值为的当前值为基址基址,与指令,与指令中的第二字节给出的中的第二字节给出的偏移量偏移量rel(8位位有符号有符号数数)相加,所得之和为程序的转移地址。)相加,所得之和为程序的转移地址。转移转移范围范围为为+127-128字节之间。字节之间。例:例:SJMP 08H;双字节指
11、令;双字节指令 分析:若分析:若PC=2000H为该条指令的地址,则为该条指令的地址,则转移目标地址转移目标地址=2000H+02H+08H=200AH 位寻址位寻址:对:对片内片内RAM的的20H2FH字节地址字节地址中中的的所有位所有位和和部分部分SFR的的位进行寻址位进行寻址。区分指令中是位地址还是存储器单元地址不太区分指令中是位地址还是存储器单元地址不太容易,主要是由另一个操作数来区分。容易,主要是由另一个操作数来区分。例:例:SETB EX0 ;EX01,位寻址,位寻址 MOV C,07H;C(07H),位寻址,位寻址 MOV A,20H;A(20H),直接寻址,直接寻址 MOV C
12、,20H;C(20H),位寻址,位寻址 3.3 指令系统指令系统 指令分类:指令分类:MCS-51指令系统共有指令系统共有111条指条指令,分成令,分成5大类:大类:(1)数据传送类)数据传送类(2)算术运算类)算术运算类(3)逻辑运算类)逻辑运算类(4)控制程序转移类)控制程序转移类(5)布尔变量操作(位操作类)布尔变量操作(位操作类)3.4 汇编语言程序设计基础汇编语言程序设计基础 用汇编用汇编语言编语言编写的源写的源程序程序汇编程序汇编程序目标程序目标程序 汇编语言汇编语言是一种是一种采用助记符采用助记符表示的表示的机器语机器语言言,即用助记符号来代表指令的操作码和,即用助记符号来代表指
13、令的操作码和操作数,操作数,用标号用标号或或符号代表地址符号代表地址、常数常数或或变量变量。而助记符一般都是英文单词的缩写,。而助记符一般都是英文单词的缩写,因此使用方便。这种用助记符编写的程序因此使用方便。这种用助记符编写的程序称为称为源程序源程序。汇编语言汇编语言源程序源程序必须必须翻译翻译成机器语言的目成机器语言的目标代码,亦称标代码,亦称目标程序目标程序,计算机才能执行。,计算机才能执行。其翻译工作可由汇编程序自动完成,其翻译工作可由汇编程序自动完成,汇编汇编程序的功能程序的功能就是就是将用助记符号编写的源程将用助记符号编写的源程序翻译成用机器语言表示的目标程序序翻译成用机器语言表示的
14、目标程序。汇编语言程序的组成:汇编语言程序的组成:汇编语言源程序是由汇编语句组成的,汇编语言源程序是由汇编语句组成的,一般情况下,一般情况下,汇编语言语句汇编语言语句可分为:可分为:指令指令性语句性语句(即(即汇编指令汇编指令)和)和指示性语句指示性语句(即(即伪指令伪指令)。)。指令性语句指令性语句(可(可简称指令简称指令)是是进行汇编语进行汇编语言程序设计的言程序设计的可执行语句可执行语句,每条指令都产生,每条指令都产生相应的机器语言的目标代码。源程序的主要相应的机器语言的目标代码。源程序的主要功能是由指令性语句去完成的。功能是由指令性语句去完成的。指示性语句指示性语句(伪指令伪指令)又称
展开阅读全文