哈工程单片机实验一单片机数据区实验

上传人:豆浆 文档编号:28686968 上传时间:2018-01-19 格式:DOC 页数:7 大小:307KB
返回 下载 相关 举报
哈工程单片机实验一单片机数据区实验_第1页
第1页 / 共7页
哈工程单片机实验一单片机数据区实验_第2页
第2页 / 共7页
哈工程单片机实验一单片机数据区实验_第3页
第3页 / 共7页
哈工程单片机实验一单片机数据区实验_第4页
第4页 / 共7页
哈工程单片机实验一单片机数据区实验_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《哈工程单片机实验一单片机数据区实验》由会员分享,可在线阅读,更多相关《哈工程单片机实验一单片机数据区实验(7页珍藏版)》请在金锄头文库上搜索。

1、实 验 报 告课程名称 单片机实验实验项目名称 实验一 单片机数据区实验实验类型 设计型 实验学时班级 学号 姓名 指导教师 实验室名称 实验时间实验过程表现实验报告部分 总成绩实验成绩教师签字 日期哈尔滨工程大学教务处 制实验一 1、实验目的1、进一步掌握汇编语言程序设计和调试方法。 2、了解单片机 RAM 中的数据操作。 3、了解数据排序的简单算法 。 2、实验说明1、要求:编写程序把 R2、R3 源 RAM 区首地址内的 R6、R7 字节数据传送到 R4、R5目的地址的 RAM 区。2、要求:有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的

2、数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。3、实验仪器计算机伟福软件( lab2000P ) 4、实验内容与软件流程图1、在 R0、R1 中输入源地址(例如:3000H ),R2 、 R3 中输入目的地址(例如4000H),R6、R7 中输入字节数(例如: 1FFFH) 。(1)查看 RAM 区 300030FFH 和 400040FFH 内容,也可自己重新赋值。(2)运行程序,首先单步,然后用执行到指定位置,最后用连续运行方式。(3)记录下运行结果,检查 300030FFH 中内容是否和 400040FFH 内容完

3、全一致。2、在 CPU 内部的 RAM 50H5AH 中放入不等的数据。 (1)查看 RAM 区 50H5AH 的内容,也可自己重新赋值。(2)运行程序,首先单步,然后用执行到指定位置,最后用连续运行方式。(3)记录下比较一遍后运行结果,是否最大的移到最后设置块的源地址设置块的目的地址设置移动长度从源地址取数 保存到目的地址中源地址加一目的地址加一是否移动完?否是结束5、思考题在数据区传送实验中:1、改变源地址,例如 00FFH; 2、改变目的地址,例如 2000H; 3、改变传输的个数,小于 256 个和大于 256 个的情况。4、把程序改为对某一数据存储区 RAM 赋都相同一个数值。在数据

4、排序实验中:1、改变源地址,例如 20H,注意对其他位的影响; 2、将 50H5AH 中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。3、记录执行交换的次数。6、源程序修改原理及其仿真结果源程序org 0000Hmov r0, #30hmov r1, #00hmov r2, #40hmov r3, #00hmov r7, #0Loop:mov dph, r0mov dpl, r1movx a, dptrmov dph, r2mov dpl, r3movx dptr, acjne r1, #0ffh, Goon1inc r0Goon1:inc r1cjne r3, #0ffh,

5、 Goon2inc r2Goon2:inc r3djnz r7, Loopljmp $end修改一:目的地址改为 2000H,传送字节数为 30H。 (思考题二和三)mov r0, #30hmov r1, #00hmov r2, #20hmov r3, #00hmov r7, #30hLoop:mov dph, r0mov dpl, r1movx a, dptrmov dph, r2mov dpl, r3movx dptr, acjne r1, #0ffh, Goon1inc r0Goon1:inc r1cjne r3, #0ffh, Goon2inc r2Goon2:inc r3djnz r

6、7, Loopljmp $end修改二:源地址为 0FFH,传送字节数为 300H。 (思考题一和三)mov r0, #30hmov r1, #00hmov r2, #50hmov r3, #00hmov r7, #00hmov r6, #03hLoop:mov dph, r0mov dpl, r1movx a, dptr mov dph, r2mov dpl, r3movx dptr, acjne r1, #0ffh, Goon1inc r0Goon1:inc r1cjne r3, #0ffh, Goon2inc r2Goon2:inc r3djnz r7, Loopdjnz r6, Loo

7、pljmp $end修改三:将存储区内 3000H 到 3FFFH 内的数据全赋 00H。mov r4, #30hmov r5, #00hLoop: mov dph, r4mov dpl, r5mov a, #00hmovx dptr, ainc r5cjne r5, #00h, Loopinc r4cjne r4, #40h, Loopljmp $end2、数据区排序实验:源程序:Size equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志Sort:mov r0, #Arraymov r7, #Size-1clr ChangeGoon

8、:mov a, r0inc r0mov b, r0cjne a, b, NotEqualsjmp NextNotEqual:jc Next ; 前小后大, 不交换setb Change ; 前大后小, 置交换标志xch a, r0 ; 交换dec r0xch a, r0inc r0Next:djnz r7, Goonjb Change, Sortljmp $end修改:Size equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志mov r7, #SizeSort:mov r0, #Arraydec r7clr ChangeGoon:mov a, r0inc r0mov b, r0cjne a, b, NotEqualsjmp NextNotEqual:jc Next ; 前小后大, 不交换setb Change ; 前大后小, 置交换标志xch a, r0 ; 交换dec r0xch a, r0inc r0Next:djnz r7, Goonjb Change, Sortljmp $End7、心得体会通过第一次单片机实验,我初步了解了一些编程知识,掌握了一些单反机编程的基本方法;了解了单片机 RAM 中的数据操作; 了解了数据排序的简单算法 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号