目录

  • Intro
  • 快速上手
  • 参考资料

Intro

本片文章将介绍如何使用汇编将片外数据传到片内,并使用debug展示数据在register中的流转。我们将以将片外2010H ~ 201FH单元的内容设置为 40H~4FH ,然后将 2010H ~ 201FH单元中的内容送到片内50H ~ 5FH单元中 如下图所示,下面进行此示例的讲解。

图为demo示意图

快速上手

  • 环境配置

首先你需要确保自己安装好了keil5的环境,并知道如何创建一个简单的项目,使用汇编编写代码,这里可以参考- 51单片机数据传送——片内到片外(汇编语言实现) -csdn

  • 代码编写

在你知道如何创建环境之后,就可以开始编写相关的汇编代码了,在这里我们默认你已经掌握了常用的几种简单的汇编指令,如MOV执行,DJNZ循环等指令,这里可以参考51单片机汇编语言指令汇总 -csdn

最后实现如下所示:

     ORG 0000HMOV DPTR,#2010H        ;外部RAM地址MOV A,#40H          ;初值送入累加器AMOV R2,#10H            ;循环次数
LOOP1:  MOVX @DPTR,A       ;将累加器A中的数送入外部RAMINC DPTR            ;外部地址自增1INC A               ;累加器A中的数自增1DJNZ R2,LOOP1        ;循环,R2减1不等于0,则继续,否则结束循环MOV DPTR,#2010H     ;外部RAM地址MOV R1,#50H         ;内部RAM地址MOV R3,#10H         ;循环次数
LOOP2:  MOVX A,@DPTR       ;外部RAM传送到累加器AMOV @R1,A         ;累加器A传送到内部RAMINC DPTR           ;外部地址自增1INC R1              ;内部地址自增1DJNZ R3,LOOP2       ;循环,R3减1不等于0,则继续,否则结束循环END
  • 程序调试

在调试过程中,如果想要看到数据及其流转,可以在打开debug之后,开启一个memory窗口,并在memory窗口输入“x:2010H”即可查看片外数据存储器从2010H开头往后的地址对应的数据。

现在我们通过debug来展示数据的流转,数据是由一个循环代码段放入片外的,所以在最开始程序未执行的时候,片外和片内memory都是空的,如下图所示。

接下来设置一个断点,使得程序在第一个循环这里停下。

此时已经通过第一个循环就把数据写入片外了,这就是我们的数据源,如下图所示。

  • 运行后的结果
    同样通过debug,我们可以在debug的时候在memory窗口用“i:50H”来查看以50H地址往后的片内数据存储器的内容。

参考资料

  • Keil 5的第一个汇编程序C51(包括Debug)
  • 51单片机数据传送——片内到片外(汇编语言实现)
  • 51单片机Proteus仿真+Keil工程-实验6-单片机扩展RAM6264实验
  • 51单片机数据传送——片内到片外(汇编语言实现) -csdn

【手把手教程】keil5 c51使用汇编将数据从片外传输至片内RAM相关推荐

  1. Keil5 C51版(51单片机编程软件)安装教程

    目录 一.keil软件介绍 二.keil软件下载 三.keil软件安装 四.视频教程 一.keil软件介绍 keil软件是Keil公司下的微控制器(MCU)软件开发工具.2005年Keil公司由ARM ...

  2. 手把手的K-means聚类算法教程(含简介及教育数据应用实例 Python实现)

    手把手的K-means聚类算法教程(含简介及教育数据应用实例 Python实现) 1. K-MEANS的基本原理 2. 数据预处理 2.1 数据读取:from Excel 2.2 数据预处理:标准化Z ...

  3. 汇编和c语言函数的参数传递,C51中汇编的使用及参数传递与数据返回

    博文原址:http://blog.163.com/liujie_267/blog/static/874692172010612461343/ 1.在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码: ...

  4. [java手把手教程][第二季]java后端博客系统文章系统——No10

    项目github地址:github.com/pc859107393- 实时项目同步的地址是国内的码云:git.oschina.net/859107393/m- 我的简书首页是:www.jianshu. ...

  5. 图文手把手教程--ESP32 MQTT对接EMQX本地服务器(VSCODE+ESP-IDF)

    本文内容 1)使用MQTT_TCP例程,ESP32通过MQTT协议与MQTT本地服务器(EMQX)进行通信. 2)如何搭建EMQX MQTT本地服务器. 3)如何使用MQTT.fx客户端调试工具或MQ ...

  6. 腾讯云服务器购买详细流程(手把手教程)

    第一次购买腾讯云服务器很多同学不会选择,云服务吧写了一篇手把手教程,分享给大家: 腾讯云服务器购买流程 购买腾讯云服务器很简单,首先你需要注册一个腾讯云账号,使用微信或QQ注册即可,很简单.账号注册后 ...

  7. keil5怎么接入汇编_keil C中嵌入汇编程序的方法

    1. C语言中直接嵌入汇编程序段 1.在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码: #pragma ASM ; Assembler Code Here #pragma ENDASM 2.在 ...

  8. Keil5 C51与ARM共同时用

    Keil5 C51与ARM 共同时用 Keil是单片机的一款开发环境,分为不同的版本分别对应不同阶段的单片机. 主流的就是51单片机和STM32单片机. 目录 Keil5 C51与ARM 共同时用 前 ...

  9. Excel:python结合Excel使用技巧经验总结之(将python输出的等间隔列数据直接粘贴复制存到物理表格内等)图文教程之详细攻略

    Excel:python结合Excel使用技巧经验总结之(将python输出的等间隔列数据直接粘贴复制存到物理表格内等)图文教程之详细攻略 目录 Excel使用技巧经验总结 将pandas.DataF ...

最新文章

  1. 蚂蚁金服面试经历-临场发挥
  2. 【练习】c++删除链表倒数第K个结点和 插入排序算法将单链表递增排序
  3. 分布式系统中的一致性协议
  4. 国外问答网站Quora数据的爬虫 Java
  5. matlab 高斯迭代代码_主动降噪与双麦降噪原理与实现前篇——LMS算法的matlab实现...
  6. Socket Tools的使用
  7. ROS教程(一):ROS安装教程(详细图文)
  8. 华为c8818刷原生Android 6,华为C8818刷机教程_华为C8818强刷官方rom系统包
  9. 卓有成效的管理者(笔记)——要事优先
  10. ANSYS预紧力螺栓连接结构(—HyperMesh添加预压力单元)
  11. 2022.03.03【微生物】|比对后去宿主分析
  12. 测绘资质升级申请条件有哪些要求?
  13. CESM模式及其各个分量模式介绍
  14. MySQL 密码设置
  15. 高通打开内核阶段串口log
  16. RDSDRDSPolarDBPolarDB-X的区别
  17. 威客网站系统开题报告
  18. python前n项和存为一个数组_python-将数组或DataFrame与其他信息一起保存在文件中...
  19. 小程序Swiper组件做日历(周历)左右滑动动态修改数据
  20. 20+ Prompt工具网站汇总;我用AI工具开了一家「无人公司」;如何10分钟上线一个AI导航网站;第一部AIGC中英双语图文辞典 | ShowMeAI日报

热门文章

  1. 牛客刷题篇:客似云来 和 剪花布条(Java)
  2. AndroidStudio开发高德地图有些机型报java.lang.UnsatisfiedLinkError解决方案
  3. 为用户信息修改添加审核功能
  4. 制定游戏机计算机配置清单,求吃鸡游戏电脑配置清单
  5. 梦幻西游 python.dll_梦幻西游游戏参数
  6. 利用 MapReduce分析明星微博数据实战
  7. 世界是平的,网络也是平的
  8. Android系统分析—OTA升级
  9. 一个30岁男人的爱情婚姻思考(尽量不要在学习的时间看)
  10. 【XJTUSE计算机图形学】第一章 绪论