单片机原理及应用 作者 娄国焕 第3章+MCS-51单片机指.pptVIP

单片机原理及应用 作者 娄国焕 第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章 MCS-51单片机指令系统 3.1 MCS-51指令系统简介 MCS-51单片机共有111条指令,其中单字节指令49条,双字节指令45条,三字节指令17条。当系统时钟为12MHz时,大多数指令的执行时间仅需1μs,乘法指令也只需4μs,指令的平均执行时间不到2μs。 MCS-51单片机指令系统具有占有内存空间少、执行速度快的优点,有很强的实时处理能力,特别适合于现场控制的场合。 1. 指令格式 MCS-51单片机指令系统是一个具有255种代码的集合,绝大多数指令包含两个基本部分:操作码和操作数。操作码表明指令要执行的操作的性质;操作数说明参与操作的数据或数据所存放的地址 。 MCS-51单片机指令系统中所有指令是以机器语言形式表示的,可分为单字节、双字节和三字节3种格式。由于用二进制代码表示的机器语言阅读困难且难以记忆,因此,人们采用汇编语言指令来编写程序。本章介绍的MCS-51指令系统就是以汇编语言来描述的。 汇编语言指令是指令系统最基本的书写方式,由操作码、目的操作数、源操作数等组成。格式如下: 标号:操作码 目的操作数, 源操作数;注释 标号:是指令地址的标志符号,由用户定义的符号组成。必须以英文字母开头,后跟1~8个字母、数字或下横线符号“-”,并以“:”结尾,用户定义的标号不能和汇编保留符号重复。标号可有可无,某条指令一旦赋予标号,标号代表该指令第一个字节所存放的存储单元的地址,故标号又称为符号地址,在其他指令的操作数中可引用该标号作为引用地址。 操作码:由2~5个英文字母组成的功能助记符,用来表示指令的操作功能,不能缺省。 MCS-51指令系统中共有42种助记符,带表了33种不同的功能。 操作数:是指令操作所需的数据、地址或符号(标号)。通常右边操作数为源操作数,左边为目的操作数。根据指令的功能不同,操作数的个数有1、2、3个,也可以没有。操作数之间用逗号“,”分开。操作数可以是多种进制的立即数和直接地址:二进制加后缀B、十进制加后缀D或不加、十六进制加后缀H(以字母开头需加前导0),工作寄存器、标号地址、表达式等。 注释:可有可无,加入注释主要是为了便于阅读程序,程序设计者对程序段的作用、关键指令、进入和退出子程序的条件等加以注释,以提高程序的可读性。注释和源程序一起存储、打印。但是汇编时不被翻译,因而在目标程序的机器代码中并不出现,不会影响程序的执行。注释必须以分号“;”开始,当注释占有多行时,每一行都必须以“;”开始。 2. 常用符号说明 MCS-51单片机指令系统汇编指令中的符号约定如下: Rn:n=0-7,当前选中的8个工作寄存器R0-R7之一; Ri:i=0,1,当前选中的用于间接寻址的两个工作寄存器R0、R1之一; Direct:8位直接地址,可以使RAM单元地址(00H--7FH),或特殊功能寄存器(SFR)地址(80H--FFH); #data:8位或16位立即数 ; addr:程序存储器地址,常在后面跟有数字,如addr11表示11位地址; rel:8位偏移地址,表示相对跳转的偏移字节,按下一条指令的第一个字节计算,在-128~+127取值范围内; DPTR:16位数据指针; bit:位地址,内部RAM20H~2F中可寻址位和SFR中的可寻址位; A:累加器; B:寄存器,用于乘除指令中; C:进位标志或进位位,或位操作指令中的累加器; @:寄存器间接寻址前缀; PC:程序计数器,16位 PSW:程序状态字 SP:堆栈指针 $:程序计数器当前值 3.2 寻址方式 3.2.1 立即寻址方式 指令的操作数直接出现在指令字节中,这种寻址方式称为立即寻址(也叫立即数寻址)。 一般用#标记作前缀,立即数寻址只能作源操作数,不能当作目的操作数。 【例3-1】 MOV? A,#30H 其寻址示意图如图3.1所示 3.2.2 直接寻址方式 直接寻址是指在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。该方式访问以下三种存储空间: (1)特殊功能寄存器。 (2)内部RAM的低128字节(对于8032/8052等单片机,其内部高128字节RAM(80H—FFH)不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。 (3)位寻址空间。 【例3-3】 MOV? A,R0 ;A ← (R0) MOV? SP,#70H ;SP ← 70H MOV? B,A ;B ← (A) 3.2.4 寄存器间接寻址方式 由指令指出某一个寄存器的内容作为操作数,这种寻址方式称为寄存器间接寻址。寄存器间接寻址使用当前工作寄存器区中的R0或R1作为地址指针,来寻址内部R

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档