[工学]第三章单片机.ppt

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

教学提示 本章重、难点在于理解单片机MCS-51指令系统的寻址方式,以及数据传送类指令、算术运算类指令、逻辑操作类指令、位操作指令和控制转移类指令操作的含义和具体使用方法。 教学目标 掌握指令系统的寻址方式。 掌握汇编语言指令的格式。 掌握汇编语言指令的功能及应用。 掌握伪指令的格式及应用。 3.1 指 令 格 式 单片机指令包含两个基本部分:操作码和操作数。操作码用来指定指令的功能,而操作数则是指令操作的对象。 比如做加法运算:ADD A,R0,就表示将寄存器A和R0中的数据相加后将结果存放到A寄存器中。在这里,ADD即为操作码,A和R0即为操作数。指令有定长和不定长之分,定长指令其操作码的位数为一定值,不定长指令其操作码为变动的,一般使用频率最高的采用最短的操作码。 单片机一般采用的是不定长指令格式,MCS-51机器语言根据指令的长短又将指令分为一字节指令、二字节指令、三字节指令3种格式。一字节指令即在程序存储器中需要一个字节的单元来存储;二字节指令即在程序存储器中需要两个字节的单元来存储;三字节指令即在程序存储器中需要三个字节的单元来存储。 3.1.1 单字节指令 单字节指令格式由8位二进制编码表示。有两种形式: (1) 8位全表示操作码。例如,空操作指令NOP,其机器码为 (2) 8位编码中包含操作码和寄存器编码。例如: MOV A, Rn 这条指令的功能是把寄存器Rn(n=0,1,2,3,4,5,6,7)中的内容送到累加器A中去。其机器码为 假设n=0,则寄存器编码为Rn=000(参见指令表),指令MOV A,R0的机器码为E8H,其中操作码11101表示执行把寄存器中的数据传送到A中去的操作。000为R0寄存器编码。 3.1.2 双字节指令 双字节指令格式中,指令的编码由两个字节组成,该指令存放在存储器时需占用两个存储器单元。例如: MOV A,#DATA 这条指令的功能是将立即数DATA送到累加器A中去。假设立即数DATA=85H,则其机器码为 第一字节 操作码 第二字节 操作数(立即数85H) 3.1.3 三字节指令 三字节指令格式中第一个字节为操作码,其后两个字节为操作数。例如: MOV direct,#DATA 这条指令是指立即数DATA送到地址为direct的单元中去。假设direct=78H,DATA=80H,则MOV 78H,#80H指令的机器码为 第一字节 操作码 第二字节 第一操作数(目的地址) 第三字节 第二操作数(立即数) 用二进制编码表示的机器语言指令由于不便阅读理解和记忆,因此在微机控制系统中采用汇编语言(用助记符和专门的语言规则表示指令的功能和特征)指令来编写程序。 一条汇编语言指令中最多包含4个区段,如下所示: [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释] 例如,把立即数F1送A的指令为 START : MOV A,#0F1H ; 立即数0F1H→A 3.2 寻 址 方 式 所谓的寻址就是指寻找操作数的地址。由于大多数指令都需要操作数,因此在使用操作数的过程中就存在一个寻找存储单元的问题。 MCS-51指令系统的寻址方式有下列几种: ① 直接寻址。 ② 立即数寻址。 ③ 寄存器寻址。 ④ 寄存器间接寻址。 ⑤ 变址寻址。 ⑥ 位寻址。 ⑦ 相对寻址。 3.2.1 直接寻址 在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。 直接寻址方式中操作数存储的空间有以下3种: (1) 内部数据存储器的低128B单元(00H~7FH)。例如: MOV A,70H ;(70H)→A 指令功能是把内部RAM 80H单元中的内容送入累加器A。 (2) 位地址空间。例如: MOV C,00H ;直接位00H内容→进位位 (3) 功能寄存器。特殊功能寄存器只能用直接寻址方式进行访问。例如: MOV IE,#76H ;立即数76H→中断允许寄存器IE 立即数寻址方式是操作数包含在指令字节中,指令操作码后面字节的内容就是操作数本身。汇编指令中,在一个数的前面冠以“

文档评论(0)

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

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

1亿VIP精品文档

相关文档