0102单机原理与应用技术第3节 MCS-51的指令集.pptVIP

0102单机原理与应用技术第3节 MCS-51的指令集.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.3 MCS-51的指令集   以MCS-51为内核的单片机指令系统为例,用44种操 作码助记符来描述33种操作功能,构成了111条基本指令。单字节指令49条;按字节分   双字节指令45条;三字节指令17条;单周期指令64条;按指令执行时间分 双周期指令45条; 111条基本指令4个机器周期指令2条;数据传送类指令;算术运算类指令;按功能分   逻辑运算及移位类指令;控制转移类指令;布尔变量操作类指令。 3.3.1 数据传送类指令 CPU在进行算术运算和逻辑运算时总需要有操作数据,所以数据传送是一种最基本最主要的操作。在MCS-51系列单片机中的数据传送指令相当丰富。数据传送指令按数据传送的区域可分为3组: 一组:内部数据传送; 二组:与片外RAM或I/O接口之间的数据传送; 三组:ROM到累加器(A)的传送。 3.3.1 数据传送类指令 1. 片内数据传送    这组指令是实现片内RAM之间数据交换的。这组指令共有7种方式。 1)以累加器(A)为目的操作数的指令    操作符   指令编码 指令功能 3.3.1 数据传送类指令    这组指令的功能是把源操作数的内容送入累加器(A)。源操作数有寄存器寻址、直接寻址、寄存器间接寻址和立即寻址方式。 【例】 执行指令: MOVA,R6 ;(A)←(R6),寄存器寻址 MOVA,70H ;(A)←(70H),直接寻址 MOVA,@R0 ;(A)←((R0)),寄存器间接寻址 MOVA,#78H ;(A)←78H,立即寻址 3.3.1 数据传送类指令 2) 以Rn为目的操作数的指令这组指令的功能是把源操作数的内容送入当前工作寄存器区的R0~R7中的某一个寄存器。源操作数有寄存器寻址、直接寻址和立即寻址等方式。 3.3.1 数据传送类指令 以Rn为目的操作数的指令如: MOV R2 ,A ;(R2)←(A),寄存器寻址 MOV R7 ,70H ;(R7)←(70H),直接寻址 MOV R3 ,#0AH ;(R3)←0A0H,立即寻址 3) 以寄存器间接地址为目的操作数的指令操作数指令编码 指令功能 3.3.1 数据传送类指令这组指令的功能是把源操作数内容送入R0或R1指出的存储单元中。源操作数有寄存器寻址、直接寻址和立即寻址等方式。 【例】 执行指令:MOV @R1,A ;((R1))←(A),寄存器寻址MOV @R0,70H ;((R0))←(70H),直接寻址MOV @R1,#80H ;((R1))←80H,立即寻址 3.3.1 数据传送类指令 4) 以直接地址为目的的操作数的指令这组指令的功能是把源操作数送入由直接地址指出的存储单元。 3.3.1 数据传送类指令源操作数有寄存器寻址、直接寻址、寄存器间接寻址和立即寻址等方式。 【例】 执行指令: MOVP1,A;(P1)←(A),直接寻址 MOV70H,R2;(70H)←(R2),寄存器寻址 MOV0E0H,78H;(0E0H)←(78H),直接寻址 MOV40H,@R0 ;(40H)←((R0)),寄存器间接寻址 MOV01H,#80H ;(01H)←80H,立即寻址 3.3.1 数据传送类指令 5) 16位数据传送指令操作数指令编码指令功能MOV DPTR,#data1610010000B(DPTR) ←data16这条指令的功能是把16位常数送入DPTR。16位的DPTR由DPH和DPL组成,指令执行结果把高位立即数送入DPH,低位立即数送入DPL。 【例】 执行指令:MOV DPTR ,#1342H ;(DPH)←13H,(DPL)←42H,立即寻址 3.3.1 数据传送类指令 6) 堆栈操作指令堆栈操作是通过SP(堆栈指针寄存器)实现的,分为入栈操作和出栈操作: 入栈操作:把直接寻址单元的内容传送到SP所指的单元中; 出栈操作:把SP所指单元的内容送到直接寻址单元中。开辟栈区通过向SP中送一个数。MCS-51单片机开机或复位后(SP)=07H,一般需重新设定SP的初始值。SP的初始值就是栈顶的位置。 3.3.1 数据传送类指令 堆栈指令有两条,进栈指令和出栈指令:操作符指令编码指令功能 PUSH direc ; 入栈 POP direc; 出栈 入栈指令PUSH:首先将栈顶指针(SP)加“1”,然后把直接地址中的内容传送到SP寻址的片内RAM单元中。 出栈指令POP:将SP寻址的片内RAM单元中的内容送入直接地址指出字节单元中,SP减“1”。 3.3.1 数据传送类指令 【例】 已知:(A)=30H,(B)=70H执行指令: MOV SP,#60H;(SP)=6

文档评论(0)

mg60065 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档