📄 main.lst
字号:
249 000013
250 0013 D @Sys2msC ds 1 ;count for 10ms INT
251 E 00000002 @Sys2msStep equ #2 ;count step of 5ms INT
252 000014
253 000014
254 000014
255 0014 D @Sys200msC ds 1 ;count for 200ms INT
256 E 000000C8 @Sys200msStep equ #200 ;count step of 5ms INT
257 000015
258 000015
259 000015
260 000015
261 000015
262 000015
263 000015
264 000015
265 000015
266 0015 D @Sys5sC ds 2 ;count for 5s INT
267 E 00000003 @Sys5sStepH equ #2+1 ;count step of 1160ms INT ;4
268 E 000000E8 @Sys5sStepL equ #232 ;count step of 5ms INT
269 000017
270 000017
271 000017
272 000017
273 000017 ;Others
274 E 00000000 bit0 equ 0
275 E 00000001 bit1 equ 1
276 E 00000002 bit2 equ 2
277 E 00000003 bit3 equ 3
278 E 00000004 bit4 equ 4
279 E 00000005 bit5 equ 5
280 E 00000006 bit6 equ 6
281 E 00000007 bit7 equ 7
282 000017 include extern.h ; Project's Macro
283 000017 debug macro
284 000017 b0bset p1m.3
285 000017 notb p1.3
286 000017 endm
287 000017 ;----------------------------------------------
288 000017 Open_P00INT macro
289 000017 b0bclr fp00irq
290 000017 b0bset fp00ien
291 000017 endm
292 000017 Close_P00INT macro
293 000017 b0bclr fp00irq
294 000017 b0bclr fp00ien
295 000017 endm
296 000017 ;----------------------------------------------
297 000017 ;Music Control
298 000017 Play_Music1 macro ;boot up music
299 000017 b0bset O_Music_Clk
300 000017 b0bclr O_Music_Data0
301 000017 b0bclr O_Music_Data1
302 000017 ; b0bset Om_Music_Data0
303 000017 ; b0bset Om_Music_Data1
304 000017 ; b0bset Om_Music_Clk
305 000017 endm
306 000017 Play_Music2 macro ;drive music
307 000017 b0bset O_Music_Clk
308 000017 b0bset O_Music_Data0
309 000017 b0bclr O_Music_Data1
310 000017 ; b0bset Om_Music_Data0
311 000017 ; b0bset Om_Music_Data1
312 000017 ; b0bset Om_Music_Clk
313 000017 endm
314 000017 Play_Music3 macro ;speedup music
315 000017 b0bset O_Music_Clk
316 000017 b0bclr O_Music_Data0
317 000017 b0bset O_Music_Data1
318 000017 ; b0bset Om_Music_Data0
319 000017 ; b0bset Om_Music_Data1
320 000017 ; b0bset Om_Music_Clk
321 000017 endm
322 000017 Play_Music4 macro ;back car music
323 000017 b0bset O_Music_Clk
324 000017 b0bset O_Music_Data0
325 000017 b0bset O_Music_Data1
326 000017 ; b0bset Om_Music_Data0
327 000017 ; b0bset Om_Music_Data1
328 000017 ; b0bset Om_Music_Clk
329 000017 endm
330 000017 Stop_Music macro
331 000017 b0bclr O_Music_Clk
332 000017 ; b0bset Om_Music_Clk
333 000017 endm
334 000017 ;=========================================
335 000017 ;Led Control
336 000017 Open_leftled macro
337 000017 b0bset O_left_Led
338 000017 ; b0bset Om_left_Led
339 000017 endm
340 000017 Close_leftled macro
341 000017 b0bclr O_left_Led
342 000017 ; b0bset Om_left_Led
343 000017 endm
344 000017 Open_rightled macro
345 000017 b0bset O_right_Led
346 000017 ; b0bset Om_right_Led
347 000017 endm
348 000017 Close_rightled macro
349 000017 b0bclr O_right_Led
350 000017 ; b0bset Om_right_Led
351 000017 endm
352 000017 ;=========================================
353 000017 ;Motor Control
354 000017 forward_run macro
355 000017 b0bset O_Ctrl00
356 000017 b0bclr O_Ctrl01
357 000017 ; b0bset Om_Ctrl00
358 000017 ; b0bset Om_Ctrl01
359 000017 endm
360 000017 backward_run macro
361 000017 b0bclr O_Ctrl00
362 000017 b0bset O_Ctrl01
363 000017 ; b0bset Om_Ctrl00
364 000017 ; b0bset Om_Ctrl01
365 000017 endm
366 000017 stop_forbackward_run macro
367 000017 b0bclr O_Ctrl00
368 000017 b0bclr O_Ctrl01
369 000017 ; b0bset Om_Ctrl00
370 000017 ; b0bset Om_Ctrl01
371 000017 endm
372 000017 leftward_run macro
373 000017 b0bset O_Ctrl10
374 000017 b0bclr O_Ctrl11
375 000017 ; b0bset Om_Ctrl10
376 000017 ; b0bset Om_Ctrl11
377 000017 endm
378 000017 rightward_run macro
379 000017 b0bclr O_Ctrl10
380 000017 b0bset O_Ctrl11
381 000017 ; b0bset Om_Ctrl10
382 000017 ; b0bset Om_Ctrl11
383 000017 endm
384 000017 stop_leftrigntward_run macro
385 000017 b0bclr O_Ctrl10
386 000017 b0bclr O_Ctrl11
387 000017 ; b0bset Om_Ctrl10
388 000017 ; b0bset Om_Ctrl11
389 000017 endm
390 000017 upward_run macro
391 000017 b0bset O_Ctrl20
392 000017 b0bclr O_Ctrl21
393 000017 ; b0bset Om_Ctrl20
394 000017 ; b0bset Om_Ctrl21
395 000017 endm
396 000017 downward_run macro
397 000017 b0bclr O_Ctrl20
398 000017 b0bset O_Ctrl21
399 000017 ; b0bset Om_Ctrl20
400 000017 ; b0bset Om_Ctrl21
401 000017 endm
402 000017 stop_updownward_run macro
403 000017 b0bclr O_Ctrl20
404 000017 b0bclr O_Ctrl21
405 000017 ; b0bset Om_Ctrl20
406 000017 ; b0bset Om_Ctrl21
407 000017 endm
408 000017 includestd macro1.h ; SONIX Standard MACRO1
409 000017 includestd macro2.h ; SONIX Standard MACRO2
410 000017 includestd macro3.h ; SONIX Standard MACRO3
411 000017 include macro.h ; Sonix's full macro liarbry
412 E 00000001 _macro_ equ 1
413 000017
414 000017 //====================================================
415 000017 //Note: 利用X、Y、Z进行查表的指针确定,基数存于Acc中
416 000017 //====================================================
417 000017 inc_xyz_a expand
418 000017 add z,a
419 000017 b0bts1 fc
420 000017 jmp @f
421 000017 incms y
422 000017 jmp @f
423 000017 incms x
424 000017 nop
425 000017 @@:
426 000017 endm
427 000017 //====================================================
428 000017 //Note: 利用Y、Z进行查表的指针确定,基数存于Acc中
429 000017 //====================================================
430 000017 inc_yz_a expand
431 000017 add z,a
432 000017 b0bts1 fc
433 000017 jmp @f
434 000017 incms y
435 000017 nop
436 000017 @@:
437 000017 endm
438 000017 //====================================================
439 000017 //Note:利用X、Y、Z顺序查表的指针确定
440 000017 //===================================================
441 000017 inc_xyz expand
442 000017 incms z
443 000017 jmp @f
444 000017 incms y
445 000017 jmp @f
446 000017 incms x
447 000017 nop
448 000017 @@:
449 000017 endm
450 000017 //====================================================
451 000017 //Note:利用H、L顺序读取RAM的指针确定
452 000017 //====================================================
453 000017 inc_hl expand
454 000017 incms l
455 000017 jmp @f
456 000017 incms h
457 000017 nop
458 000017 @@:
459 000017 endm
460 000017 //====================================================
461 000017 //Note:利用Y、Z进行查表的指针确定
462 000017 //====================================================
463 000017 inc_yz expand
464 000017 incms z
465 000017 jmp @f
466 000017 incms y
467 000017 nop
468 000017 @@:
469 000017 endm
470 000017 //====================================================
471 000017 //Note:进行地址步阶的直接跳跃
472 000017 //====================================================
473 000017 jmp_adr expand
474 000017 b0add pcl,a // pcl = pcl + a
475 000017 b0bts1 fc
476 000017 jmp @f
477 000017 incms pch
478 000017 nop
479 000017 @@:
480 000017 endm
481 000017 //====================================================
482 000017 //Note:利用Acc中数据作为地址的跳跃
483 000017 //====================================================
484 000017 jmp_aa expand
485 000017 b0mov pcl,a // pcl = a
486 000017 endm
487 000017 //====================================================
488 000017 //Note: 确定中断的地址
489 000017 //====================================================
490 000017 @here_interrupt expand int
491 000017 temp = $
492 000017 org irq_m&int
493 000017 jmp temp
494 000017 org temp
495 000017 endm
496 000017 //=====================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -