⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mine.ls1

📁 健身器械面板显示程序
💻 LS1
📖 第 1 页 / 共 4 页
字号:
                     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 + -