微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 简单显示 _随机查询_以本次记录为起点查询

简单显示 _随机查询_以本次记录为起点查询

时间:11-30 来源:互联网 点击:
TJ0109_1 DATA 50H ;1至9洞数据统计
TJ0109_2 DATA 51H ;1至9洞数据统计TJ0109_3 DATA 52H ;1至9洞数据统计TJ1018_1 DATA 53H ;10至18洞数据统计TJ1018_2 DATA 54H ;10至18洞数据统计TJ1018_3 DATA 55H ;10至18洞数据统计TJ0118_1 DATA 56H ;1至18洞数据统计TJ0118_2 DATA 57H ;1至18洞数据统计TJ0118_3 DATA 58H ;1至18洞数据统计SHUJU_G  DATA 56HSHUJU_S  DATA 57HSHUJU_B  DATA 58HSHUJU_W  DATA 75HSHUJU_Z  DATA 76H;;;;;;;;;;;;;;;;;;;;;;;;;;;DON1 DATA    31H    ;洞1数据DON2 DATA    32HDON3 DATA    33HDON4 DATA    34HDON5 DATA    35HDON6 DATA    36HDON7 DATA    37HDON8 DATA    38HDON9 DATA    39HDON10 DATA    3AHDON11 DATA    3BHDON12 DATA    3CHDON13 DATA    3DHDON14 DATA    3EHDON15 DATA    3FHDON16 DATA    40HDON17 DATA    41HDON18 DATA    42H;;;;;;;;;;;;;;;;;;;;;;;KS  BIT P0.0            ;开始JA  BIT P0.1            ;加JD  BIT P0.2            ;减CX  BIT P0.3            ;查询;;;;;;;;;;;;;;;;;;;;;;;;;ORG   0H                        ;程序代码由地址0开始执行MAIN:;;;;;;;;;;;;;;;;;;;;;;;;按任意键进入人员编号设置SX_RY:MOV P3,#0FFH  ;;;;;;关闭显示JB  KS,SX_RY_1JNB KS,$AJMP  BISAI_1SX_RY_1:JB  JA,SX_RY_2JNB JA,$AJMP  BISAI_1SX_RY_2:JB  JD,SX_RY_3JNB JD,$AJMP  BISAI_1SX_RY_3:JB  CX,SX_RY_4JNB CX,$AJMP  BISAI_1SX_RY_4:AJMP SX_RYRET;;;;;;;;;;;;;;;;;;;;;;;;;;;;数据调用SHUJU_T:LCALL SHUJU_1_9LCALL SHUJU_10_18LCALL  SHUJU_0118RET;;;;;;;;;;;;;;;;;;;;;;;;洞位将冲突的数据暂时保存起来BISAI_1:  MOV R1,#1MOV R0,#31HBISAI_1_A:MOV SHUJU_Z,R0 ;将数据暂时保存MOV SHUJU_W,R1LCALL SHUJU_TBISAI_1_B:;;;;;;;;;;作为查询时的返回入口MOV R0,SHUJU_Z ;将数据送回MOV R1,SHUJU_WMOV R2,#50MOV R3,#50BISAI_1_2:LCALL XSLED_CXDEC R2MOV A,R2CJNE A,#0,BISAI_1_4BISAI_1_3: LCALL XSLED_CX_2DEC R3MOV A,R3CJNE A,#0,BISAI_1_6AJMP BISAI_1_ARETBISAI_1_4: JB CX,BISAI_1_4_BJNB CX,$MOV SHUJU_Z,R0 ;将数据暂时保存MOV SHUJU_W,R1LCALL CX_1_BRETBISAI_1_4_B:JB KS,BISAI_1_5JNB KS,$INC R0INC R1MOV A,R1CJNE A,#19,BISAI_1_2LCALL BISAI_37RETBISAI_1_5:  MOV A,@R0LCALL BISAI_TMOV @R0,AAJMP BISAI_1_2RETBISAI_1_6: JB CX,BISAI_1_6_BJNB CX,$MOV SHUJU_Z,R0 ;将数据暂时保存MOV SHUJU_W,R1LCALL CX_1_BRETBISAI_1_6_B:JB KS,BISAI_1_7JNB KS,$INC R0INC R1MOV A,R1CJNE A,#19,BISAI_1_3LCALL BISAI_37RETBISAI_1_7:  MOV A,@R0LCALL BISAI_TMOV @R0,AAJMP BISAI_1_3RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;比赛完成,不再进行数据登记BISAI_37:MOV R0,#100  ;;;;;;;; 修改参数,就可以改变显示的延时时间MOV R1,#100   ;;;;;;;; 修改参数,就可以改变显示的延时时间XS_1:    LCALL ANJIAN_SXLCALL XSLEDMOV P3,#0FFHDEC R0MOV A,R0CJNE A,#0,XS_1DEC R1MOV A,R1CJNE A,#0,XS_2LCALL ANJIAN_SXRETXS_2:    MOV R0,#100AJMP XS_1RET;;;;;;;;;;;;;;;;;;;;;;;;;;洞位数据调整BISAI_T:  JB JA,BISAI_T_1JNB JA,$INC ARETBISAI_T_1:JB JD,BISAI_T_2JNB JD,$DEC ARETBISAI_T_2:RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;显示时,按下,延时恢复ANJIAN_SX:JB  KS,ANJIAN_SX_1JNB KS,$AJMP  BISAI_37ANJIAN_SX_1:JB  JA,ANJIAN_SX_2JNB JA,$AJMP  BISAI_37ANJIAN_SX_2:JB  JD,ANJIAN_SX_3JNB JD,$AJMP  BISAI_37ANJIAN_SX_3:JB  CX,ANJIAN_SX_4JNB CX,$AJMP  CX_1ANJIAN_SX_4:RET;;;;;;;;;;;;;;;;;;;数据0118SHUJU_0118:MOV A,TJ0109_1MOV B,TJ1018_1ADD A,BMOV TJ0118_1,AMOV A,TJ0109_2MOV B,TJ1018_2ADD A,BMOV TJ0118_2,AMOV A,TJ0109_3MOV B,TJ1018_3ADD A,BMOV TJ0118_3,AMOV A,TJ0118_3MOV B,#10div ABMOV TJ0118_3,BADD A,TJ0118_2MOV B,#10div ABMOV TJ0118_2,BADD A,TJ0118_1MOV B,#10div ABMOV TJ0118_1,BRET				   ;;;;;;;;;;;;;数据累加,尽量使用一个R争取不要冲突使用SHUJU_1_9:MOV TJ0109_1,#0MOV TJ0109_2,#0MOV TJ0109_3,#0MOV R0,#31HSHUJU_1_9_2:MOV A,@R0ADD A,TJ0109_3MOV B,#100div ABMOV R1,A;;;;;;baiMOV A,BMOV B,#10div ABMOV R2,A;;;;;shiMOV TJ0109_3,B;;;;geMOV A,TJ0109_2MOV B,R2ADD A,BMOV B,#10div ABMOV R3,AMOV TJ0109_2,B;;;shiMOV A,R1MOV B,R3ADD A,BMOV TJ0109_1,AINC R0MOV A,R0CJNE A,#3AH,SHUJU_1_9_2RETSHUJU_10_18:MOV TJ1018_1,#0MOV TJ1018_2,#0MOV TJ1018_3,#0MOV R0,#3AHSHUJU_10_18_2:MOV A,@R0ADD A,TJ1018_3MOV B,#100div ABMOV R1,A;;;;;;baiMOV A,BMOV B,#10div ABMOV R2,A;;;;;shiMOV TJ1018_3,B;;;;geMOV A,TJ1018_2MOV B,R2ADD A,BMOV B,#10div ABMOV R3,AMOV TJ1018_2,B;;;shiMOV A,R1MOV B,R3ADD A,BMOV TJ1018_1,AINC R0MOV A,R0CJNE A,#43H,SHUJU_10_18_2RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;比赛结束使用查询功能CX_1:   MOV R1,#1MOV R0,#31HCX_1_1: JB KS,CX_1_2JNB KS,$LCALL BISAI_37RETCX_1_2: JB JA,CX_1_3JNB JA,$INC R1INC R0MOV A,R0CJNE A,#43H,CX_1_1AJMP CX_1CX_1_3: JB JD,CX_1_4JNB JD,$DEC R1DEC R0MOV A,R0CJNE A,#30H,CX_1_1AJMP CX_2RETCX_1_4: LCALL XSLED_CXAJMP CX_1_1RETCX_2:   MOV R1,#18MOV R0,#42HAJMP CX_1_1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;比赛过程查询数据CX_1_C:   MOV R1,#1MOV R0,#31HCX_1_B:   JB KS,CX_1_2_BJNB KS,$LCALL BISAI_1_BRETCX_1_2_B: JB JA,CX_1_3_BJNB JA,$INC R1INC R0MOV A,R1CJNE A,#19,CX_1_3_BAJMP CX_1_CRETCX_1_3_B: JB JD,CX_1_4_BJNB JD,$DEC R1DEC R0MOV A,R1CJNE A,#0,CX_1_BAJMP CX_2_BRETCX_1_4_B: LCALL XSLED_CXAJMP CX_1_BRETCX_2_B: MOV R1,#18MOV R0,#42HAJMP CX_1_B;;;;;;;;;;;;;;;;;;;;数据显示XSLED_CX:LCALL XSLEDMOV A,R1   ;;;;;;;;;;;;;设置洞位1LCALL LED_LED_10MOV A,@R0 ;;;;;;;;;;;;;将相应洞位数据传给ALCALL LED_LED_10RET;;;;;;;;;;;;;;;;;;;;闪烁数据显示XSLED_CX_2:LCALL XSLEDMOV A,R1   ;;;;;;;;;;;;;设置洞位1LCALL LED_LED_10;MOV A,@R0 ;;;;;;;;;;;;;将相应洞位数据传给A;LCALL LED_LED_10RET;;;;;;;;;;;;;;;;;;;;;;;;;运行时数码管显示XSLED:MOV P3,#0D0HMOV A,TJ0118_1LCALL LEDINC P3MOV A,TJ0118_2LCALL LEDINC P3MOV A,TJ0118_3LCALL LEDINC P3RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;数码显示调用程序LED:  MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P1,ALCALL DELAY1RET;;;;;;;;;;;;;;;;;;;;;;;;;;;; 除以100得百位数LED_LED_100:MOV B,#100div ABLCALL LEDINC P3MOV A,B;;;;;;;;;;;;;;;;;;;;;;;;;;;除以10得十位数LED_LED_10:MOV B,#10div ABLCALL LEDINC P3MOV A,B;;;;;;;;;;;;;;;;;;;;;;;;;;不除得个位数LED_LED_1:LCALL LEDINC P3RETTABLE:DB  0C0H        ;"0"DB  0F9H        ;"1"DB  0A4H        ;"2"DB  0B0H        ;"3"DB   99H        ;"4"DB   92H        ;"5"DB   82H        ;"6"DB  0F8H        ;"7"DB   80H        ;"8"DB   90H        ;"9"DB   0FFH       ;"-"DB   0FFH       ;"-"DB   0BFH       ;"-"DB   0BFH       ;"-"DELAY1:MOV R7,#10L1:    MOV R6,#50DJNZ R6,$DJNZ R7,L1RETEND

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top