请以子函数形式将单片机片内RAM中50H-59H中的数据按从小到大的顺序排序?用C语言写,怎么写啊

如题所述

#include<reg51.h>
unsigned char paixu[10] _at_ 0x50;
void main()
{
unsigned char i,j,temp;
/*-------test----------
paixu[0]=1; paixu[1]=3;
paixu[2]=7; paixu[3]=9;
paixu[4]=25; paixu[5]=11;
paixu[6]=8; paixu[7]=13;
paixu[8]=27; paixu[9]=53; */
for(j=0;j<9;j++)
{
for(i=0;i<9;i++)
{
if(paixu[i] > paixu[i+1])
{
temp= paixu[i];
paixu[i]=paixu[i+1];
paixu[i+1]=temp;
}
}
}
}
程序用KEIL测试通过,将main改成其他函数名就可以了!
温馨提示:内容为网友见解,仅供参考
无其他回答

请以子函数形式将单片机片内RAM中50H-59H中的数据按从小到大的顺序排序...
程序用KEIL测试通过,将main改成其他函数名就可以了!

请以子函数形式将单片机片内RAM中50H-59H中的数据按从小到大的顺序排序...
如果用keil编译器提供个思路:先定义一个数组到50H开始的地址 unsinged char idata temp[10] _at_ 0x50;然后用冒泡法或其他方法对数组temp中10个数进行排序。

试用单片机keil c51写出一条把片内RAM 50H~59H单元清零的程序.
正确程序如下:CLR A MOV R0, #50H LOOP: MOV @R0, A INC R0 CJNE R0, #5AH, LOOP SJMP END

试写一段把片内RAM 50H~59H单元数据对应传输到60H~69H单元中的程序?
MOV R0, #50H; 起始地址 MOV R2, #10; 单元个数 LOOP: MOV @R0, #01H DJNZ R2, LOOP

试写一段把片内RAM 50H~59H单元数据对应传输到60H~69H单元中的程序?
用汇编语言,计数器循环,读入寄存器,由寄存器写入内存。具体看指令系统。汇编版:MOV R0, #50H; 起始地址shu MOV R2, #10; 单元个数 LOOP: MOV @R0, #01H DJNZ R2, LOOP

用汇编语言编写80c51单片机程序,求内部RAM中50H~59H十个单元内容的平均...
AJMP MAIN ORG 0030H MAIN:MOV R0,#50H MOV R7,#10 MOV R2,#00H MOV A,#00H LOOP:CLR C ADD A,@R0 JNC BBB INC R2 CLR C BBB: INC R0 DJNZ R7,LOOP MOV 5CH,A ;把和放5CH,不用管溢出的,和为s1 MOV 5BH,R2 ;把溢出的次数放地址5BH MOV B,5BH ;溢出的次数...

设片内RAM(59H)=50H,执行下列程序段
设片内RAM(59H)=50H,执行下列程序段:MOV A,59H ;A=50H MOV R0,A ; R0=50H MOV A,#0 ; A=00H MOV @R0,A ; (50H)=00H MOV A,#25H ;A=25H MOV 51H,A ;(51H)=25H MOV 52H,#70H ; (52H)=70H \/*(50H)表示 RAM 地址为 (...

...16个字节写入片内RAM50H到59H单元的程序,单片机的
首先16个字节在50H-59H放不下,是不是应该是50H-5FH?ORG 0000H MOV DPTR,#2000H MOV R0,#50H MOV R7,#10H LOOP1:MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,LOOP1 SJMP END

汇编语言
在8031单片机片内RAM的40H单元中存放一代码,若此代码为十进制数的ASCII码,则将其相应的十进制数送片内RAM50H单元;否则将该单元置成0FFH。34.设变量X存放在8031单片机片内RAM的24H单元,试编制按照下式的要求给Y赋值(Y为片内RAM的25H单元)的程序。35.根据下列要求,试分别编制相应的数据块传送程序。(1)将存放...

C语言如何在子函数中对主函数中的二维数组值进行修改? 二维数组已经在...
难道在子函数中这个列就不管用了? 追答 如果用二维数组,以上用指针实现的过程中把维数设成变量就可以了,但是这样初始化时稍微有点儿麻烦。 还有一种做法,就是使用一维数组来存储二维数据的值,比如把int a[5][10]转换为int a[50],在读取时进行坐标转换,效果也是一样的,如:int getelement(int *a, int i,...

相似回答