- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4数据传送指令
MJ/JW-JL-11(15) 5年
三 明 市 高 级 技 工 学 校
教 案 用 纸
学
科 单片机技 术 第 三 章 单片机指令系统
第 4 节 数据传送指令 审 批 签 字 授 课 时 数 2 授 课 方 法 教授 教 具 多媒体 授 课 时 间 9.29 5-6节 10.26 3-4节 授 课 班 级 09电工班、09电梯班 教 学 目 的 外部RAM数据传送指令、堆栈操作指令 教 学 重 点
和 难 点 堆栈操作指令 复 习 提 问 RAM内部数据传送指令有哪些? 教 学 内 容、方 法 和 过 程 附 记 (一)、组织教学
(二)、课前复习
1、指令格式中符号意义说明
2、数据传送类指令
(三)、导入新课
1、外部RAM数据传送指令
MOVX A,@Ri;A ((Ri))
MOVX @Ri,A;(R0) (A)
MOVX A,@DPTR;A ((DPTR))
MOVX @DPTR,A;(DPTR) (A)
要点分析:
1)在MCS-51中,与外部存储器RAM打交道的只可以是累加器A,所有片外RAM数据传送必须通过累加器A进行。
2)要访问片外RAM,必须要知道RAM单元的16位地址,在后两条指令中,地址是被直接放在DPTR中的。而前两条指令,由于Ri(即R0或R1)是一个8位的寄存器,所以只能访问片外RAM低256个单元,即0000H~00FFH。
三 明 市 高 级 技 工 学 校
教 案 用 纸 附 页
教 学 内 容、方 法 和 过 程 附 记 3)使用外部RAM数据传送指令时,应当首先将要读或写的地址送人DPTR或Ri中,然后再用读写命令。
例 将外部RAM中0010H单元中的内容送人外部RAM中2000H单元中。程序如下:
MOV R0,#10H
MOVX A,@R0
MOV DPTR,#2000H
MOVX @DPTR,A
2、程序存储器数据传送指令
指令介绍:
MOVC A,@A+DPTR;A ((A)十(DPTR))(远程查表指令)
MOVC A,@A+ PC;A ((A)+(PC))(近程查表指令)
要点分析:
1)这两条指令寻址范围为64KB,指令首先执行16位无符号数的加法操作,获得基址与变址之和,“和”作为程序存储器的地址,该地址中的内容送人A中。
2)第二条指令与第一条指令相比,由于PC的内容不能通过数据传送指令来改变,而且随该指令在程序中的位置变化而变化,因此在使用时需对变址寄存器A进行修正。
以上两条MOVC是64KB存储空间内的查表指令,实现程序存储器到累加器的常数传送,每次传送一个字节。
3、堆栈操作指令
压入 PUSH direct;(SP) (SP)+1,(SP) (direct)
弹出 POP direct;direct ((SP)),(SP) (SP)-1
例 分析以下程序的运行结果
MOV R2,#05H
MOV A,#01H
PUSH ACC
PUSH 02H
POP ACC
POP 02H
堆栈操作的特点是“先进后出”,在使用时应注意指令顺序
三 明 市 高 级 技 工 学 校
教 案 用 纸 附 页
教 学 内 容、方 法 和 过 程 附 记
结果是(R2)=01H,而(A)=05H。也就是两者进行了数据交换。因此:使用堆栈时,人栈的顺序和出栈的顺序必须相反,才能保证数据被送回原位,即恢复现场。
4、数据交换指令
(1)字节交换指令
XCH A,Rn;(A) (Rn)
XCH A,@Ri;(A) (Ri)
XCH A,direct;(A) (direct)
(2)半字节交换指令
XCHD A,@Ri;(A)0-3 (Ri)0-3
(3)累加器A高低半字节交换指令
SWAP A;(A)0-3 (A)4-7
数据交换主要是在内部RAM单元与累加器A之间进行。
例 将片内RAM 60H单元与61H单元的数据交换
不能用:XCH 60H,61H
应该写成:MOV A,60H
XCH A,61H
MOV 60H,A
作业:3.1.5 3.1.6
总结:
1、外部RAM数据传送指令
2、程序存储器数据传送指令
文档评论(0)