📄 chushiqi_v1.0.lst
字号:
304 00007E b0bclr bit
305 00007E endm
306 000000 .code
307 000000 org 00h
308 000000 85F2(2) jmp start
309 000008 org 08h
310 000008 8108(2) jmp InterruptSub
311 000010 org 10h
312 000010 include initial.asm
313 000010 ;**********************************************
314 000010 ;Name :RAMInitial
315 000010 ;Function:clr bank0~bank1
316 000010 ;Input :
317 000010 ;Output :
318 000010 ;Register Used:
319 000010 ;***********************************************
320 000010 RAMInitial:
321 000010 2D00(1) mov a,#00h
322 000011 1F84(1) mov y,a
323 000012 2D7F(1) mov a,#7fh
324 000013 2F83(1) b0mov z,a
325 000014 Clrbank0:
326 000014 2BE7(1) clr @YZ ;Clear @YZ content
327 000015 2683(1+S) decms Z ;z = z - 1 , skip next if z=0
328 000016 8014(2) jmp Clrbank0
329 000017 2BE7(1) clr @YZ ;Clear address 0x00
330 000018 2D11(1) mov a,#00010001b
331 000019 1F58(1) mov t6abcbuf,a
332 00001A ; mov a,#55h
333 00001A ; mov temp1,a ;抗干扰
334 00001A ; mov temp2,a
335 00001A ; mov temp3,a
336 00001A 0E00(2) ret
337 00001B ;**********************************************
338 00001B ;Name :PortInitial
339 00001B ;Function:
340 00001B ;Input :
341 00001B ;Output :
342 00001B ;Register Used:
343 00001B ;***********************************************
344 00001B PortInitial:
345 00001B 2D07(1) mov a,#00000111b ;p0.0 p0.1 p0.2 pull up
346 00001C 1FE0(1) mov p0ur,a
347 00001D 2DFF(1) mov a,#0ffh
348 00001E 1FE5(1) mov p5ur,a ;p5 all pull up
349 00001F 2D01(1) mov a,#00000001b
350 000020 1FE1(1) mov p1ur,a ;p1.0 pull up
351 000021 2D00(1) mov a,#0
352 000022 1FE2(1) mov p2ur,a ;p2 all not pull up
353 000023
354 000023 2D07(1) mov a,#00000111b
355 000024 1FD0(1) mov p0,a
356 000025 2DFF(1) mov a,#0ffh
357 000026 1FD5(1) mov p5,a
358 000027 2D20(1) mov a,#00100000b
359 000028 1FD2(1) mov p2,a
360 000029 2D31(1) mov a,#00110001b
361 00002A 1FD1(1) mov p1,a
362 00002B
363 00002B 2D00(1) mov a,#0 ;p0 all input
364 00002C 2FB8(1) b0mov p0m,a
365 00002D 1FC5(1) mov p5m,a ; p5 all input
366 00002E 2DFE(1) mov a,#11111110b ;p1.0 input
367 00002F 1FC1(1) mov p1m,a
368 000030 2DFF(1) mov a,#0ffh ;p2 all output
369 000031 1FC2(1) mov p2m,a
370 000032
371 000032
372 000032 0E00(2) ret
373 000033
374 000033 ;**********************************************
375 000033 ;Name :SysInitial
376 000033 ;Function:
377 000033 ;Input :
378 000033 ;Output :
379 000033 ;Register Used:
380 000033 ;***********************************************
381 000033 SysInitial:
382 000033 2D00(1) mov a,#0
383 000034 1FCA(1) mov oscm,a
384 000035 1F86(1) mov pflag,a
385 000036 2BC9(1) clr inten
386 000037 2BC8(1) clr intrq
387 000038 2D74(1) mov A,#01110100B ;110 ;//fto=fcpu/4
388 000039 2FDC(1) b0mov TC1M,A
389 00003A 2D83(1) mov A,#131 ;131 ;//0.5ms constant
390 00003B 2FDD(1) b0mov TC1C,A
391 00003C 1FDE(1) mov tc1r,a
392 00003D 46C8(1) bclr ftc1irq ; CLEAR TIMER0 INTERRUPT FLAG
393 00003E 4EC9(1) bset FTC1IEN ; Enable T0 interrupt
394 00003F 6ADC(1) b0bset faload1
395 000040 6FDC(1) b0bset FTC1ENB ; Enable TIMER0
396 000041
397 000041 64C8(1) b0bclr ft0irq ; disable t0 interrup
398 000042 64C9(1) b0bclr ft0ien
399 000043
400 000043
401 000043 2D08(1) mov a,#08h
402 000044 1FBF(1) mov pedge,a ;rising edge
403 000045 60C8(1) b0bclr fp00irq ; Enable P00 interrup
404 000046 60C9(1) b0bclr fp00ien
405 000047
406 000047 61C8(1) b0bclr fp01irq ; disable p01 interrup
407 000048 61C9(1) b0bclr fp01ien
408 000049
409 000049 6FDF(1) b0bset FGIE ;//enable Interrupt gain
410 00004A
411 00004A 2D00(1) mov a,#0
412 00004B 1FC0(1) mov p1w,a
413 00004C 1FE9(1) mov p1oc,a
414 00004D 0E00(2) ret
415 00004E
416 00004E ;**********************************************
417 00004E ;Name :Pdelay
418 00004E ;Function:
419 00004E ;Input :
420 00004E ;Output :
421 00004E ;Register Used:
422 00004E ;***********************************************
423 00004E Pdelay: ;20ms
424 00004E 2D14(1) mov a,#20
425 00004F 1F49(1) mov ww0,a
426 000050 loop10:
427 000050 2DC8(1) mov a,#200
428 000051 1F4A(1) mov ww1,a
429 000052 loop11:
430 000052 264A(1+S) decms ww1
431 000053 8052(2) jmp loop11
432 000054
433 000054 2649(1+S) decms ww0
434 000055 8050(2) jmp loop10
435 000056 0E00(2) ret
436 000057 include key.asm
437 000057 ;**********************************************
438 000057 ;Name :mnkey
439 000057 ;Function:
440 000057 ;Input :
441 000057 ;Output :
442 000057 ;Register Used:
443 000057 ;***********************************************
444 000057 mnkey:
445 000057 7E72(1+S) b0bts1 t20msflag
446 000058 8107(2) jmp mnkey90
447 000059 6672(1) b0bclr t20msflag
448 00005A 71D5(1+S) b0bts0 ptan2 ;按键AN2
449 00005B 8073(2) jmp mnkey10
450 00005C 6474(1) b0bclr ptan2firsf
451 00005D 7071(1+S) b0bts0 keyerrflag1
452 00005E 8093(2) jmp mnkey19
453 00005F 1618(1+S) incms countan1
454 000060 0000(1) nop
455 000061 1E18(1) mov a,countan1
456 000062 0632(1+S) cmprs a,#50
457 000063 8095(2) jmp mnkey20
458 000064 2B18(1) clr countan1
459 000065 1619(1+S) incms countan1add
460 000066 0000(1) nop
461 000067 1E19(1) mov a,countan1add
462 000068 2403(1) sub a,#3
463 000069 7A86(1+S) b0bts1 fc
464 00006A 806C(2) jmp mnkey5
465 00006B 6A70(1) b0bset offflag ;大于3秒关机
466 00006C mnkey5:
467 00006C 1E19(1) mov a,countan1add
468 00006D 2405(1) sub a,#5
469 00006E 7A86(1+S) b0bts1 fc
470 00006F 8095(2) jmp mnkey20
471 000070 6E70(1) b0bset testmodef ;大于5秒检测
472 000071 6871(1) b0bset keyerrflag1
473 000072 8093(2) jmp mnkey19
474 000073
475 000073 mnkey10:
476 000073 6071(1) b0bclr keyerrflag1 ;高电平时设置按键标志
477 000074 7474(1+S) b0bts0 ptan2firsf
478 000075 8079(2) jmp mnkey10add
479 000076 6C74(1) b0bset ptan2firsf
480 000077 2B09(1) clr t5s
481 000078 6374(1) b0bclr t5sflag
482 000079 mnkey10add:
483 000079 1E19(1) mov a,countan1add
484 00007A 2403(1) sub a,#3
485 00007B 7A86(1+S) b0bts1 fc
486 00007C 807F(2) jmp mnkey16
487 00007D 6A70(1) b0bset offflag ;关机
488 00007E 8093(2) jmp mnkey19
489 00007F mnkey16:
490 00007F 1E19(1) mov a,countan1add
491 000080 7886(1+S) b0bts1 fz
492 000081 8086(2) jmp mnkey17
493 000082 1E18(1) mov a,countan1
494 000083 2403(1) sub a,#3
495 000084 7A86(1+S) b0bts1 fc
496 000085 8093(2) jmp mnkey19
497 000086 mnkey17: ;切换
498 000086 6970(1) b0bset keyflag
499 000087
500 000087 1E16(1) mov a,keycode
501 000088 240B(1) sub a,#11
502 000089 7A86(1+S) b0bts1 fc
503 00008A 8091(2) jmp mnkey18
504 00008B 2B16(1) clr keycode
505 00008C notbit hightolflag
506 00008C 7177(1+S) b0bts0 hightolflag
507 00008D 8090(2) jmp $+3
508 00008E 6977(1) b0bset hightolflag
509 00008F 8091(2) jmp $+2
510 000090 6177(1) b0bclr hightolflag
511 000091 mnkey18:
512 000091 1616(1+S) incms keycode
513 000092 0000(1) nop
514 000093
515 000093 mnkey19:
516 000093 2B19(1) clr countan1add
517 000094 2B18(1) clr countan1
518 000095 mnkey20: ;按键AN1
519 000095 70D5(1+S) b0bts0 ptan1
520 000096 80A2(2) jmp mnkey28
521 000097 7171(1+S) b0bts0 keyerrflag2
522 000098 80A8(2) jmp mnkey29
523 000099 161A(1+S) incms countan2
524 00009A 0000(1) nop
525 00009B 1E1A(1) mov a,countan2
526 00009C 2406(1) sub a,#6
527 00009D 7A86(1+S) b0bts1 fc
528 00009E 80A9(2) jmp mnkey30
529 00009F 6C70(1) b0bset an1flag
530 0000A0 6971(1) b0bset keyerrflag2
531 0000A1 80A8(2) jmp mnkey29
532 0000A2
533 0000A2 mnkey28:
534 0000A2 6171(1) b0bclr keyerrflag2
535 0000A3 1E1A(1) mov a,countan2
536 0000A4 2404(1) sub a,#4
537 0000A5 7A86(1+S) b0bts1 fc
538 0000A6 80A8(2) jmp mnkey29
539 0000A7 6C70(1) b0bset an1flag
540 0000A8
541 0000A8 mnkey29:
542 0000A8 2B1A(1) clr countan2
543 0000A9 mnkey30: ;按键TEST
544 0000A9
545 0000A9 72D5(1+S) b0bts0 pttest
546 0000AA 80B6(2) jmp mnkey38
547 0000AB 7271(1+S) b0bts0 keyerrflag3
548 0000AC 80B8(2) jmp mnkey39
549 0000AD 161B(1+S) incms counttest
550 0000AE 0000(1) nop
551 0000AF 1E1B(1) mov a,counttest
552 0000B0 2408(1) sub a,#8
553 0000B1 7A86(1+S) b0bts1 fc
554 0000B2 80B9(2) jmp mnkey40
555 0000B3 6B70(1) b0bset testflag
556 0000B4 6A71(1) b0bset keyerrflag3
557 0000B5 80B8(2) jmp mnkey39
558 0000B6
559 0000B6 mnkey38:
560 0000B6 6271(1) b0bclr keyerrflag3
561 0000B7 6370(1) b0bclr testflag
562 0000B8 mnkey39:
563 0000B8 2B1B(1) clr counttest
564 0000B9 mnkey40: ;按键LIND
565 0000B9 73D5(1+S) b0bts0 ptlind
566 0000BA 80D4(2) jmp mnkey46
567 0000BB 7371(1+S) b0bts0 keyerrflag4
568 0000BC 80D7(2) jmp mnkey49
569 0000BD 161C(1+S) incms countlind
570 0000BE 0000(1) nop
571 0000BF 7571(1+S) b0bts0 lindfirflag
572 0000C0 80C7(2) jmp mnkey40add
573 0000C1 1E1C(1) mov a,countlind
574 0000C2 240A(1) sub a,#10
575 0000C3 7A86(1+S) b0bts1 fc
576 0000C4 80C7(2) jmp mnkey40add
577 0000C5 6D70(1) b0bset lindflag
578 0000C6 6D71(1) b0bset lindfirflag
579 0000C7 mnkey40add:
580 0000C7 1E1C(1) mov a,countlind
581 0000C8 0632(1+S) cmprs a,#50
582 0000C9 80D9(2) jmp mnkey50
583 0000CA 2B1C(1) clr countlind
584 0000CB 161D(1+S) incms countlindadd
585 0000CC 0000(1) nop
586 0000CD 1E1D(1) mov a,countlindadd
587 0000CE 2478(1) sub a,#120
588 0000CF 7A86(1+S) b0bts1 fc
589 0000D0 80D9(2) jmp mnkey50
590 0000D1 6870(1) b0bset lindwarflag
591 0000D2 6B71(1) b0bset keyerrflag4
592 0000D3 80D7(2) jmp mnkey49
593 0000D4
594 0000D4 mnkey46:
595 0000D4 6371(1) b0bclr keyerrflag4
596 0000D5 6070(1) b0bclr lindwarflag
597 0000D6 6571(1) b0bclr lindfirflag
598 0000D7 ; mov a,countlindadd
599 0000D7 ; b0bts1 fz
600 0000D7 ; jmp mnkey47
601 0000D7 ; mov a,countlind
602 0000D7 ; sub a,#10
603 0000D7 ; b0bts1 fc
604 0000D7 ; jmp mnkey49
605 0000D7 ;mnkey47:
606 0000D7 ; b0bset lindflag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -