设计与开发

单片机数据排序 51单片机用汇编语言实现数据排序

小编 2024-11-24 设计与开发 23 0

51单片机用汇编语言实现数据排序

一、简介:

排序就是按照数的大小按顺序排列。数据排序常用冒泡法。其算法是将一个数与后面的每个数相比较,如果比后面的数大,则交换;如此操作下去将所有的数都比较一遍后,最大的数就会在数列的最后面。然后取第二个数,再进行下一轮比较,再找出第二大数。不断循环,直到全部依序排列。

相关指令和程序:

◆指令 XCH

DEC

SETB、JC、JB

实例:把11个无序数据存于50H~5AH中,然后以从小到大的顺序排列在50H~5AH中。

二、步骤

R3:存放地址数据块的首地址50H

R7:存放数据块的长度。

50H-59H:是用户RAM区是工作寄存器区存放需排序的数据

新建工程名称为SJPX且添加新建文件SJPX.asm。编辑代码以实现实训内容,编译、调试以检验功能是否完成。如下图:

进入调试模式单步运行,MeMory Window窗口可以看到50H-5AH中存放着数据,运行完程序后数据有序的排列。

51单片机针脚排列和定义

针脚排列:

针脚定义:

40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。

⒈ 电源:

⑴ VCC - 芯片电源,接+5V;

⑵ VSS - 接地端;

注:用万用表测试单片机引脚电流一般为0v或者5v,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这之是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还是保持在0v或者5v的。

⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根,

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲

① ALE功能:用来锁存P0口送出的低8位地址

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线:

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

相关问答

单片机 按键排列成矩阵形式的主要目的是?

按键排列成矩阵形式的主要目的是提高输入输出的效率和可靠性。矩阵按键可以让多个按键共享同一个引脚,从而减少单片机的引脚数量,降低成本。此外,矩阵按键还可...

80c52 单片机 有几个优先级?

80C52单片机有三个优先级,分别是:1.外部中断优先级:80C52单片机具有多个外部中断源,每个中断源都可以设置优先级,优先级高的中断会优先被响应。2.定时器...

如何利用 单片机 控制步进电机精确定位?

二、永磁式步进电机的控制下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步进电机。图1是35BY型永磁步进电机的外形图,图2是该...

单片机 笔形码是什么?

单片机笔形码是一种用于表示数字、字母和符号的编码方式。它由一系列宽度不同的笔画组成,每个笔画代表一个特定的字符。单片机笔形码是一种简洁、高效的编码方...

单片机 上同一个引脚是并联的吗?

元件串在一根唯一方向的线上就是串联咯,想象羊肉串。并联嘛,自然是并行排列~2个或几个元件分别串在不同的几根线上,而这几跟线呢头和尾最终都是连在一起的。...

如何提高 单片机 的算法?

多做练习,如果你现在用的C语言开发单片机,想提高自己的算法能力,那建议你多看看C语言的常用算法,然后用单片机板子上的LCD,LED等来验证自己的算法程序。举...多...

51 单片机 有哪两级中断?

51单片机有2级中断,分别是高优先级和低优先级中断。可以使得8051单片机可实现两级中断服务程序嵌套,由片内特殊功能寄存器中.如果是同级中断,优先顺序按中断向...

一台功放机中的mpc8052 单片机 芯片烧了,可以买一块直接更换吗?

芯片是否能够直接代换,需要考虑两个问题:一是芯片的功能参数是否与原芯片一致;二是芯片的封装引脚排序是否与原芯片一致。满足了上述条件,有些芯片即使型号不...

英语翻译本论文介绍了基于AT89C51 单片机 为核心的、以ADC0808...

[最佳回答]ThispaperintroducesthebasedonAT89C51asthecore,toADC0808analog-to-digitalconversionchip...

51 单片机 如何控制电话拨号,原理是什么?电路如何接?谢谢了?

有专门用于单片机控制拨号的芯片,,拨号线D0,D1,D2,D3能排列成十六种状态,能出16种双音频信号或15钟脉冲信号.单片机用四条线控制D0,D1,D2,D3,再用两条线控制/C...

猜你喜欢