📄 ir_judge.asl
字号:
0065 FD 00 192 sta m_offset_ini_h
0067 F3 40 193 lda #<c_offset_r_40_ir
0069 FD 00 194 sta m_offset_ini
006B F3 01 195 lda #c_rnd_range_1
006D FD 00 196 sta m_rnd_range
006F 02 01 04 197 br ir_received_set
0072 198 f_yes_l_no_r_judge:
0072 F1 04 199 lda cnt_ir_rcv_r
0074 A7 0A 200 cmpe #c_ir_rcv_r
0076 05 00 8C 201 brnc f_yes_l_no_r_no
0079 202 f_yes_l_no_r_yes:
0079 F3 05 203 lda #c_flg_f_r_rcved ;右前方有障碍,左转
007B FD 00 204 sta flg_ir_received
007D F3 00 205 lda #>c_offset_l_40_ir
007F FD 00 206 sta m_offset_ini_h
0081 F3 F8 207 lda #<c_offset_l_40_ir
0083 FD 00 208 sta m_offset_ini
0085 F3 01 209 lda #c_rnd_range_1
0087 FD 00 210 sta m_rnd_range
0089 02 01 04 211 br ir_received_set
008C 212 f_yes_l_no_r_no:
008C F3 01 213 lda #c_flg_f_rcved ;前方有障碍,左转或右转
008E FD 00 214 sta flg_ir_received
+ 215 ;*************/*04-02-26*/**************;
0090 F1 01 216 lda flg_l_or_r
0092 CB 01 217 anda #1
0094 07 00 A6 218 brnz f_turn_right ;0 turn left, 1 turn right
0097 219 f_turn_left: ;左转
0097 F3 00 220 lda #>c_offset_l_40_ir
0099 FD 00 221 sta m_offset_ini_h
009B F3 F8 222 lda #<c_offset_l_40_ir
009D FD 00 223 sta m_offset_ini
009F F3 01 224 lda #c_rnd_range_1
00A1 FD 00 225 sta m_rnd_range
00A3 02 01 04 226 br ir_received_set
00A6 227 f_turn_right: ;右转
00A6 F3 01 228 lda #>c_offset_r_40_ir
00A8 FD 00 229 sta m_offset_ini_h
00AA F3 40 230 lda #<c_offset_r_40_ir
00AC FD 00 231 sta m_offset_ini
00AE F3 01 232 lda #c_rnd_range_1
00B0 FD 00 233 sta m_rnd_range
00B2 02 01 04 234 br ir_received_set
+ 235 ;No Front ***************************************;
00B5 236 f_no_l_judge:
00B5 F1 03 237 lda cnt_ir_rcv_l
00B7 A7 0A 238 cmpe #c_ir_rcv_l
00B9 05 00 E5 239 brnc f_no_l_no_r_judge
00BC 240 f_no_l_yes_r_judge:
00BC F1 04 241 lda cnt_ir_rcv_r
00BE A7 0A 242 cmpe #c_ir_rcv_r
00C0 05 00 D2 243 brnc f_no_l_yes_r_no
00C3 244 f_no_l_yes_r_yes:
00C3 F3 06 245 lda #c_flg_l_r_rcved ;左右方有障碍,前行
00C5 FD 00 246 sta flg_ir_received
00C7 F3 00 247 lda #c_offset_f
00C9 FD 00 248 sta m_offset_ini
00CB F3 08 249 lda #c_rnd_range_8
00CD FD 00 250 sta m_rnd_range
00CF 02 01 04 251 br ir_received_set
00D2 252 f_no_l_yes_r_no:
00D2 F3 02 253 lda #c_flg_l_rcved ;左方有障碍,右转
00D4 FD 00 254 sta flg_ir_received
00D6 F3 01 255 lda #>c_offset_r_40_ir
00D8 FD 00 256 sta m_offset_ini_h
00DA F3 40 257 lda #<c_offset_r_40_ir
00DC FD 00 258 sta m_offset_ini
00DE F3 01 259 lda #c_rnd_range_1
00E0 FD 00 260 sta m_rnd_range
00E2 02 01 04 261 br ir_received_set
00E5 262 f_no_l_no_r_judge:
00E5 F1 04 263 lda cnt_ir_rcv_r
00E7 A7 0A 264 cmpe #c_ir_rcv_r
00E9 05 00 FF 265 brnc f_no_l_no_r_no
00EC 266 f_no_l_no_r_yes:
00EC F3 03 267 lda #c_flg_r_rcved ;右方有障碍,左转
00EE FD 00 268 sta flg_ir_received
00F0 F3 00 269 lda #>c_offset_l_40_ir
00F2 FD 00 270 sta m_offset_ini_h
00F4 F3 F8 271 lda #<c_offset_l_40_ir
00F6 FD 00 272 sta m_offset_ini
00F8 F3 01 273 lda #c_rnd_range_1
00FA FD 00 274 sta m_rnd_range
00FC 02 01 04 275 br ir_received_set
00FF 276 f_no_l_no_r_no:
00FF F3 00 277 lda #0 ;没有障碍
0101 FD 00 278 sta flg_ir_received
0103 24 279 ret
0104 280 ir_received_set: ;/*04-02-19*/
0104 F3 02 281 lda #2 ;有IR时产生新随机数的标志为2
0106 FD 00 282 sta flg_new_random
0108 F3 00 283 lda #0
010A FD 00 284 sta cnt_ctrl_pulse ;clear control pulse counter in Timer1 Service Routine.
010C FD 01 285 sta cnt_ctrl_pulse+1 ;/*04-02-23*/
010E 286 ir_received_judge_end:
010E 24 287 ret
+ 288
+
+Symbol Table
+
+ c_delay_short = 0078
+ c_flg_f_l_r_rcved = 0007
+ c_flg_f_l_rcved = 0004
+ c_flg_f_r_rcved = 0005
+ c_flg_f_rcved = 0001
+ c_flg_l_r_rcved = 0006
+ c_flg_l_rcved = 0002
+ c_flg_r_rcved = 0003
+ c_ir_rcv_f = 000A
+ c_ir_rcv_l = 000A
+ c_ir_rcv_r = 000A
+ c_offset_f = 0000
+ c_offset_l_100 = 0068
+ c_offset_l_120 = 0070
+ c_offset_l_20 = 0048
+ c_offset_l_20_ir = 00F0
+ c_offset_l_40 = 0050
+ c_offset_l_40_ir = 00F8
+ c_offset_l_60 = 0058
+ c_offset_l_60_ir = 0100
+ c_offset_l_80 = 0060
+ c_offset_r_100 = 00B0
+ c_offset_r_120 = 00B8
+ c_offset_r_20 = 0090
+ c_offset_r_20_ir = 0138
+ c_offset_r_40 = 0098
+ c_offset_r_40_ir = 0140
+ c_offset_r_60 = 00A0
+ c_offset_r_60_ir = 0148
+ c_offset_r_80 = 00A8
+ c_prtc012_0 = 00F8
+ c_prtc012_1 = 0007
+ c_prtd012_1 = 0007
+ c_prtd0_0 = 00FE
+ c_prtd0_1 = 0001
+ c_prtd1_0 = 00FD
+ c_prtd1_1 = 0002
+ c_prtd2_0 = 00FB
+ c_prtd2_1 = 0004
+ c_rnd_range_1 = 0001
+ c_rnd_range_2 = 0002
+ c_rnd_range_3 = 0003
+ c_rnd_range_4 = 0004
+ c_rnd_range_5 = 0005
+ c_rnd_range_6 = 0006
+ c_rnd_range_8 = 0008
+ cnt_ctrl_pulse **** GX
+ 1 cnt_ir_rcv_f 0002 GR
+ 1 cnt_ir_rcv_l 0003 GR
+ 1 cnt_ir_rcv_r 0004 GR
+ 2 f_judge 0021 R
+ 2 f_l_r_turn_left 0041 R
+ 2 f_l_r_turn_right 0050 R
+ 2 f_no_l_judge 00B5 R
+ 2 f_no_l_no_r_judge 00E5 R
+ 2 f_no_l_no_r_no 00FF R
+ 2 f_no_l_no_r_yes 00EC R
+ 2 f_no_l_yes_r_judge 00BC R
+ 2 f_no_l_yes_r_no 00D2 R
+ 2 f_no_l_yes_r_yes 00C3 R
+ 2 f_turn_left 0097 R
+ 2 f_turn_right 00A6 R
+ 2 f_yes_l_judge 0028 R
+ 2 f_yes_l_no_r_judge 0072 R
+ 2 f_yes_l_no_r_no 008C R
+ 2 f_yes_l_no_r_yes 0079 R
+ 2 f_yes_l_yes_r_judge 002F R
+ 2 f_yes_l_yes_r_no 005F R
+ 2 f_yes_l_yes_r_yes 0036 R
+ flg_ir_judge **** GX
+ 1 flg_ir_received 0000 GR
+ 1 flg_l_or_r 0001 GR
+ flg_new_random **** GX
+ 2 if_judge_ir 0000 R
+ 2 ir_judge 0000 GR
+ 2 ir_judge_end 0020 R
+ 2 ir_received_judge 0021 GR
+ 2 ir_received_judge_end 010E R
+ 2 ir_received_set 0104 R
+ 2 judge_ir 000B R
+ 2 judge_ir_end 0020 R
+ m_offset_ini **** GX
+ m_offset_ini_h **** GX
+ m_rnd_range **** GX
+
+
+Area Table
+
+ 0 . size 0 flags 0
+ 1 ir_judge_var size 5 flags 2
+ 2 ir_judge_code size 10F flags 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -