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

上传人:scccc 文档编号:13050080 上传时间:2021-12-12 格式:DOCX 页数:7 大小:211.41KB
返回 下载 相关 举报
哈工程单片机实验一单片机数据区实验.docx_第1页
第1页 / 共7页
哈工程单片机实验一单片机数据区实验.docx_第2页
第2页 / 共7页
哈工程单片机实验一单片机数据区实验.docx_第3页
第3页 / 共7页
哈工程单片机实验一单片机数据区实验.docx_第4页
第4页 / 共7页
哈工程单片机实验一单片机数据区实验.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《哈工程单片机实验一单片机数据区实验.docx》由会员分享,可在线阅读,更多相关《哈工程单片机实验一单片机数据区实验.docx(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内容完全一致。2、在CPU内部的RAM 50H5AH中放入不等的数据

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

4、AH中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。3、记录执行交换的次数。6、 源程序修改原理及其仿真结果源程序org 0000H mov r0, #30h mov r1, #00h mov r2, #40h mov r3, #00h mov r7, #0Loop: mov dph, r0 mov dpl, r1 movx a, dptr mov dph, r2 mov dpl, r3 movx dptr, acjne r1, #0ffh, Goon1 inc r0Goon1: inc r1 cjne r3, #0ffh, Goon2 inc r2Goon2: inc r3

5、 djnz r7, Loop ljmp $ end修改一:目的地址改为2000H,传送字节数为30H。(思考题二和三)mov r0, #30h mov r1, #00h mov r2, #20h mov r3, #00h mov r7, #30hLoop: mov dph, r0 mov dpl, r1 movx a, dptr mov dph, r2 mov dpl, r3 movx dptr, a cjne r1, #0ffh, Goon1 inc r0Goon1: inc r1 cjne r3, #0ffh, Goon2 inc r2Goon2: inc r3 djnz r7, Loop

6、 ljmp $ end修改二:源地址为0FFH,传送字节数为300H。(思考题一和三)mov r0, #30h mov r1, #00h mov r2, #50h mov r3, #00h mov r7, #00h mov r6, #03hLoop: mov dph, r0 mov dpl, r1 movx a, dptr mov dph, r2 mov dpl, r3 movx dptr, a cjne r1, #0ffh, Goon1 inc r0Goon1: inc r1 cjne r3, #0ffh, Goon2 inc r2Goon2: inc r3 djnz r7, Loop dj

7、nz r6, Loop ljmp $ end修改三:将存储区内3000H到3FFFH内的数据全赋00H。 mov r4, #30h mov r5, #00hLoop: mov dph, r4 mov dpl, r5 mov a, #00h movx dptr, a inc r5 cjne r5, #00h, Loop inc r4 cjne r4, #40h, Loopljmp $ end2、数据区排序实验:源程序:Size equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志Sort:mov r0, #Arraymov r7, #Siz

8、e-1clr 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 $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备18001539号-1