📄 victory3.lst
字号:
0182 A2B2 MOV C,P3.2 ;下面有雷,就是低
0184 40F6 JC MINE_WAY
;下面是关小灯和蜂鸣器
0186 C2B4 CLR P3.4
0188 C2B5 CLR P3.5
;看看长度是否超过4米
018A E540 MOV A,40H
018C B40403 CJNE A,#4H,PASS_C
018F 02019A LJMP C_POINT
PASS_C:
0192 5006 JNC C_POINT
;下面调用一般雷的处理方法,再返回主程序
0194 1201E7 LCALL NORMAL_MINE
0197 02017C LJMP MINE_WAY
;下面是到达C点了
C_POINT:
019A C201 CLR 20H.1
019C 120267 LCALL FIVE_SECOND
019F D203 SETB 20H.3
01A1 D28E SETB TR1
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 7
09-21-03
17:28:33
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01A3 755A17 MOV 5AH,#23
01A6 02028F LJMP BOLK
01A9 22 RET
;****************************************************
TRACK:
01AA E580 MOV A,P0
01AC 5407 ANL A,#07H
01AE B40703 CJNE A,#7H,SET_TURN
01B1 0201CE LJMP LIGHT_END
SET_TURN:
01B4 B4030A CJNE A,#3H,LIGHT_NEXT
RIGHT_LIGHT: ; 看右边的光敏元件
01B7 C2A7 CLR P2.7 ;这时就要向右转弯了
01B9 D2A6 SETB P2.6
01BB 1201D1 LCALL TURN_DELAY
01BE C2A6 CLR P2.6
01C0 22 RET
LIGHT_NEXT: ; 左转了
01C1 B4060A CJNE A,#06H,LIGHT_END
01C4 D2A7 SETB P2.7
01C6 D2A6 SETB P2.6
01C8 1201D1 LCALL TURN_DELAY
01CB C2A6 CLR P2.6
01CD 22 RET
LIGHT_END:
01CE C2A6 CLR P2.6
01D0 22 RET
;****************************************************
TURN_DELAY:
01D1 755A1A MOV 5AH,#26
01D4 A281 MOV C, P0.1
01D6 40F9 JC TURN_DELAY
01D8 E536 MOV A,36H
01DA B40A06 CJNE A,#0AH,IS_ZONE_B
01DD 755A18 MOV 5AH,#24
01E0 0201E6 LJMP TURN_DELAY_END
IS_ZONE_B:
01E3 755A14 MOV 5AH,#20
TURN_DELAY_END:
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 8
09-21-03
17:28:33
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01E6 22 RET
;****************************************************
NORMAL_MINE:
01E7 C28E CLR TR1
01E9 C2A6 CLR P2.6
;以下是保存雷长度
01EB E53C MOV A,3CH
01ED 2453 ADD A,#53H
01EF F8 MOV R0,A
01F0 C3 CLR C
01F1 E541 MOV A,41H
01F3 2464 ADD A,#100
01F5 953C SUBB A,3CH
01F7 B46400 CJNE A,#100,NORMAL_MINE_LENGTH
NORMAL_MINE_LENGTH:
01FA 4002 JC NO_CHANGE
01FC 9464 SUBB A,#100
NO_CHANGE:
01FE F6 MOV @R0,A
;以下是计算中点距起点的距离
01FF 75F002 MOV B,#2H
0202 84 DIV AB
0203 253C ADD A,3CH
0205 B46400 CJNE A,#100,SET_CENTER
SET_CENTER:
0208 4004 JC NO_P_WAY
020A 9464 SUBB A,#100
020C 053B INC 3BH
NO_P_WAY:
020E F53C MOV 3CH,A
;保存中点距离
0210 E53A MOV A,3AH
0212 14 DEC A
0213 75F002 MOV B,#2H
0216 A4 MUL AB
0217 A848 MOV R0,48H
0219 28 ADD A,R0
021A F8 MOV R0,A
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 9
09-21-03
17:28:33
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
021B E53B MOV A,3BH
021D F6 MOV @R0,A
021E 08 INC R0
021F E53C MOV A,3CH
0221 F6 MOV @R0,A
0222 C2B0 CLR P3.0
0224 C2B1 CLR P3.1
0226 C2A6 CLR P2.6
0228 C28E CLR TR1
;以下是延时显示程序
022A 12023E LCALL DELAY_MINE2
022D C2B1 CLR P3.1
022F D2B0 SETB P3.0
0231 D28E SETB TR1
0233 D203 SETB 20H.3
0235 22 RET
;****************************************************
DELAY_MINE1:
0236 7E02 MOV R6,#2H
DELAY_LOOP_MINE1:
0238 120461 LCALL DELAY
023B DEFB DJNZ R6,DELAY_LOOP_MINE1
023D 22 RET
;****************************************************
;****************************************************
DELAY_MINE2:
023E 12024D LCALL SET_CODE_MINE
0241 7D03 MOV R5,#03H
DELAY_LOOP_MINE_F:
0243 7E8F MOV R6,#08FH
DELAY_LOOP_MINE2:
0245 120367 LCALL OUT
0248 DEFB DJNZ R6,DELAY_LOOP_MINE2
024A DDF7 DJNZ R5,DELAY_LOOP_MINE_F
024C 22 RET
;****************************************************
SET_CODE_MINE:
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 10
09-21-03
17:28:33
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
024D E53B MOV A,3BH
024F 75F00A MOV B,#0AH
0252 84 DIV AB
0253 F544 MOV 44H,A
0255 85F045 MOV 45H,B
0258 E53C MOV A,3CH
025A 75F00A MOV B,#0AH
025D 84 DIV AB
025E F546 MOV 46H,A
0260 85F047 MOV 47H,B
0263 120393 LCALL SET_CODE
0266 22 RET
;****************************************************
FIVE_SECOND:
0267 C28E CLR TR1
0269 C2A6 CLR P2.6
026B D2B1 SETB P3.1
026D D2B0 SETB P3.0
026F 120236 LCALL DELAY_MINE1
0272 C2B0 CLR P3.0
0274 C2B1 CLR P3.1
0276 C2A6 CLR P2.6
0278 D2B5 SETB P3.5
027A D2B4 SETB P3.4
027C C28E CLR TR1
STOP_AT_C:
027E 7938 MOV R1,#38H
0280 12016E LCALL SETCODEALL
0283 200106 JB 20H.1,C_WAKE_LE
0286 120367 LCALL OUT
0289 02027E LJMP STOP_AT_C
C_WAKE_LE:
028C D28E SETB TR1
028E 22 RET
;****************************************************
;****************************************************
BOLK:
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 11
09-21-03
17:28:33
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
028F D28E SETB TR1
0291 755A14 MOV 5AH,#20
SEEK_LAMP:
0294 1202AF LCALL TURN_TO_LAMP
0297 A281 MOV C,P0.1
0299 506E JNC HOME
029B 2006F6 JB 20H.6,SEEK_LAMP
029E A286 MOV C,P0.6
02A0 40F2 JC SEEK_LAMP
02A2 1202C7 AV: LCALL AVOID_WHITE_BOLK
02A5 A286 MOV C,P0.6
02A7 50F9 JNC AV
02A9 D206 SETB 20H.6
02AB 020294 LJMP SEEK_LAMP
02AE 22 RET
;******************************************************
TURN_TO_LAMP:
02AF A283 MOV C,P0.3
02B1 5004 JNC LOOK_RIGHT
02B3 120477 LCALL TURN_LEFT_MIDDLE
02B6 22 RET
LOOK_RIGHT:
02B7 A285 MOV C,P0.5
02B9 7E4F MOV R6,#4FH
FORWARDLIGHT:
02BB 120461 LCALL DELAY
02BE DEFB DJNZ R6,FORWARDLIGHT
02C0 5004 JNC TURN_TO_LAMP_END
02C2 120466 LCALL TURN_RIGHT_MIDDLE
02C5 22 RET
TURN_TO_LAMP_END:
02C6 22 RET
;******************************************************
;******************************************************
D:\YC\SONY_CUP\FINALLY\VICTORY3.ASM
页 12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -