110 likes | 322 Views
任务 3 片内 RAM 与片外 RAM 之间数据块传送操作. 2 学时. 1. 掌握涉及到片外数据存储器操作的数据传送类指令. 2. 指针 DPTR 的使用. 3. DPTR 指针与 Ri 指针的区别. 4. 了解单片机片外 RAM 与片内 RAM 相互独立编址的含义. 一.任务目标. 二.任务要求. 任务描述:将 10 - 19 这 10 个数先送到 30H - 31H 这 10 个片内 RAM 中,然后,再将 30H - 39H 中的数传送给 10 个片外 RAM 单元中去,地址为 0100H - 0109H. 三. 相关知识.
E N D
1.掌握涉及到片外数据存储器操作的数据传送类指令1.掌握涉及到片外数据存储器操作的数据传送类指令 2.指针DPTR的使用 3. DPTR指针与Ri指针的区别 4.了解单片机片外RAM与片内RAM相互独立编址的含义 一.任务目标
二.任务要求 任务描述:将10-19这10个数先送到30H-31H这10个片内RAM中,然后,再将30H-39H中的数传送给10个片外RAM单元中去,地址为0100H-0109H
三. 相关知识 (一)片外数据存储器与片内数据存储器 1.统一编址与独立编址 (1)独立编址:房子内的盒子与房子外的盒子各编各的号,室内的编号从0开始,到255结束,一共有256个编号,室外的盒子也从0开始编号,一直到65535结束,一共是64K个编号(注意1K=1024) (2)统一编址:室内的盒子与室外的盒子接通了进地编号,室内先开始编,从0开始,编到255,室内盒子编完了,室外的盒子再接到刚才的编号从256开始编号
(二)相关指令(MOVX) MOVX @DPTR,A ;(A)→((DPTR)) 累加器中的内容送到数据指针指向的片外RAM单元中。 MOVX A, @DPTR ;((DPTR))→(A) 数据指针指向片外RAM单元中的内容送到累加器A中。 MOVX A, @Ri ;((Ri))→(A) 指针Ri指向的片外RAM地址中的内容送到累加器A中。 MOVX @Ri,A ;(A)→((Ri)) 累加器中的内容送到指针Ri指向片外RAM单元中。
相关指令(MOVX) 说明: 1.在51中,与外部存储器RAM打交道的只可以是A累加器。 2.注意,能够指向片外RAM单元的指针包括R0、R1、DPTR三个,而能够指向片内RAM单元的指针只有R0、R1,而且片外RAM只能通过指针的方式进行访问,即只能通过间接寻址方式进行访问 3.即然Ri即可以指向片外RAM,也可以指向片内RAM,单片机怎样进行区别呢,实际上是通过关键字不同进行区分的,大家知已来判断一下下面两条指令 MOVA,@R0 MOVXA,@R0
开始 让指针指向片内RAM单元30H将第一个要送的数10放入累加器A中。 将A中的值送到R0指针指向的片内RAM单元中,再将A的内容加1,将指针内容加1,以指向新的存储单元,下次循环时装入新的数据 否 是否送了10次 向R0和DPTR送初值,让R0指向片内30H存储单元, DPTR指向片外0100H存储单元 将R0指针所指的片内存储单元的内容送到DPTR指针所指的片外存储单元里去,然后将两个指针内容各自加1,使两个指针分别指向下一个存储单元 否 是否送了10次 是 结束 图2.1.2 片内与片外RAM之间数据传送程序流程图 四.任务分析 (一)任务程序流程
五.任务实施 • 1.用伟福软件编写程序,并进行编译。 • 2.运用伟福软件的单步调试功能,一条一条的执行指令,每执行一条指令,通过伟福软件的相关存储器窗口观察存储单元是怎样变化的。
六、任务总结 • 任务回顾 • 课后作业 • 思考题
Thank you! 标志