湖南工业大学单片机实验报告 1认识实验

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

实验一、认识实验

实验一(一):存储器读写

一、实验目的

1、掌握寄存器、存储器读写等汇编指令;

2、掌握编程软件编辑、编译、调试等基本操作;

3、学习简单程序的基本调试方法。

二、实验设备

PC机、Keil 软件、Proteus软件。

三、实验内容

将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下:ORG 0000H

SJMP START

ORG 0030H

START:MOV 70H,#00H

MOV 71H,#01H

MOV 72H,#02H

MOV 73H,#03H

MOV 74H,#04H

MOV 75H,#05H

MOV 76H,#06H

MOV 77H,#07H

MOV 78H,#08H

MOV 79H,#09H

MOV 7AH,#0AH

MOV 7BH,#0BH

MOV 7CH,#0CH

MOV 7DH,#0DH

MOV 7EH,#0EH

MOV 7FH,#0FH

MOV R1,#10H

MOV R0,#70H

MOV DPTR,#2000H

LOOP:MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R1,LOOP

END

四、上机操作及调试步骤

1、启动PC机,打开Keil4软件,如图(1)

图(1)

2、建立Keil工程文件,如图(2)

图(2)

3、建立一个exe1工程文件(工程文件名任意取),不需要扩展名。选择工程存放路径,点击“保存”按钮。如图(3)

图(3)

4、选择芯片,51单片机在Atmel下,找到A T89C51,选中点击OK;

图(4)

5、因为使用汇编语言,下面弹出窗口选否;

图(5)

6、建立工程如图

图(6)

7、为工程添加文件,也就是汇编代码,点击新建按钮(或File->new),弹出Text1文本文件。新建.ASM文件如图

图(7)

8、另存为到工程文件,点击保存,保存.asm文件

图(8)

9、保存后如图

图(9)

10、添加源文件exe1.asm,右键单击Source Group1,选中其中的“Add file to Group”Source Group1”,出现一个对话框,要求寻找源文件,单击exe1.asm文件,然后在点击Add按钮,此时对话框不会消失,在点击close就Ok 了,如图

图(10)

图(11)

11、没有匹配的源文件,不要急,将C Source file(*.c)换成All files(*.*),源文件就出来了

图(12)

12、最终如图

13、接下来就是写汇编代码了

14、写好汇编代码,点击下面三个按钮进行编译……,没有错误(0 Error)就编译通过

15、生成hex文件,下载到单片机中,使得单片机工作…………

设置如下:单击如下按钮,在弹出的对话框中选中output列表项,按图设置,并单击OK保存就行了。

16、再次编译,如下图产生Hex文件

17、在exe1工程保存的路径中,也产生了exe1.hex文件,如图

五、实验报告

1、说明实验操作的基本步骤;

同实验步骤

2、为每一条汇编指令写出中文注释;

ORG 0000H ;系统复位入口地址

SJMP START ;跳转至START程序

ORG 0030H ;START程序的初始地址

START:MOV 70H,#00H ;将立即数00H送到70H地址单元中MOV 71H,#01H ;将立即数01H送到71H地址单元中

MOV 72H,#02H

MOV 73H,#03H

MOV 74H,#04H

MOV 75H,#05H

MOV 76H,#06H

MOV 77H,#07H

MOV 78H,#08H

MOV 79H,#09H

MOV 7AH,#0AH

MOV 7BH,#0BH

MOV 7CH,#0CH

MOV 7DH,#0DH

MOV 7EH,#0EH

MOV 7FH,#0FH

MOV R1,#10H ;将立即数10H送到寄存器RI

MOV R0,#70H ;将立即数70H送到寄存器R0

MOV DPTR,#2000H ;将立即数2000H送到地址指针DPTR LOOP:MOV A,@R0 ;

MOVX @DPTR,A ;将累计器A的内容传送到DPTR指定的外部地址单元

INC R0 ;把寄存器R0的单元内容加1

INC DPTR ;把地址指针DPTR的单元内容加1

DJNZ R1,LOOP ;先把R1单元内容减1放在R1里面

;若R1单元内容不等于0,则转移执行LOOP

;否则顺序执行

END ;结束

实验一(二):数据排序实验

一、实验目的

掌握排序程序的设计方法。

二、实验内容

本例程采用交换排序法将内部RAM 中的50~59H 单元中的10个单字节无符号二进制数按从小到大的次序排列,并将这一列排序后的数据从小到大依次存贮到外部RAM 1000H开始处。

三、实验步骤

1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加Order.ASM文件,打开Order.ASM文件,阅读、分析、理解程序,编译程序进行调试。

2)在VIEW菜单中打开MEMORY WINDOW数据窗口,分别观察50H(在MEMORY#1中输入D:50H)、1000H(MEMORY#2窗口输入X:1000H)

3)可在程序指令NOP 处设置断点,在第一个断点处可观察50~59H 单元内容是否为10 个任意排列原始数据。

4)在第二个断点处可观察每次排序的结果。

5)可单步执行程序观察排序过程。

四、实验参考程序

ORG 0000H

JMP MAIN

ORG 0100H

MAIN:MOV R0,#50H

MOV @R0,#5FH

INC R0

MOV @R0,#56H

INC R0

MOV @R0,#5AH

INC R0

MOV @R0,#5EH

INC R0

MOV @R0,#51H

INC R0

MOV @R0,#5BH

INC R0

MOV @R0,#53H

INC R0

MOV @R0,#58H

INC R0

相关文档
最新文档