实验一数据顺序控制验证实验.docVIP

  • 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)

1亿VIP精品文档

相关文档