深圳市华胄科技有限公司 >> MCU专题 >> 8051单片机


51单片机基础实验----对分检索程序设计



提交者 阳光总在风雨后  在  2008-7-16 15:36:00 

上一篇 下一篇
实验目的


1、了解掌握对分检索程序结构设计方法。


2、熟悉理解对分检索程序结构设计原则 。


实验内容及步骤:


对分检索是按对分原则取出数据与关键字进行比较,它要求数据区已排好序。以升序数据区为例,检索过程是:取数据区中间位置的数与关键字比较,若相等,则检索成功。若数大于关键字,下次对分检索的数据区范围是本次检索数据起点到本次取数位置;若数小于关键字,下次对分检索的数据区范围是从本次取数位置到数据区的终点。依次类推,可逐渐缩小检索范围,直到检索结束。





图1


分析:R0 内部RAM中数据区的首地址


R7 数据区的字节长度


2BH 要检索的关键字


R2 取数序号


2AH 起始序号


R3 检索次数计数器


77H 检索到的数据


78H 若检索成功存放关键字序号,否则=FF。


79H 检索成功计数器次数


ORG 0000H


LJMP START


ORG 1000H


START:MOV 2AH ,#00H ;检索范围起点


MOV R7 ,#10H ;检索范围终点


MOV 2BH ,#09H ;关键字


MOV R3 ,#01H ;检索次数初值


LOOP1:MOV R0 ,#40H ;数据区首址


MOV A ,2AH ;


ADD A , R7 ;起点加终点


CLR C ;


RRC A ;除2取整


MOV R2 , A ;存放取数的序号


CLR C ;


SUBB A ,2AH ;判断是否到范围边缘


JZ LOOP3 ;是边缘则转


MOV A,R2 ;


ADD A ,R0 ;形成取数地址


MOV R0 ,A ;送数据地址


MOV A ,@R0 ;取数


MOV 77H ,A ;取数放77H中


MOV 78H ,R2 ;存取数序号


MOV 79H ,R3 ;存计数器值


CLR C ;


SUBB A ,2BH ;与关键字比较


JZ LOOP5 ;相等则检索成功


JNC LOOP2 ;取数大则转


MOV 2AH ,R2 ;取数小,修改检索范围终点


INC R3 ;检索次数加1


SJMP LOOP1 ;继续


LOOP2:MOV A ,R2 ;取数大,修改检索范围终点


MOV R7 ,A ;


INC R3 ;


SJMP LOOP1 ;继续


LOOP3:MOV R0 ,#40H ;达到边缘,比较数据是否为关键字


MOV A ,@R0 ;


CJNE A ,2BH ,LOOP4 ;


MOV 77H ,A ;存关键字


SJMP LOOP5 ;


LOOP4:MOV A ,#0FFH ;不是,送检索不成功标志


MOV R2 ,A ;


MOV 78H ,A ;


L00P5:SJMP LOOP5 ;结束


END



单片机教程,五系列(55讲)电子书全集下载

论坛精选:
单片机教程,MCS51单片机从零开始 第一讲:初识单片机
http://bbs.huazhoucn.com/Topic.aspx?id=2539
单片机教程,MCS51单片机从零开始 第二讲:MCS-51单片机简述
http://bbs.huazhoucn.com/Topic.aspx?id=2540
单片机教程,MCS51单片机从零开始 第三讲:单片机相关常用名词解释
http://bbs.huazhoucn.com/Topic.aspx?id=2541
单片机教程,MCS51单片机从零开始 第四讲:计算机中数的表示及运算
http://bbs.huazhoucn.com/Topic.aspx?id=2542
单片机教程,MCS51单片机从零开始 第五讲:常用逻辑电路
http://bbs.huazhoucn.com/Topic.aspx?id=2544
单片机教程,MCS51单片机从零开始 第六讲:51单片机的结构及其组成
http://bbs.huazhoucn.com/Topic.aspx?id=2545
单片机教程,MCS51单片机从零开始 第七讲:51单片机的引脚
http://bbs.huazhoucn.com/Topic.aspx?id=2546
单片机教程,MCS51单片机从零开始 第八讲:8051单片机I/O引脚工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2547
单片机教程,MCS51单片机从零开始 第九讲:8051单片机的存储器结构
http://bbs.huazhoucn.com/Topic.aspx?id=2548
单片机教程,MCS51单片机从零开始 第十讲:编码及译码器工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2549
单片机教程,MCS51单片机从零开始 第十一讲:存储器的存储原理
http://bbs.huazhoucn.com/Topic.aspx?id=2550
单片机教程,MCS51单片机从零开始 第十二讲:51单片机的特殊功能寄存器
http://bbs.huazhoucn.com/Topic.aspx?id=2551
单片机教程,MCS51单片机从零开始 第十三讲:51单片机CPU的内部结构
http://bbs.huazhoucn.com/Topic.aspx?id=2552
单片机教程,MCS51单片机从零开始 第十四讲:定时器/计数器的基本结构及工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2553
单片机教程,MCS51单片机从零开始 第十五讲:51单片机的中断系统
http://bbs.huazhoucn.com/Topic.aspx?id=2554
单片机教程,MCS51单片机从零开始 第十六讲:51单片机的复位
http://bbs.huazhoucn.com/Topic.aspx?id=2555
单片机教程,MCS51单片机从零开始 第十七讲:51单片机执行指令的过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第十八讲:51单片机的延时及时序分析
http://bbs.huazhoucn.com/Topic.aspx?id=2557
单片机教程,MCS51单片机从零开始 第十九讲:汇编语言基础
http://bbs.huazhoucn.com/Topic.aspx?id=2558
单片机教程,MCS51单片机从零开始 第二十讲:汇编语言及汇编过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第二十一讲:汇编程序的基本结构
http://bbs.huazhoucn.com/Topic.aspx?id=2560
单片机教程,MCS51单片机从零开始 第二十二讲:51单片机的寻址方式
http://bbs.huazhoucn.com/Topic.aspx?id=2561
单片机教程,MCS51单片机从零开始 第二十三讲:数据传送类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2562
单片机教程,MCS51单片机从零开始 第二十四讲:算术运算类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2563
单片机教程,MCS51单片机从零开始 第二十五讲:逻辑运算及移位指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2564
单片机教程,MCS51单片机从零开始 第二十六讲:控制转移类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2565
单片机教程,MCS51单片机从零开始 第二十七讲:布尔变量操作指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2566
单片机教程,MCS51单片机从零开始 第二十八讲:伪指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2567

1 楼  提交者:Guest 在 2008-7-17 14:17:08
TKS
2 楼  提交者:月华星光 在 2008-7-20 11:16:54
3 楼  提交者:Guest 在 2008-7-20 13:48:25
en 
4 楼  提交者:Guest 在 2008-7-31 16:05:38
kk
5 楼  提交者:xjl 在 2008-8-1 9:28:32
6 楼  提交者:Guest 在 2008-8-14 16:34:34
hao
7 楼  提交者:阿甘 在 2008-9-12 23:27:01
8 楼  提交者:Guest 在 2008-9-16 15:04:51
9 楼  提交者:Guest 在 2008-10-21 16:42:37
10 楼  提交者:Guest 在 2008-11-8 20:23:29
看看 哦 
11 楼  提交者:Guest 在 2008-12-26 10:46:47
;'[P0O'[
12 楼  提交者:Guest 在 2009-4-10 23:44:27

13 楼  提交者:师大才子 在 2009-4-11 10:54:00
哈哈  很很好
14 楼  提交者:Guest 在 2009-4-21 20:25:57
agg
15 楼  提交者:Guest 在 2009-4-24 13:48:03
要了
16 楼  提交者:Guest 在 2009-4-24 13:48:06
要了
17 楼  提交者:Guest 在 2009-4-24 13:48:57
要了
18 楼  提交者:Guest 在 2009-4-24 13:48:57
要了
19 楼  提交者:Guest 在 2009-5-8 21:22:46
20 楼  提交者:carl306 在 2009-5-25 17:11:24
minister
21 楼  提交者:Guest 在 2009-6-21 21:56:18
22 楼  提交者:Guest 在 2009-8-27 14:49:45
xie xie
23 楼  提交者:haoren 在 2009-9-27 16:51:16
ok
24 楼  提交者:tiamozhow 在 2009-10-9 16:44:37
25 楼  提交者:tiamozhow 在 2009-11-4 16:10:36
26 楼  提交者:Guest 在 2009-12-2 20:57:44
27 楼  提交者:Guest 在 2011-10-18 19:18:50
呵呵看看
28 楼  提交者:Guest 在 2011-10-18 21:09:02
呵呵呵
29 楼  提交者:Guest 在 2012-1-10 16:57:12
51单片机基础实验----对分检索程序设计
上一篇 下一篇
当前第〖1〗页