网站大量收购独家精品文档,联系QQ:2885784924

单片机原理及其应用课件--第三章(修订1).ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及其应用课件--第三章(修订1)

3.1 MCS-51指令系统概述 单片机所能执行的指令集合称为指令系统。 MCS-51的基本指令共111条,按指令所占的字节来分: (1) 单字节指令49条; (2) 双字节指令45条; (3) 三字节指令17条。 按指令的执行时间来分: (1)单机器周期(12个时钟振荡周期)的指令64条; (2)二机器周期(24个时钟振荡周期)的指令45条; (3)只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。 指令格式 在MCS-51指令中,指令主要由操作码、操作数组成。 指令具有以下功能: (1)操作码指明执行什么性质和类型的操作。例 如,数的传送、加法、减法等。 (2)操作数指明参与操作的数本身或者是其所在的 地址。 (3)指定操作结果存放的地址。 指令一般格式: [标号:]操作码助记符 [(目的操作数),(源操作数)][ ;注释] 3.2 寻址方式(7种)(p34) 3.2.1 寄存器寻址 3.2.2 直接寻址 3.2.3 寄存器间接寻址 3.2.4 立即寻址 3.2.5 变址寻址 3.2.6 相对寻址 3.2.7 位寻址 3.2.1 寄存器寻址 以通用寄存器的内容为操作数的寻址方式。通用寄 存器指A、B 、DPTR以及R0~R7(当前工作寄存器 组)。 例如: CLR A ;A←0 INC DPTR ;DPTR←(DPTR)+1 ADD A,# 20H ;A←(A) + #20H 3.2.2 直接寻址 指令中直接给出操作数地址的寻址方式,能进行直 接寻址的存储空间有SFR寄存器和内部数据RAM。 例如: MOV PSW,# 20H ;PSW←#20H PSW为直接寻址寄存器的符号地址。 MOV A,30H ;A←(30H) 30H为直接给出的内部RAM的地址。 MOV A,P0 ;读P0口引脚 MOV A,80H 直接寻址方式是访问特殊功能寄存器的唯一寻址方 式。 3.2.3 寄存器间接寻址 以寄存器中内容为地址,以该地址中内容为操作数 的寻址方式。寄存器间接寻址的存储器空间包括内 部数据RAM和外部数据RAM。 能用于寄存器间接寻址的寄存器有R0,R1, DPTR,SP。其中R0、R1必须是当前工作寄存器组 中的寄存器。SP仅用于堆栈操作。 在寄存器的名称前面加前缀标志“@”表示间接寻 址 MOV A,@Ri ;i=0或1 MOVX A,@DPTR 例如: MOV @R0,A ;内部RAM (R0)←(A),其指令 操作过程示意图如图3-1所示。 又如: MOVX A,@R1 ;A←外部RAM (P2R1)其指令操作过程示意图如图3-2所示。 再如: MOVX @DPTR,A;外部RAM (DPTR)←(A) 其指令操作过程示意图如图3-3所示。 3.2.4 立即寻址方式 指令中直接给出操作数的寻址方式。立即操作数用 前面加有#号的8位或16位数来表示。 例如: MOV A,# 60H ;A←#60H MOV DPTR,# 3400H ;DPTR←#3400H MOV 30H,# 40H ;30H单元←#40H 3.2.5 变址寻址 变址寻址是由基址寄存器(DPTR、PC)加变址寄存器(A)形成的寻址方式。它只能对程序存储器中数据进行操作。 (变址寻址只有读操作而无写操作) 在指令符号上采用MOVC的形式。 例如:MOVC A,@A+DPTR ;A←((A)+(DPTR)) 又如: MOVC A,@ A+PC ;A←((A)+(PC)) 这条指令与上条指令不同的是,基址寄存器是 PC (当前PC值)。 ???????? JMP @A+DPTR? ;PC ← (A)+(DPTR) 3.2.6 位寻址 位寻址只能对有位地址的单元作位寻址操作。 位寻址其实是一种直接寻址方式,不过其地址是 位地址。 例如:SETB 10H ;将10H位置1。 若22H单元中存放着数据40H,22H单元D0位的位 地址即10H,执行上述指令后,(22H)=41H。 又如:MOV 32H,C ;32H←进位位C ORL C ,32H ;C←(C)∨(32H) 位寻址范围包括: (1)内部RAM中的位寻址区

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档