【手把手教程】keil5 c51使用汇编将数据从片外传输至片内RAM |
您所在的位置:网站首页 › keil单片机存储结构操作实验 › 【手把手教程】keil5 c51使用汇编将数据从片外传输至片内RAM |
目录
Intro快速上手参考资料
Intro
本片文章将介绍如何使用汇编将片外数据传到片内,并使用debug展示数据在register中的流转。我们将以将片外2010H ~ 201FH单元的内容设置为 40H~4FH ,然后将 2010H ~ 201FH单元中的内容送到片内50H ~ 5FH单元中 如下图所示,下面进行此示例的讲解。 首先你需要确保自己安装好了keil5的环境,并知道如何创建一个简单的项目,使用汇编编写代码,这里可以参考- 51单片机数据传送——片内到片外(汇编语言实现) -csdn 代码编写在你知道如何创建环境之后,就可以开始编写相关的汇编代码了,在这里我们默认你已经掌握了常用的几种简单的汇编指令,如MOV执行,DJNZ循环等指令,这里可以参考51单片机汇编语言指令汇总 -csdn 最后实现如下所示: ORG 0000H MOV DPTR,#2010H ;外部RAM地址 MOV A,#40H ;初值送入累加器A MOV R2,#10H ;循环次数 LOOP1: MOVX @DPTR,A ;将累加器A中的数送入外部RAM INC DPTR ;外部地址自增1 INC A ;累加器A中的数自增1 DJNZ R2,LOOP1 ;循环,R2减1不等于0,则继续,否则结束循环 MOV DPTR,#2010H ;外部RAM地址 MOV R1,#50H ;内部RAM地址 MOV R3,#10H ;循环次数 LOOP2: MOVX A,@DPTR ;外部RAM传送到累加器A MOV @R1,A ;累加器A传送到内部RAM INC DPTR ;外部地址自增1 INC R1 ;内部地址自增1 DJNZ R3,LOOP2 ;循环,R3减1不等于0,则继续,否则结束循环 END 程序调试在调试过程中,如果想要看到数据及其流转,可以在打开debug之后,开启一个memory窗口,并在memory窗口输入“x:2010H”即可查看片外数据存储器从2010H开头往后的地址对应的数据。 现在我们通过debug来展示数据的流转,数据是由一个循环代码段放入片外的,所以在最开始程序未执行的时候,片外和片内memory都是空的,如下图所示。 ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |