实验二排序程序设计
一.实验目的:
1.熟悉C51的软件使用环境;
2.掌握起泡排序的程序设计及实现方法。
二.实验内容:
C51语言编程:把单片机片内RAM地址30H到3FH中的16个无符号数(随机设定)逐一比较,并按从小到大的顺序排列在RAM地址为40H到4FH 的单元中。
三.实验程序:
#include<reg52.h>
#include"absacc.h"
void main()
{
unsigned char i,j,temp,n=16;
unsigned char a[16]={ 1,44,7,38,8,76,4,58,6,7,15,18,13,9,3,19};
for(i=0;i<16;i++)
{
DBYTE[0X30+i]=a[i];
}
for(i = 0; i < n; i++)
{
for(j = 0; i + j < n - 1; j++)
{
if(a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for(i=0;i<16;i++)
{
DBYTE[0X40+i]=a[i];
}
}
四.实验截图:
五.实验总结
在第一个实验的指导下,我对于这个软件更加熟悉了解,但是对于汇编语言的使用还是很生疏,所以以后要多加练习。