- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3.1章 MCS-51单片机的指令系统
* 嵌入式应用基础 * 1. 子程序调用指令 子程序调用指令和指令要素如表。 第1条长调用指令LCALL addrl6,为三字节双周期指令,其操作码为12,后跟两字节的16位地址addrl6。 * 嵌入式应用基础 * 指令功能: (1)指向断点,执行PC←PC+3,使PC指向被称为断点的下一条指令地址; (2)保护断点,即先后将PCL和PCH压入堆栈,栈指针SP加2指向新的栈顶; (3)转子,将16位目的地址addr16送入程序计数器PC,使程序无条件转向子程序入口地址addr16,执行被调用的子程序。长调用指令可调用在64KB范围内的子程序。 * 嵌入式应用基础 * 第2条绝对调用指令ACALL addrl1,为双字节双周期指令,在机器码中提供11位地址addrl1,addrl1由第一字节高3位a10~8和第二字节8位a7~0构成。指令功能: (1)指向断点,执行PC←PC+2,使指向断点地址,即ACALL下一条指令的第一字节单元的地址; (2)保护断点,即先后将PCL和PCH压入堆栈,栈指针SP加2指向新的栈顶; * 嵌入式应用基础 * (3)转子,将11位目的地址addr11送入PC,取代低11位的PC10~0,与高5位PC15~11一起构成16位目的地址,使程序无条件转向子程序入口地址去执行。 绝对调用指令只修改了PC的低11位地址,高5位PC15~11仍由 决定,所以调用子程序范围只有2KB,又称为短调用。 * 嵌入式应用基础 * ACALL指令把整个64KB程序存储空间划分成32个区,每个区为2KB,由高5位决定区号,区号范围为0~31(0~1FH)。 与AJMP指令相类似,是为了与MCS-48中的CALL指令兼容而设的 * 嵌入式应用基础 * 2. 返回指令 第1条子程序返回指令RET,为单字节双周期指令,其操作码为22。 功能是:恢复断点,将堆栈栈顶起两个单元中的断点分别弹出至PCH和PCL,同时堆栈指针减2。程序将返回到断点处继续执行。 * 嵌入式应用基础 * 第2条中断返回指令RETI,也为单字节双周期指令,其操作码为32。 功能是:除恢复断点,返回主程序继续执行外,还清除在中断响应时所设置优先级状态位,使其他中断申请能得到响应。 调用和返回指令必须成对使用, 均不影响标志位。 * 嵌入式应用基础 * 3. 空操作指令 空操作指令只有操作码而没有操作数,为单字节单周期指令,其操作码为00。 功能是:除PC加l送PC外,不进行任何操作。 NOP指令常用来:进行软件延时或等待; 在调试程序时取代要删除的指令以及在程序中预留NOP指令,以备添加新指令而留出空间; 在CPU与I2C总线器件通信时作时间的“微调”。 * 嵌入式应用基础 * MCS-51中的布尔处理器, 以CY为位累加器C,对片内RAM或SFR中可位寻址区, 进行位操作处理。 位操作指令分为: 位传送、位置1和位清0、位运算、位控制转移四类。布尔变量寻址:CY和直接寻址。 在17条指令中,用到11种助记符ORL、ANL、SETB、CLR、CPL、MOV、JC、JNC、JB、JNB、JBC等。 7 位操作指令 * 嵌入式应用基础 * 1. 位置1与清0指令 第1、3条指令功能:分别对位累加器CY清0和置1,并影响CY标志。 第2、4条指令功能:分别对可位寻址位清0和置1,结果不影响任何标志。 * MCS-51单片机原理与应用 * 第1、2条指令为位逻辑与指令,功能是分别把进位CY的内容跟直接位地址的内容(或直接位地址内容取反)进行逻辑与,结果送回到CY中。 源操作数前的斜杠“/”表示对该位先取反、后运算,但不改变该位的原值。 2. 位逻辑运算指令 * 嵌入式应用基础 * 3. 位传送指令 MOV C,bit 指令为双字节、单周期指令。功能是把直接位地址单元bit中内容送CY,指令执行后只影响CY标志。 MOV bit,C 指令为双字节、双周期指令。功能是把CY内容送直接位地址单元bit中,指令执行后不影响任何标志。 MCS-51不提供可寻址位间直接进行传送的指令,此时,位数据传送可通过位累加器 C为中介进行。 * 嵌入式应用基础 * 例 试编程,用位操作指令实现图异或电路, 位地址F0用了几种表达方式? 解:位地址F0用了3种表达方式: (1)直接地址方式D5H; (2)位名称F0; (3)点操作符方式PSW.5。 * 嵌入式应用基础 * 用位操作指令实现异或电路程序如下: ORG 0030H START: MOV C ,P1.0 ANL C,/0D5H MOV ACC.0,C MOV C,PSW.5
您可能关注的文档
最近下载
- 2024-2025学年第一学期 青岛版小学信息科技四年级上册 第一单元 信息科技基础 课时学历案 .pdf VIP
- 外研版(2025)必修第一册Unit 1 A New Start Developing ideas Writing 课件(13张ppt)(含音频+视频).pptx VIP
- 2024-2025学年第一学期 青岛版小学信息科技四年级上册 第二单元 反馈与优化 课时学历案 .docx VIP
- 高压试验危险点分析及控制措施.doc VIP
- 2024-2025学年第一学期 青岛版小学信息科技五年级上册 第二单元 在线生活(学历案设计) 0001.pdf VIP
- 21 CFR 210&211 cGMP中英对照版.doc VIP
- 网约车从业资格证考试题库及答案大全.doc VIP
- q cpu用户手册功能解说程序基础篇.pdf
- 做账实操-货代物流公司成本核算.pdf
- 成人的情绪管理课件.pptx VIP
文档评论(0)