微机原理与接口技术实验指导书(3)

2018-11-18 21:36

将外部RAM 1000H单元的内容传送到内部RAM 30H单元。 将外部RAM 1000H单元的内容传送到R1

(2)比较AJMP、LJMP、 JZ、DJNZ 指令编译后机器码中操作数(跳转地址)的不同

八、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

(四)对实验中发现的问题应加以讨论,并提出自己的改进意见和要求、希望等。

实验二 汇编语言程序设计(一)

一、实验目的

1. 熟悉Keil C51软件使用。

2. 掌握51汇编程序设计,巩固掌握程序的调试方法。 3. 掌握RAM中的数据操作。

二、实验设备及器件

微型计算机1台 ,KEIL C51 集成开发软件。

三、实验内容

1、读下面的程序,说出程序功能(参考图3.1的算法) 参考程序

ORG 0000H

开始源地址内容送A LJMP MAIN ORG 0100H

MAIN: MOV R2, #10H MOV R3,#00H MOV R4,#20H MOV R5,#00H MOV R7,#20H MOV R6,#00H MAIN1: MOV DPL,R3

MOV DPH,R2 MOVX A,@DPTR MOV DPL,R5 MOV DPH,R4 MOVX @DPTR,A CJNE R3,#0FFH,LO42

A 送目的地址源地址加1目的地址加1字节数到了吗 Y结束N 图3.1 数据区传送流程图

INC R2

CJNE R5,#0FFH,LO43 INC R4

CJNE R7,#00H,LO44 NOP SJMP MAIN1 END

LO42: INC R3

LO43: INC R5 LOOP: SJMP LOOP LO44: DEC R7

2、按下面要求编写程序

①将已知(20H)=12H,(21H)=34H,编程计算(20H)+(21H) →(40h)中。

②设有50个工作单元, 其首址为外部存储器8000H单元, 编程使其工作单元清零。 ③编程将片内RAM的一个字节二进制数转换成 3 位非压缩型BCD码。

④试编写程序,查找在内部RAM的20H~50H单元中出现00H的次数,并将查找的结果存入51H单元。

四、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)进一步熟悉外部数据存储器的访问方法和堆栈指针的应用。 (三)对照试验内容,编写程序。

五、思考题

(1)试写一条把片内RAM 50H~59H单元清零的程序。

(2) 试写一个把片外RAM从2000H单元开始的16个字节写入片内RAM 50H开始的单元的程序。(3)如果使1000~1010H中内容与2000~2010H内容完全一致,如何编写程序?

六、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)编写程序完成实验后的思考题。

(四)对实验中发现的问题应加以讨论,并提出自己的改进意见和要求、希望等。

实验三 汇编语言程序设计(二)

一、实验目的

熟悉MCS-51指令系统,掌握汇编语言程序设计方法。

二、预习要求

(一)熟悉实验软件环境和程序调试方法,掌握KEIL用法。 (二)进一步巩固51汇编指令的用法。 (三)掌握分支结构、循环结构程序设计方法。

三、实验内容

编写程序完成下面要求:

1、3 个无符号单字节整数分别存于R1、 R2、 R3 中, 找出其中最大数放于R0 中。 2、从BLOCK单元(片内RAM)开始有一个无符号数数据块, 其长度存于LEN单元,试求出数据块中最大的数并存入MAX单元(BLOCK、LEN、MAX均为自定义的片内RAM单元)。

3、编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号数,按从小到大的次序重新排列。

四、参考算法

见图3.2

五、实验参考程序

ORG 0000H ;冒泡排序法参考程序 LJMP MAIN ORG 0100H

MAIN:

MOV R3,#50H

清标志位开始QUE1: MOV A,R3

MOV R0,A MOV R7,#0AH CLR 00H MOV A,@R0 INC R0 MOV R2,A CLR C MOV 22H,@R0 CJNE A,22H,QL3 SETB C MOV A,R2 JC QL1 SETB 00H XCH A,@R0 DEC R0 XCH A,@R0 INC R0 MOV A,@R0 DJNZ R7,QL2

从 R0 取数—>A(R0)+1送R0QL2:

A)<((R0))?标志置位 交换内容长度减1=0 标志位=0 Y结束NNQL3:

图3.2 数据冒泡排序流程图 QL1:

JB 00H,QUE1

END

LOOP: SJMP LOOP

六、思考题

1、编一程序,把50H—5AH中内容按从大到小排列。

七、实验报告要求

(一)报告中记录试验内容1、2的源程序及调试结果;记录试验内容3的调试结果。 (二)编写思考题要求的程序,并要求在课后自己上机调试。

(三)对实验中发现的问题应加以讨论,并提出自己的改进意见和要求、希望等。

实验四 基于Keil C51集成开发环境的仿真与调试 一. 实验目的

熟悉Keil C51 集成开发环境调试功能的使用和DP-51PRO单片机综合仿真实验仪的使用。

二. 实验设备及器件

IBM PC 机 一台

DP-51PRO单片机综合仿真实验仪 一台

三. 实验内容

1、按照本书的第2章的2.5节内容进行Keil C51 集成开发环境的仿真调试练习:首先基于本试验箱的51芯片:PHILIPS的P80/87C52X2建立工程文件,然后按照以下内容建立汇编文件并将源程序文件加入工程文件的Source Group 1,再进行相关设置,编译,最后进行仿真调试或运行。

ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP Main

ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main:

MOV R7, #0 Loop:

MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $

DJNZ R7, Loop ;延时

CPL P1.0 ; P 1 .0 取反 CPL P1.1 ; P 1 .1 取反

CPL P1.2 ; P 1 .2 取反 CPL P1.3 ; P 1 .3 取反 CPL P1.4 ; P 1 .4 取反 CPL P1.5 ; P 1 .5 取反 CPL P1.6 ; P 1 .6 取反 CPL P1.7 ; P 1 .7 取反 SJMP Main END

2、修改上面的程序,将Loop 到DJNZ部分用一个子程序代替。

3、修改实验三实验内容2(从BLOCK单元(片内RAM)开始有一个无符号数数据块, 其长度存于LEN单元,试求出数据块中最大的数并存入MAX单元(BLOCK、LEN、MAX均为自定义的片内RAM单元))的程序,使之在试验箱上调试运行。

四. 实验要求

熟练掌握结合DP-51PRO单片机综合仿真实验仪和Keil C51 集成开发环境进行仿真调试。如果还有时间,可以把本书的第2章的2.6节内容也看一下。

五. 实验步骤

1. 确认40针排线已经将DP-51PRO实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的 J52接口相连。如图3.3所示。

图3.3 实验四原理图

2. 对 DP-51PRO 实验仪上电,然后按照本实验指导第二节设置DP-51PRO 仿真器和使用软件 DPFLASH 把 MON51 监控程序下载到DP-51PRO仿真器。

3. 关闭 DPFlash 软件。把DP-51PRO仿真器的工作模式选择开关切换到 RUN处,然后按一下复位键(RST),MON51程序就开始运行了。此时,DP-51PRO仿真器进入调试状态。

4. 用户使用Keil C51 集成开发环境建立工程、编辑与编译“实验内容”所列的程序。 然后按照本实验指导第二节(软件调试环境的设置)设置好,然后再编译一次。

5. 此时用户就可以按照本实验指导第二节所讲述的方法进行仿真调试。如果用户在退出仿真调试模式后想再次进入仿真调试,可以先按一下DP-51PRO仿真器的复位键(RST)。用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中用户可以看见D1区的LED的亮灭是由用户程序来控制的。


微机原理与接口技术实验指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年1月6月份上海市英语高考概括写作、作文题目及范文(2017.11

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: