好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验二 数据传送实验.docx

3页
  • 卖家[上传人]:夏**
  • 文档编号:504876509
  • 上传时间:2023-04-02
  • 文档格式:DOCX
  • 文档大小:12.43KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验二数据传送实验一、实验目的1 .掌握89S52存储器之间的数据传送方法;2 .掌握指针操作方法;二、实验原理及实验内容在KEIL环境中编写并调试一个数据传送程序,并完成下面操作①将40〜4FH数 据送到数据存贮器7E00H〜7E0FH中,②将数据存贮器7E00〜7E0FH中的数据送到 89S52内部RAM50〜5FH中该实验无需将程序下载到实验系统中,只需在KEIL环 境中完成仿真实验参考流程图 „..-■■■■ 一(注意:流程图中的BP1,BP2, ( 开始 jBP3 表示断点) T ■"""16个数据传送到40~4F单元[ BP1(40)〜(4FH)传送到 7E00-7E0FH T— BP21 7E00-7E0FH 传送到(50)〜(5FH)一工一 BP3[结束:图7-1数据传送实验程序框图调试方法:⑴打开仿真软件中内部数据空间和外部数据空间,在40〜4Fh数据单元中分别送 数,例如:1,2,3,4,…等16个数据⑵单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00H〜7F0FH) 数据是否与40H〜4FH数据一一对应⑶如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直 至正确为止。

      三、参考程序汇编程序:ORG 0000HAJMP MAINMAIN:MOV R6,#16 /* 数据个数*/MOV R0,#40H /*设置数据首地址*/TRANDATA1: /*将40〜4FH 数据送到数据存贮器7E00〜7E0FH中*/MOV @R0,P1INC R0DJNZ R6,TRANDATA1MOV R6,#16MOV DPH,#7EHMOV DPL,#00HMOV R0,#40HLOOP:MOV A,@R0/*通过P1 口传送数据*//*下一个地址*//*直到16个数据送完*//*设置存放数据的RAM地址*//*设置数据首地址*//*数据个数*/TRANDATA2:MOVMOVMOVMOVLOOP1:MOVX A,@DPTRMOV @R1,AINC DPTRINC R1DJNZ R7,LOOP1ENDMOVX @DPTR,AINC DPTRINC R0DJNZ R7,LOOP/*数据存贮器7E00〜7E0FH内容送到内部RAM 50〜5FH中*/R1,#50HR7,#16DPH,#7EHDPL,#00HC语言程序 #include#include main(){unsigned char data *point1 ; 〃片内存储器地址指针 unsigned char xdata *point2 ; //片外存储器地址指针 unsigned char i; 〃个数计数point1 = 0x40;for(i=0;i<16;i++){*point1 = i+1;point1++;}//给 0x40 开始地址赋值 1 〜0x10 point1 = 0x40;point2 = 0x7E00;for(i=0;i<16;i++)//将地址0x40开始的数据送给0x7E00开始的16个地址{*point2 = *point1;point1++;point2++;}point1 = 0x50;point2 = 0x7E00;for(i=0;i<16;i++)//将地址0x7E00开始的数据送给0x50开始的16个地址 {*point1 = *point2;point1++;point2++;}while(1){ ; }}四、 实验仪器和设备Keil软件;五、 实验结果和数据分析问题:1、试编写将外部的数据存贮区6030H〜607FH的内容写入外部RAM 0x3030〜0x307FH 中。

      2、说明在C语言中对地址操作过程。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.