- 4
- 0
- 约2.17千字
- 约 3页
- 2017-08-09 发布于重庆
- 举报
实验一数据顺序控制验证实验.doc
黄淮学院电子科学与工程系
单片机实验课程验证性实验报告
实验名称 数据顺序控制 实验时间 年 月 日 学生姓名 实验地点 同组人员 无 专业班级 电技0901班 一、实验方案 实验目的:
1、学习Kile软件修改和观察变量,综合使用单步和断点调试的方法。
2、熟练掌握用几种不同的方法调试、运行程序。 实验主要仪器设备及材料:(包括型号、数量)
微机一台、实训箱、THKL-C51仿真器、扁平数据线和一条串行数据通信线
实验原理:
实验方法:有序的数列更有利于数据的查找。“冒泡排序”法,给出一组随机数,存储在所指定的单元里,将此组数据排列,使之成为有序数列。其算法是将一个数与后面的每个数相比较,若比后面的数大,则交换,如此操作下去将所有的数都比较一遍后,最大的数就会在数列的最后面。然后取第二个数,再进行下一轮比较,再找到第二个数据,循环下去,直到全部数据有序。
试验程序:
ORG 0000H
SIZE EQU 10 ;数据个数
ARRAY EQU 50H ;数据起始地址
FLAG EQU 00H ;交换标志
SORT: MOV R0, #ARRAY ;首地址输入到R0
MOV R7, #SIZE-1 ;R7为计数器
CLR FLAG ;交换标志置0
COON: MOV A, @R0 ;首地址中内容读到A
MOV R2, A
INC R0 ;首地址加1
MOV B, @R0 ;将下一个字节地址的内容读到B
CJNE A, B, NOTEQUAL ;不相等则跳转
SJMP NEXT
NOTEQUAL:JC NEXT ;A<B,不交换
SETB FLAG ;A>B,置交换标?
XCH A, @R0 ;交换
DEC R0 ;R0-1
XCH A, @R0
INC R0
NEXT: DJNZ R7, COON ;R7-1≠0转到COON
JB FLAG, SORT ;FLAG=1转到SORT使FLAG清零
SJMP $
END
4、实验方法和步骤:
在Kile中调试程序
(1)建立一个工程项目文件:
在Kile uVision2仿真软件中,执行菜单【Project 】/【New project】,给项目文件取名并保存,选择单片机型号为AT89C51;
(2)选择目标器件:
右键Target1-Options for Target“ Target1”或选择【 Project】/ 【Options for Target“Target1” 】对选项卡进行设置,在“Output”选项卡,选中“Create HEX File”;
(3)新建一个源程序文件:
在菜单File/New编辑窗口中输入源程序,在菜单File/Save中保存源程序文件,文件后缀为.asm;
(4)把源程序文件添加到工程项目中
单击工程项目【Target1】/【Source Group1】选择Add File to Group Source Group1,选择文件类型Asm Source File-单击Add按钮,添加完毕,关闭窗口;
(5)编译程序
选择【Project】/【Rebuild all target files】选项或单击工具栏中 按钮,如果编译成功,显示编译成功的信息。
(6)程序调试
选择【Debug】/【Start/Stop Debug Session】选项或单击工具栏中 按钮。
将10个数放入片内RAM50H~59H开始存储单元中(数据可随意填写),
(7)运行程序,
单击运行 按钮,或利用菜单【Debug】/【Go】连续执行程序,检验运行的结果。观察片内数据存储器中,从50H~59H这10个存储单元中数据的变化,同时观察“Project Workspace”窗口中各寄存器值的变化。程序运行完毕后,这10个存储单元中的数据按从小到大顺
序控制。 二、实验过程与结果
1、实验现
原创力文档

文档评论(0)