- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机20131011教程
第3章 MCS-51 指令系统 Instruction Set ;3.1 指令系统概述;MCS-51指令系统;MCS-51 指令格式;MCS-51 指令中所用符号说明;@ ——间接寻址寄存器前缀,如@Ri,@A+DPTR
(X) —— X中的内容。
((X)) ——由X寻址的单元中的内容。
→ ——箭头右边的内容被箭头左边的内容所取代。;3.2 MCS-51 指令的寻址方式;3.2.1 立即寻址Immediate Addressing;3.2.2 直接寻址;3.2.3 寄存器寻址;3.2.4 寄存器间接寻址;3.2.5 变址寻址(基址寄存器+变址寄存器间接寻址);;3.2.6 相对寻址;程序存储区;3.2.7 位寻址;寻址方式与相应的寻址空间;3.3 MCS-51 指令系统介绍;3.3.1 数据传送指令(5种/29条);内部存储器间数据传送路径;内部数据传送指令(16条);以累加器A为目的字节的传送指令;以Rn为目的字节的传送指令;以直接地址为目的字节的传送指令;以间接地址为目的字节的传送指令;内部数据传送指令总结(1);内部数据传送指令总结(2);例:;外部数据存储器与累加器间传送指令(4条);外部数据存储器与累加器间传送指令总结;程序存储器向累加器传送指令(2条);例如: (A)=30H,执行地址1000H处的指令
1000H: MOVC A,@A+PC
本指令占用一个字节,执行结果将程序存储器中1031H的内容送入A。;例如:查表指令MOVC A,@A+PC所在的地址为2000H,表格的起始单元地址为2035H,表格的第4个元素(位移量为03H)的内容为45H,则查表指令的处理过程如下:
MOV A,#03H;表格元素相对于表首的位移量送累加器A
ADD A,#34H;当前程序计数器PC相对于表首的差值加到累加器A中
MOVC A,@A+PC;查表,查得第4个元素内容45H送累加器A
注意:查表指令的长度为1个字节,当前程序计数器PC的值应为查表指令的地址加1。; 给出每条指令执行后的结果 ;应用举例1-LED灯显示;应用举例1-8段数码管显示;应用举例2-继电器控制;写出完成下列功能的程序段。
(1)将R0的内容送R6中程序为:
(2)将片内RAM 30H单元的内容送片外60H单元中程序为:
(3)将片外RAM 1000H单元的内容送片内20H单元中程序为:
(4)将ROM 2000H单元的内容送片内RAM的30H单元中程序为: ;数据交换指令(5条);例1:
(A)=80H,(R7)=08H,(40H)=F0H
(R0)=30H,(30H)=OFH
执行下列指令:
XCH A,R7 ;(A)与(R7)互换
XCH A,40H ;(A)与(40H)互换
XCH A,@R0 ;(A)与((R0))互换
结果:(A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H
例2:
(R0)=60H,(60H)=3EH,(A)=59H
执行指令: XCHD A,@RO
结果:(A)=5EH,(60H)=39H。
例3:
(A)=0C5H
执行指令: SWAP A
结果:(A)=5CH
;若R0的内容为30H,片内RAM 30H单元的内容为23H,累加器A的内容为45H,则执行
XCH A,@R0
指令后片内RAM 30H单元的内容为45H,累加器A中的内容为23H。
若执行SWAP A指令,则累加器A的内容为54H。;堆栈操作指令(2条);例:设 A=02H,B=56H,执行下列指令后,
SP= ? ,A= ? ,B= ? 。;练习:;习题:找出指令错误并改正:;3.3.2 算术运算指令(24条);不带进位加指令(4条);PSW;例 分析加法指令执行结果;例1 (A)=53H,(R0)=FCH,执行指令
ADD A,R0
例2 (A)= 85H,(R0)=20H,(20H)=AFH,执行指令:
ADD A,@R0
;带进位加指令(4条);测验:试把存放在R1R2和R3R4中的两个16位数相加,结果存于R5R6中。;增量指令(5条);十进制调整指令(1条);ALU只能进行二进制加法(即低4位向高4位逢16进1)原则并不能适用于十进制数的加法运算,有时会产生错误结果。
例如:
您可能关注的文档
最近下载
- 2025年广东省基层住院医师线上岗位培训(口腔学)专业课答案(1-2).docx
- 2025年设备监理师《设备工程质量管理与检验》考前点题卷一.docx VIP
- 六西格玛案例之优化电池烘烤工艺.pptx VIP
- 机动车驾驶人考试员相关规定幻灯片.ppt
- 设备使用管理标准.pptx VIP
- 16D303-2常用风机控制电路图.doc
- 《七大浪费分析与改善》培训.ppt VIP
- 人教版《义务教育教科书数学》教材培训.ppt VIP
- 2025年设备监理师《设备工程质量管理与检验》模拟试卷二.docx VIP
- 青岛科技大学2022-2023学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
文档评论(0)