- 1、本文档共128页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 单片机汇编程序设计.ppt
上节回顾 1、单片机的存储器结构(哈佛结构) 2、四个并行I/O输入输出口(各自的特点) 3、外部引脚及各个的功能 4、复位电路、时钟电路 5、时序(机器周期、状态、拍、时钟周期、振荡周期、指令周期) 1机器周期=6个状态 1状态=2拍 1拍=1时钟周期=1振荡周期 1指令周期=1~4机器周期 本节课内容 课本第三章内容: 单片机的汇编指令: 指令格式 寻址方式 伪指令 指令系统 汇编程序设计 第3章 单片机汇编程序设计 3.1 单片机汇编指令格式及标识 MCS-51单片机有111条指令 其中单字节指令49条;双字节指令45条;三字节指令17条。 其中有64条是单机器周期指令,45条双机器周期指令,2条四机器周期指令。 若系统时钟为12M时,大多数指令执行时间仅需1μS 3.1 单片机汇编指令格式及标识 数据传送类指令28条 算术运算类指令24条 逻辑操作类指令25条 位操作类指令17条 控制转移类指令17条 3.1 单片机汇编指令格式及标识 3.1.1指令格式 指令的格式: LOOP: MOV A, R0 ;将R0的内容送A [标号] 操作码 第一操作数 第二操作数 [注释] 目的操作数(源操作数) 注:黑色的内容不是必须的 3.1 单片机汇编指令格式及标识 标号:表示该指令的符号地址 操作码:它规定了指令的操作功能 操作数:是指参加操作的数据或数据的地址 注释:是为该条指令作的说明,便于阅读 MCS-51单片机指令系统中的指令字节长度有单字节、双字节、三字节三种,其格式如下: 3.1 单片机汇编指令格式及标识 3.1.2 指令中用到的标志符 3.1 单片机汇编指令格式及标识 3.1 单片机汇编指令格式及标识 3.1 单片机汇编指令格式及标识 3.4 单片机汇编程序常用伪指令 1 起点命令 ORG 1 起点命令 ORG 2 定义字节命令DB 3 定义字命令DW 4 定义存储空间命令DS (Define Storage) 5 赋值命令 EQU 6 数据地址赋值命令 DATA 7 位地址符号命令 BIT 8 汇编结束命令 END 3.2 单片机的寻址方式 操作数用于给指令的操作提供数据、数据的地址或指令的地址,操作数往往用相应的寻址方式指明。 MCS-51单片机指令系统的指令按操作数的多少可分为无操作数、单操作数、双操作数和三操作数四种情况。 3.2 单片机的寻址方式 寻址方式就是指操作数或操作数的地址的寻找方式。 MCS-51单片机的寻址方式按操作数的类型,可分为数的寻址和指令寻址; 数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址; 指令的寻址有绝对寻址和相对寻址, 3.2.1 常数寻址(立即寻址) 在这种寻址方式中,指令多是双字节的。一般第一个字节是操作码,第二字节是操作数,该操作数直接参与操作,所以又称立即数。数前用“#”表示。 3.2.1 常数寻址(立即寻址) 在MCS-51的指令系统中,仅有一条指令操作数是16位的立即数。其功能是向数据指针DPTR传送16位立即数。立即数的高8位送DPH中,低8位送DPL中。 3.2.2 寄存器寻址 寄存器寻址是对工作寄存器R0 ~R7,累加器A,寄存器B,数据指针寄存器DPTR等中的数进行操作。其中R0 ~R7由操作码的低三位表示。而其它寄存器是隐含在操作码中的。 3.2.3 存储器数寻址 存储器数寻址针对的数据是存放在存储器单元中,对于存储器单元的内容通过提供存储器单元地址使用。 1 直接寻址 直接寻址就是指令中直接给出操作数所在存储单元的地址。它可以访问片内RAM的128个单元以及所有特殊功能寄存器(SFR),对SFR既可以用它们的地址也可以使用它们的名字。 1 直接寻址 2 寄存器间接寻址 在这种寻址方式中,操作数所指定的寄存器中存放的不是操作数本身,而是操作数的地址,可用来做间接寻址的寄存器有R0、R1和DPTR。 使用时在其前面加“@”表示间址。在执行压栈(PUSH)和出栈(POP)操作时,采用堆栈指针SP作间址寄存器。一般当访问片内RAM或片外RAM低256字节存储空间时,用R0或R1作间址寄存器。这时用操作码的最低位指明是R0还是R1。 2 寄存器间接寻址 3 变址寻址 这种寻址方式是以DPTR或PC作为基址寄存器
文档评论(0)