山东大学单片机原理与应用实验 C语言程序实验

2022-07-20 14:16:39 浏览数 (1)

一、实验题目

C语言程序实验

二、试验要求

片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据)

三、实验过程及结果记录

1. 新建project工程文件,并选择芯片为AT89C51。

图1:选择芯片

2. 在source group1 目录创建文件,注意文件扩展名为.c

图2:创建目录

3.在新建的文件中编写代码,右键选择build target 选项进行编译链接。

4. 成功后,在下方会显示错误和警告

5. 点击启动调试按钮,然后选择run方式运行程序。

得到的排序实验结果如下:

图3:排序结果

四、实验源程序

代码语言:javascript复制
	#include<reg51.h>
	#include<stdio.h>
	char data a[32] _at_ 0x30; 	//定义排序结果的储存位置为30H~4FH单元
	void main()
	{  //定义带排序的数组
		char b[32] = {
					  	1,3,9,2,17,4,11,6,
					  	5,20,100,64,21,14,
					 	79,35,92,7,91,23,65,
					  	16,13,18,18,73,65,
					  	101,27,19,62,69
					   };
		int i,j,t = 0;
//将待排数组里的数据移动至RAM 30H~4FH
		for(i=0;i<32;i  )
			a[i] = b[i];
		//外层循环控制比较单元地址上限
		for(j=0;j<31;j  )	
			//内层循环将每次循环的最大值转移至高地址处
			for(i=0;i<31-j;i  )
				if(a[i]>a[i 1])	//大小比较
				{//交换位置
					t = a[i];
					a[i] = a[i 1];
					a[i 1] = t;
				}
		while(1);
	}

初学单片机,可能存在错误之处,还请各位不吝赐教。

受于文本原因,本文相关实验工程无法展示出来,现已将资源上传,可自行下载。

山东大学单片机原理与应用实验工程文件C语言程序实验-单片机文档类资源-CSDN下载山东大学单片机原理与应用实验工程文件详解博客地址:https://blog.csdn.net/m更多下载资源、学习资料请访问CSDN下载频道.

0 人点赞