单片机循环程序实验文档格式.docx
《单片机循环程序实验文档格式.docx》由会员分享,可在线阅读,更多相关《单片机循环程序实验文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
号:
132054116
日
期:
2016年5
理及接口技术
学与技术
月
太工计算机工程系
实验三:
循环程序实验(排序)
'
•实验内容
1.掌握排序算法
2.实现对五个字节数据从大到小排序
3.实现两种不同的排序算法,并比较各自的排序效率
二.理论分析或算法分析
冒泡算法:
1.将连续的5个数存入寄存器内
2.双重循环,指针指向第一个数,指针后移与相邻的数进行比较,小于则交换并且指针后移与下一个数比较,如果大于则不交换并且指针不变与后一个数比较
3.数据从大到小排好序存入寄存器内
冒泡算法主要思想代码:
for(inti=0;
i<
5;
i++)
for(intj=0;
j<
5-i;
j++)
if(a[j]<
a[j+1])
{
intstemp;
stemp=a[j+1];
a[j+1]=a[j];
a[j]=stemp;
}
选择算法:
2
2.利用指针,让5个数相邻两个数两两进行比较,小干则交换,如果大干则不交换
二•实现方法
MOV@R1,A
INCR1
ORG2000H
MOVA,R2
MOV30H,#02H
MOV31H,#04H
DJNZR3,LOOP1;
内次
MOV32H,#01H
循环
MOV33H,#05H
DECR4
MOV34H,#03H
MOVA,R4
MOVR3,A
MOVR0,#00H;
外循环
INCR0;
外层循
i=0
环i++
MOVA,#04H;
操作数
SJMPLOOP
个数
L2:
MOVR3,#04H
DECR3
MOVR4,#04H
MOVA,R3
CLRC
LOOP:
SUBBA,#01H
JCL1
SJMPLOOP1
LO:
NOP
L1:
MOVR1,#30H
LOOP1:
MOVA,@R1
MOVR2,A
SUBBA,@R1
JNCL0
DECR1
DJNZR3,LOOP1
L0:
JCLOOP
SJMP$
END
四•实验结果分析
(输入数据:
06H04H07H02H05H)
(输入数据04H02H01H05H03H)
五.结论
本次实验主要掌握对数据排序的两种算法,理解冒泡排序和选择排序算法的思想,通过C语言的理解设计汇编语言,运用好循环语句,要有好的逻辑思考能力,对每一个数据的操作要清楚,对数据进行交换的时候要掌握好指针的移动