- 1、本文档共128页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机原理及应用》 佘勇 电子基础教学实验中心 课件密码 : kys2006 TelEmail:sy@cuit.edu.cn 办公室:科教楼110 上章内容小结 51单片机基本特点 51单片机存储器组织 程序存储器 片内ROM和片外ROM扩展(EA引脚作用) PC与中断向量 数据存储器 片内RAM:工作寄存器、位寻址区、用户RAM(堆栈) SFR 片外RAM扩展 时序与复位 节拍、状态、机器周期和指令周期的概念 单片机复位 本章内容 本节课需掌握 指令的基本概念 操作数寻址方式 51单片机的指令系统 伪指令 汇编语言程序设计 重点 操作数寻址方式 51单片机的指令系统 汇编语言程序设计 4.1 指令概述 程序设计语言 指令助记符 指令编码是二进制编码,记忆起来有些困难,可用与指令含义接近的英文单词或缩写来代替指令的二进制编码 程序设计语言 机器语言:二进制指令代码程序设计语言,形成目标程序 计算机唯一可以直接识别的语言 二进制的表达形式,编程困难 高级语言和汇编语言程序(源程序)必须转换成机器语言目标代码(目标程序)才能被计算机执行 高级语言:面向过程和对象的程序设计语言 语句功能强,编程速度快 需要编译程序或解释程序翻译成机器代码 不太适用于微型计算机系统 汇编语言:用助记符代替二进制指令代码的程序语言 每条语句与一个具体的操作或指令对应 编写的程序需要汇编成机器代码运行 程序代码短,运行效率高,但编程复杂 非常适合计算机原理的学习 汇编语言指令格式 MCS-51单片机指令格式 [标号:] 操作码 [操作数][;注释] 介绍描述指令符号的意义 4.2 寻址方式 MCS-51单片机指令格式 [标号:] 操作码 [操作数][;注释] 定位操作数所在存储位置的方式叫寻址方式 寄存器寻址 直接寻址 立即寻址 寄存器间接寻址 变址寻址(基址寄存器加变址寄存器间接寻址) 相对寻址 位寻址 寄存器寻址方式 操作数位置出现的是工作寄存器名,操作数存放在工作寄存器中 直接寻址方式 出现在操作数位置不是操作数本身,而是操作数所在的存储单元的地址 可用于转移或调用指令的目标地址寻址,以“addr16”或“addr11”的形式出现 可用于RAM存储单元的寻址,以“direct”的形式出现 立即寻址方式 指令的操作数存放在程序存储器中,紧跟在操作码的后面,前缀指示符“#” 直接寻址与立即寻址的区别 寄存器间接寻址方式 出现在操作数位置的寄存器的内容不是操作数本身,而是操作数所在的存储单元的地址,以“@寄存器名”形式表示 R0、R1可用于片内RAM和片外RAM低256字节的间接寻址(MOV A,@Ri或MOVX A,@Ri),DPTR可用于片外RAM整个64K字节空间的间接寻址(MOVX A,@DPTR) 寄存器寻址与寄存器间接寻址区别 变址寻址 以累加器A为变址寄存器,以程序计数器PC或数据指针DPTR为基址寄存器,以二者之和作为程序存储器单元地址,取出其中的数据作为操作数 相对寻址 相对寻址用于访问程序存储器,在相对转移指令后作为转移的地址偏移,以“rel”形式表示 “rel”是8位补码,范围“-128~+127” 转移的目标地址为转移指令的下一条指令(PC)+rel 位寻址 关于累加器A在指令中的形式 累加器A在指令中的表现形式 1、以累加器A形式出现 A是指令编码的一部分,不占用独立字节 例:MOV A,Ri 指令编码:E8~EF 2、以direct地址形式(SFR地址)出现 ACC或字节地址 例:PUSH ACC 指令编码:C0 E0 4.3 MCS-51指令系统 MCS-51指令系统有111条指令 4.3.1 数据传送类指令 数据传送类指令的种类(29条) 片内RAM传送指令:MOV 片外RAM传送指令:MOVX ROM传送(查表传送):MOVC 累加器交换指令:XCH、XCHD、SWAP 堆栈操作指令: 进栈指令:PUSH 出栈指令:POP 对标志位的影响 影响累加器A内容的传送指令影响奇偶标志P,其它标志位不受影响 传送类指令操作示意图 以累加器A为一方的传送指令 以direct单元为一方的传送指令 立即数传送指令 传送类指令实例1 立即数送至累加器 MOV A,#20H ;A←#20H 累加器与工作寄存器R0~R7之间的传送 MOV R1,#20H MOV A,R1 MOV R0,A ;R0←#20H 累加器与@Ri间接寻址的片内RAM单元之间的传送 MOV A,#2FH MOV R0,#30H MOV R1,#40H MOV @R0,A ;(30H)←#2FH MOV A,@R1 ;A←(40H) XCH A,@
您可能关注的文档
最近下载
- 国家开放大学学前教育科研方法大作业答案.docx
- 配电工程 投标方案(技术方案).docx
- 2023年11月金华十校2024届级高三一模历史试卷(含答案).docx
- 2024《教育科学研究项目课题设计论证》:大班幼儿入学准备主题课程构建的实践研究7400字.doc
- 机电应用技术专业典型案例——校企融合、实景教学办学模式的创新.docx VIP
- 丙型肝炎病毒实验室检测技术规范(2023年修订版).pdf
- 中国客票销售发展模式论文.pdf
- 广东省茂名市电白区2023-2024学年七年级上学期期中数学试卷.pdf VIP
- 国家开放大学《管理英语4》边学边练Unit 5-8(答案全).docx VIP
- 《烹饪美学》 第四章 菜点造型艺术.pptx
文档评论(0)