单片机数据传送实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除单片机数据传送实验报告

篇一:单片机数据传送实验报告

实验名称:数据传送实验

实验类型:设计性实验

姓名:袁志生

时间:04.17第五六节课

一、实验目的与要求

实验目的:1、掌握单片机的汇编指令系统及汇编语言程序设计方法。

2、掌握单片机的存储器体系结构。

3、熟悉keil软件的功能和使用方法。

4、掌握单片机应用程序的调试方法。

实验要求:1、实现单片机内部RAm之间,外部RAm之间以及内部RAm与外部RAm之间的数据传送。

2、利用Keil软件编辑、汇编、调试、运行实验程序并

记录实验数据。

二、设计要求

1、编写程序将00h~0Fh16个数据分别送到单片机内部RAm30h~3Fh单元中。

2、编写程序将片内RAm30h~3Fh的内容传送至片内RAm40~4Fh单元中。

3、编写程序将片内RAm40h~4Fh单元中的内容传送到外部RAm4800h~480Fh单元中。

4、编写程序将片外4800h~480Fh单元内容送到外部RAm5800h~580Fh单元中。

5、编写程序将片外RAm5800h~580Fh单元内容传送回片内RAm50h~5Fh单元中。

三、实验程序流程框图和程序清单.

程序清单:

oRg0000h

sTART:moVR0,#30h

moVDpTR,#Qw1

moVR5,#0

Loop:

Qw1:

Qw2:

Loop1:

Loop2:

Loop3:

R7,#16A,R5A,@A+DpTR@R0,AR0IncR5R7,LoopQw200h,01h,02 h,03h,04h,05h,06h,07h08h,09h,0Ah,0bh,0ch,0Dh,0eh,0F hR0,#30hR1,#40hmoVR5,#16A,@R0@R1,AR0R1R5,Loop1R1,#4 0hmoVDpTR,#4800hR5,#16A,@R1@DpTR,AR1DpTRR5,Loop2moV sp,#60h11h,#48h10h,#58hR2,#00hDpL,R210h11hDphmoVxA, @DpTRmoVmoVmoVcmoVIncDJnZLJmpDbDbmoVmoVmoVmoVIncInc DJnZmoVmoVmoVmoVxIncIncDJnZmoVmoVmoVmoVpushpushpop pop

moVx

Inc

cJne

moV

moV

moV

Loop4:moVx

moV

Inc

Inc

DJnZ

enD

四,实验小结

Dph@DpTR,AR2R2,#10h,Loop3R1,#50hDpTR,#5800hR5,#16A, @DpTR@R1,AR1DpTRR5,Loop4

1通过本次实验熟悉了keil软件的功能和使用方法.

2掌握单片机的数据传送类和循环类汇编指令系统,学会了各种数据传送形式的程序设计方法.

3掌握了单片机的调试方法。为以后的实验开了个好头.

五、思考题

1、说明mcs-51系列单片机对片内RAm和片外RAm存贮器各有哪些寻址方式?答:片内RAm寻址方式有:寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,位寻址方式,立即数寻址。片外RAm寻址方式:寄存器间接寻址。

2、说明指令moVA,20h和moVc,20h中的20h含义有什么不同?传送指令中的助记符moV,moVx,moVc各适用于访问哪个存储器空间?

答:(1)moVA,20h的含义是字节地址,moVc,20h的含义是位地址。

(2)助记符moV适用于访问片内RAm,助记符moVx适用于访问外部RAm,助记符moVc适用于访问程序存储空间。

篇二:单片机数据传送实验报告

实验三数据传送实验报告

㈠实验目的

1.进一步掌握程序的编辑、汇编及调试方法;

2.掌握单片机内部RAm和外部RAm的数据操作;

3.了解单片机系统地址分配概念。

㈡实验器材

1.2.3.4.

g6w仿真器一台mcs—51实验板一台pc机一台电源一台㈢实验内容及要求

1.以数据表格形式在Rom中建立一个含有正数和负数的表格,数据长度

为16个字节,要求放置八个正数、八个负数,正、负数应离散随机放置,不允许三个以上同类型数据连续放置,数据的具体内容自行确定;2.编制程序,将数据表格中的数据读出并按正、负数归类,正数送入首地

址为40h的内部RAm中;负数送入首地址为0b000h的外部RAm中;3.将首地址为0b000h的外部RAm中的数据取出并求其绝对值,然后送

入内部RAm的48h~4Fh单元。

程序如下:

oRg0000hAJmpmAInoRg0060hmAIn:

moVA,#10h;数据长度放入了累加器A中

moVR1,#0b0h;负数所需送入的首地址高位放入R1

moV20h,#00h;负数所需送入的首地址低位放入20h单元中moVR0,#40h;正数所需送入的首地址40h放到R0中去moVDpTR,#0A00h;将表格开始的位置放入DpTR;以上为初始化的全部内容pushDphpushDpLpushAsTART:popApopDpL popDph

pushA;将A压栈,保护里面存储的数据长度

10hmoVA,#00h

moVcA,@A+DpTR;读表头地址moV20h,A

IncDpTR;DpTR指针加1,以读取表格中下一个数

pushDph;为了保护DpTR中存储的表格地址,压栈以便于放入0b000h,存储负数pushDpLJuDge:

moVA,20hRLcA

JcnegATIVe;opposITe:moVA,20h

moV@R0,A;IncR0;popDpLpopDphpopA

DecA;pushDphpushDpLpushA

JnZsTART;sJmpenD1;negATIVe:

moVA,20hmoVDph,R1moVDpL,20hmoVx@DpTR,A

IncDpTR;0b000hmoV20h,DpLmoVR1,DphpopDpLpopDphpopADe cA

pushDphpushDpLpushA

相关文档
最新文档