📄 mine.ls1
字号:
499 ; SOURCE LINE # 117
004F 7E00 500 MOV R6,#00H
0051 AF00 F 501 MOV R7,Reload_16?445+01H
0053 8F00 F 502 MOV Reload_08L?447,R7
503 ;
504 ; // Used for manually checking timing (in simulator)
505 ; //P2 = Reload_08H;
506 ; //P3 = Reload_08L;
507 ;
508 ; TH2 = Reload_08H; // Load T2 high byte
509 ; SOURCE LINE # 123
0055 8500CD F 510 MOV TH2,Reload_08H?446
511 ; RCAP2H = Reload_08H; // Load T2 reload capt. reg. high byte
512 ; SOURCE LINE # 124
0058 8500CB F 513 MOV RCAP2H,Reload_08H?446
514 ; TL2 = Reload_08L; // Load T2 low byte
515 ; SOURCE LINE # 125
005B 8500CC F 516 MOV TL2,Reload_08L?447
517 ; RCAP2L = Reload_08L; // Load T2 reload capt. reg. low byte
518 ; SOURCE LINE # 126
005E 8500CA F 519 MOV RCAP2L,Reload_08L?447
A51 MACRO ASSEMBLER MINE 07/10/2006 19:16:23 PAGE 9
520 ;
521 ; // Timer 2 interrupt is enabled, and ISR will be called
522 ; // whenever the timer overflows.
523 ; ET2 = 1;
524 ; SOURCE LINE # 130
0061 D2AD 525 SETB ET2
526 ; //setup int0
527 ; IT0 = 1;
528 ; SOURCE LINE # 132
0063 D288 529 SETB IT0
530 ; EX0 = 1;
531 ; SOURCE LINE # 133
0065 D2A8 532 SETB EX0
533 ; //setup int1
534 ; IT1 = 1;
535 ; SOURCE LINE # 135
0067 D28A 536 SETB IT1
537 ; EX1 = 1;
538 ; SOURCE LINE # 136
0069 D2AA 539 SETB EX1
540 ; //setup time0
541 ; TMOD= 0x01;
542 ; SOURCE LINE # 138
006B 758901 543 MOV TMOD,#01H
544 ; TH0 = 0xB1;
545 ; SOURCE LINE # 139
006E 758CB1 546 MOV TH0,#0B1H
547 ; TL0 = 0xE0;
548 ; SOURCE LINE # 140
0071 758AE0 549 MOV TL0,#0E0H
550 ; // Start Timer 2 running
551 ; TR2 = 1;
552 ; SOURCE LINE # 142
0074 D2CA 553 SETB TR2
554 ;
555 ; EA = 1; // Globally enable interrupts
556 ; SOURCE LINE # 144
0076 D2AF 557 SETB EA
558 ; }
559 ; SOURCE LINE # 145
0078 22 560 RET
561 ; END OF _sEOS_init
562
563 ;
564 ; //************************************
565 ; //中断0,计算路程和根据时间计算速度
566 ;
567 ; void intp0(void) interrupt INT_0
568
---- 569 RSEG ?PR?intp0?MINE
570 USING 0
0000 571 intp0:
0000 C0E0 572 PUSH ACC
0002 C0F0 573 PUSH B
0004 C083 574 PUSH DPH
0006 C082 575 PUSH DPL
0008 C0D0 576 PUSH PSW
000A 75D000 577 MOV PSW,#00H
000D C000 578 PUSH AR0
000F C001 579 PUSH AR1
0011 C002 580 PUSH AR2
0013 C003 581 PUSH AR3
0015 C004 582 PUSH AR4
0017 C005 583 PUSH AR5
0019 C006 584 PUSH AR6
001B C007 585 PUSH AR7
A51 MACRO ASSEMBLER MINE 07/10/2006 19:16:23 PAGE 10
586 USING 0
587 ; SOURCE LINE # 150
588 ; {
589 ; Add_one++;
590 ; SOURCE LINE # 152
001D AF00 F 591 MOV R7,Add_one+03H
001F AE00 F 592 MOV R6,Add_one+02H
0021 AD00 F 593 MOV R5,Add_one+01H
0023 AC00 F 594 MOV R4,Add_one
0025 7B01 595 MOV R3,#01H
0027 7A00 596 MOV R2,#00H
0029 7900 597 MOV R1,#00H
002B 7800 598 MOV R0,#00H
002D EF 599 MOV A,R7
002E 2B 600 ADD A,R3
002F F500 F 601 MOV Add_one+03H,A
0031 EE 602 MOV A,R6
0032 3A 603 ADDC A,R2
0033 F500 F 604 MOV Add_one+02H,A
0035 ED 605 MOV A,R5
0036 39 606 ADDC A,R1
0037 F500 F 607 MOV Add_one+01H,A
0039 EC 608 MOV A,R4
003A 38 609 ADDC A,R0
003B F500 F 610 MOV Add_one,A
611 ;
612 ; if(time_G<time_temp_G)
613 ; SOURCE LINE # 154
003D E500 F 614 MOV A,time_G
003F C3 615 CLR C
0040 9500 F 616 SUBB A,time_temp_G
0042 5011 617 JNC ?C0010
618 ; speed=DIS*10/(time_G+100-time_temp_G);
619 ; SOURCE LINE # 155
0044 E500 F 620 MOV A,time_G
0046 2464 621 ADD A,#064H
0048 FF 622 MOV R7,A
0049 C3 623 CLR C
004A EF 624 MOV A,R7
004B 9500 F 625 SUBB A,time_temp_G
004D FF 626 MOV R7,A
004E 74DC 627 MOV A,#0DCH
0050 8FF0 628 MOV B,R7
0052 84 629 DIV AB
0053 F500 F 630 MOV speed,A
0055 631 ?C0010:
632 ; speed=DIS*10/(time_G-time_temp_G);
633 ; SOURCE LINE # 156
0055 C3 634 CLR C
0056 E500 F 635 MOV A,time_G
0058 9500 F 636 SUBB A,time_temp_G
005A FF 637 MOV R7,A
005B 74DC 638 MOV A,#0DCH
005D 8FF0 639 MOV B,R7
005F 84 640 DIV AB
0060 F500 F 641 MOV speed,A
642 ;
643 ; dis=Add_one*DIS;
644 ; SOURCE LINE # 158
0062 7F16 645 MOV R7,#016H
0064 7E00 646 MOV R6,#00H
0066 7D00 647 MOV R5,#00H
0068 7C00 648 MOV R4,#00H
006A AB00 F 649 MOV R3,Add_one+03H
006C AA00 F 650 MOV R2,Add_one+02H
006E A900 F 651 MOV R1,Add_one+01H
A51 MACRO ASSEMBLER MINE 07/10/2006 19:16:23 PAGE 11
0070 A800 F 652 MOV R0,Add_one
0072 120000 F 653 LCALL ?C?LMUL
0075 8E00 F 654 MOV dis,R6
0077 8F00 F 655 MOV dis+01H,R7
656 ; time_temp_G=time_G;
657 ; SOURCE LINE # 159
0079 850000 F 658 MOV time_temp_G,time_G
659 ; }
660 ; SOURCE LINE # 160
007C D007 661 POP AR7
007E D006 662 POP AR6
0080 D005 663 POP AR5
0082 D004 664 POP AR4
0084 D003 665 POP AR3
0086 D002 666 POP AR2
0088 D001 667 POP AR1
008A D000 668 POP AR0
008C D0D0 669 POP PSW
008E D082 670 POP DPL
0090 D083 671 POP DPH
0092 D0F0 672 POP B
0094 D0E0 673 POP ACC
0096 32 674 RETI
675 ; END OF intp0
676
677 ;
678 ; //************************************
679 ; //系统时钟,计算时间
680 ;
681 ; void timer2(void) interrupt TIMER_2
682
---- 683 RSEG ?PR?timer2?MINE
684 USING 0
0000 685 timer2:
0000 C0E0 686 PUSH ACC
0002 C0D0 687 PUSH PSW
0004 75D000 688 MOV PSW,#00H
0007 C007 689 PUSH AR7
690 USING 0
691 ; SOURCE LINE # 165
692 ; {
693 ; if(++time_G==100)
694 ; SOURCE LINE # 167
0009 0500 F 695 INC time_G
000B AF00 F 696 MOV R7,time_G
000D EF 697 MOV A,R7
000E B46410 698 CJNE A,#064H,?C0014
699 ; {
700 ; SOURCE LINE # 168
701 ; time_G=0;
702 ; SOURCE LINE # 169
0011 750000 F 703 MOV time_G,#00H
704 ; if(++sec==60)
705 ; SOURCE LINE # 170
0014 0500 F 706 INC sec
0016 AF00 F 707 MOV R7,sec
0018 EF 708 MOV A,R7
0019 B43C05 709 CJNE A,#03CH,?C0014
710 ; {
711 ; SOURCE LINE # 171
712 ; sec=0;
713 ; SOURCE LINE # 172
001C 750000 F 714 MOV sec,#00H
715 ; ++min;
716 ; SOURCE LINE # 173
001F 0500 F 717 INC min
A51 MACRO ASSEMBLER MINE 07/10/2006 19:16:23 PAGE 12
718 ; }
719 ; SOURCE LINE # 174
720 ; }
721 ; SOURCE LINE # 175
722 ; }
723 ; SOURCE LINE # 176
0021 724 ?C0014:
0021 D007 725 POP AR7
0023 D0D0 726 POP PSW
0025 D0E0 727 POP ACC
0027 32 728 RETI
729 ; END OF timer2
730
731 ;
732 ; //*************************************
733 ; //中断1,系统暂停
734 ; void intp1(void) interrupt INT_1
735
---- 736 RSEG ?PR?intp1?MINE
737 USING 0
0000 738 intp1:
0000 C0E0 739 PUSH ACC
740 ; SOURCE LINE # 180
741 ; {
742 ; flash_t=50;
743 ; SOURCE LINE # 182
0002 750032 F 744 MOV flash_t,#032H
745 ;
746 ; if(Sys_flag==WORK)
747 ; SOURCE LINE # 184
0005 E500 F 748 MOV A,Sys_flag
0007 700D 749 JNZ ?C0015
750 ; {
751 ; SOURCE LINE # 185
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -