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

📄 main.lis

📁 前两年在一家模型公司开发的
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02A4                   .dbline 201
 02A4           ;               {
 02A4                   .dbline 202
 02A4           ;                       if(!mode && REV)        // 后退
 02A4 20900F00          lds R2,_mode
 02A8 2220              tst R2
 02AA B1F5              brne L54
 02AC 20900400          lds R2,_REV
 02B0 2220              tst R2
 02B2 91F1              breq L54
 02B4                   .dbline 203
 02B4           ;                       {
 02B4                   .dbline 204
 02B4           ;                               if(power>3 || heat>3)
 02B4 83E0              ldi R24,3
 02B6 20900300          lds R2,_power
 02BA 8215              cp R24,R2
 02BC 20F0              brlo L58
 02BE 20900200          lds R2,_heat
 02C2 8215              cp R24,R2
 02C4 30F4              brsh L56
 02C6           L58:
 02C6                   .dbline 205
 02C6           ;                               {
 02C6                   .dbline 206
 02C6           ;                                       PWM --;
 02C6 80910D00          lds R24,_PWM
 02CA 8150              subi R24,1
 02CC 80930D00          sts _PWM,R24
 02D0                   .dbline 207
 02D0           ;                               }       
 02D0 1AC0              rjmp L57
 02D2           L56:
 02D2                   .dbline 209
 02D2           ;                               else 
 02D2           ;                               {       
 02D2                   .dbline 210
 02D2           ;                                       PWM = ((middle-Timer)*10)/PE2;
 02D2 20900B00          lds R2,_Timer
 02D6 30900C00          lds R3,_Timer+1
 02DA 20910700          lds R18,_middle
 02DE 30910800          lds R19,_middle+1
 02E2 2219              sub R18,R2
 02E4 3309              sbc R19,R3
 02E6 0AE0              ldi R16,10
 02E8 10E0              ldi R17,0
 02EA 00D0              rcall empy16s
 02EC 20911000          lds R18,_PE2
 02F0 30911100          lds R19,_PE2+1
 02F4 00D0              rcall div16u
 02F6 00930D00          sts _PWM,R16
 02FA                   .dbline 211
 02FA           ;                                       if(PWM>210) PWM = 255;
 02FA 82ED              ldi R24,210
 02FC 8017              cp R24,R16
 02FE 18F4              brsh L59
 0300                   .dbline 211
 0300 8FEF              ldi R24,255
 0302 80930D00          sts _PWM,R24
 0306           L59:
 0306                   .dbline 212
 0306           ;                               }
 0306           L57:
 0306                   .dbline 213
 0306           ;                               Pwm_set(PWM,2);
 0306 22E0              ldi R18,2
 0308 00910D00          lds R16,_PWM
 030C 00D0              rcall _Pwm_set
 030E                   .dbline 214
 030E           ;                               SET_LED;
 030E 5C9A              sbi 0xb,4
 0310                   .dbline 215
 0310           ;                               delay(5);
 0310 05E0              ldi R16,5
 0312 10E0              ldi R17,0
 0314 B8DE              rcall _delay
 0316                   .dbline 216
 0316           ;                       }
 0316 19C0              rjmp L53
 0318           L54:
 0318                   .dbline 218
 0318           ;                       else 
 0318           ;                       {
 0318                   .dbline 219
 0318           ;                               Pwm_set(255,3); // 刹车
 0318 23E0              ldi R18,3
 031A 0FEF              ldi R16,255
 031C 00D0              rcall _Pwm_set
 031E 01C0              rjmp L62
 0320           L61:
 0320                   .dbline 221
 0320                   .dbline 222
 0320 D1DE              rcall _LED_set
 0322                   .dbline 223
 0322           L62:
 0322                   .dbline 220
 0322           ;                               while((Timer+50)<=middle)
 0322 20900700          lds R2,_middle
 0326 30900800          lds R3,_middle+1
 032A 80910B00          lds R24,_Timer
 032E 90910C00          lds R25,_Timer+1
 0332 C296              adiw R24,50
 0334 2816              cp R2,R24
 0336 3906              cpc R3,R25
 0338 98F7              brsh L61
 033A                   .dbline 224
 033A           ;                               {
 033A           ;                                       LED_set();
 033A           ;                               }
 033A           ;                               mode = 0;
 033A 2224              clr R2
 033C 20920F00          sts _mode,R2
 0340                   .dbline 225
 0340           ;                       }
 0340                   .dbline 226
 0340           ;               }
 0340 04C0              rjmp L53
 0342           L52:
 0342                   .dbline 228
 0342           ;               else 
 0342           ;               {
 0342                   .dbline 229
 0342           ;                       Pwm_set(0,0);
 0342 2227              clr R18
 0344 0027              clr R16
 0346 00D0              rcall _Pwm_set
 0348                   .dbline 230
 0348           ;                       CLR_LED;
 0348 5C98              cbi 0xb,4
 034A                   .dbline 231
 034A           ;               }
 034A           L53:
 034A           L46:
 034A                   .dbline 232
 034A           ;       }
 034A           L39:
 034A                   .dbline 233
 034A           ;       egis();
 034A C5DE              rcall _egis
 034C                   .dbline -2
 034C           L38:
 034C                   .dbline 0 ; func end
 034C 0895              ret
 034E                   .dbend
 034E                   .dbfunc e key _key fc
 034E           ;              k -> R20
 034E           ;              i -> R22
                        .even
 034E           _key::
 034E 00D0              rcall push_gset2
 0350                   .dbline -1
 0350                   .dbline 240
 0350           ; }
 0350           ; 
 0350           ; 
 0350           ; 
 0350           ; 
 0350           ; uchar key(void)
 0350           ; {
 0350                   .dbline 241
 0350           ;       uchar i,k=0;
 0350 4427              clr R20
 0352                   .dbline 243
 0352           ;       
 0352           ;       for(i=0;i<5;i++)
 0352 6627              clr R22
 0354 09C0              rjmp L68
 0356           L65:
 0356                   .dbline 244
 0356           ;       {
 0356                   .dbline 245
 0356           ;               if(PINB & 0x80) k = 0;
 0356 1F9B              sbis 0x3,7
 0358 02C0              rjmp L69
 035A                   .dbline 245
 035A 4427              clr R20
 035C 01C0              rjmp L70
 035E           L69:
 035E                   .dbline 246
 035E           ;               else k ++;
 035E 4395              inc R20
 0360           L70:
 0360                   .dbline 247
 0360 03E0              ldi R16,3
 0362 10E0              ldi R17,0
 0364 90DE              rcall _delay
 0366                   .dbline 248
 0366           L66:
 0366                   .dbline 243
 0366 6395              inc R22
 0368           L68:
 0368                   .dbline 243
 0368 6530              cpi R22,5
 036A A8F3              brlo L65
 036C                   .dbline 250
 036C           ;               delay(3);
 036C           ;       }
 036C           ; 
 036C           ;       return k;
 036C 042F              mov R16,R20
 036E                   .dbline -2
 036E           L64:
 036E 00D0              rcall pop_gset2
 0370                   .dbline 0 ; func end
 0370 0895              ret
 0372                   .dbsym r k 20 c
 0372                   .dbsym r i 22 c
 0372                   .dbend
 0372                   .dbfunc e compute _compute fi
 0372           ;           temp -> R16,R17
 0372           ;              i -> R18
                        .even
 0372           _compute::
 0372                   .dbline -1
 0372                   .dbline 258
 0372           ; }
 0372           ; 
 0372           ; /*---------------------------------------------------------------
 0372           ;                       
 0372           ; ----------------------------------------------------------------*/
 0372           ; 
 0372           ; uint compute(void)
 0372           ; {
 0372                   .dbline 260
 0372           ;       uchar   i;
 0372           ;       uint    temp = 0;
 0372 0027              clr R16
 0374 1127              clr R17
 0376                   .dbline 262
 0376           ;       
 0376           ;       for(i=0;i<8;i++)
 0376 2227              clr R18
 0378 13C0              rjmp L75
 037A           X2:
 037A                   .dbline 263
 037A           ;       {       
 037A           L76:
 037A                   .dbline 264
 037A           L77:
 037A                   .dbline 264
 037A 20900E00          lds R2,_rxd_flag
 037E 2220              tst R2
 0380 E1F3              breq L76
 0382                   .dbline 265
 0382 20900B00          lds R2,_Timer
 0386 30900C00          lds R3,_Timer+1
 038A 020D              add R16,R2
 038C 131D              adc R17,R3
 038E                   .dbline 266
 038E 2224              clr R2
 0390 20920E00          sts _rxd_flag,R2
 0394                   .dbline 267
 0394 3324              clr R3
 0396 30920C00          sts _Timer+1,R3
 039A 20920B00          sts _Timer,R2
 039E                   .dbline 268
 039E           L73:
 039E                   .dbline 262
 039E 2395              inc R18
 03A0           L75:
 03A0                   .dbline 262
 03A0 2830              cpi R18,8
 03A2 58F3              brlo L77
 03A4                   .dbline 269
 03A4           ;               while(!rxd_flag);
 03A4           ;               temp += Timer;
 03A4           ;               rxd_flag  = 0;
 03A4           ;               Timer= 0;
 03A4           ;       }
 03A4           ;       temp = (temp>>3);
 03A4 1801              movw R2,R16
 03A6 3694              lsr R3
 03A8 2794              ror R2
 03AA 3694              lsr R3
 03AC 2794              ror R2
 03AE 3694              lsr R3
 03B0 2794              ror R2
 03B2 8101              movw R16,R2
 03B4                   .dbline 271
 03B4           ;       
 03B4           ;       return temp;
 03B4                   .dbline -2
 03B4           L71:
 03B4                   .dbline 0 ; func end
 03B4 0895              ret
 03B6                   .dbsym r temp 16 i
 03B6                   .dbsym r i 18 c
 03B6                   .dbend
 03B6                   .dbfunc e Buz _Buz fV
                        .even
 03B6           _Buz::
 03B6                   .dbline -1
 03B6                   .dbline 276
 03B6           ; }
 03B6           ; 
 03B6           ; 
 03B6           ; void Buz()
 03B6           ; {
 03B6                   .dbline 277
 03B6           ;       Pwm_set(20,1);
 03B6 21E0              ldi R18,1
 03B8 04E1              ldi R16,20
 03BA 00D0              rcall _Pwm_set
 03BC                   .dbline 278
 03BC           ;       delay(15);      
 03BC 0FE0              ldi R16,15
 03BE 10E0              ldi R17,0
 03C0 62DE              rcall _delay
 03C2                   .dbline 279
 03C2           ;       Pwm_set(0,0);   
 03C2 2227              clr R18
 03C4 0027              clr R16
 03C6 00D0              rcall _Pwm_set
 03C8                   .dbline 280
 03C8           ;       delay(20);
 03C8 04E1              ldi R16,20
 03CA 10E0              ldi R17,0
 03CC 5CDE              rcall _delay
 03CE                   .dbline 281
 03CE           ;       Pwm_set(20,1);  
 03CE 21E0              ldi R18,1
 03D0 04E1              ldi R16,20
 03D2 00D0              rcall _Pwm_set
 03D4                   .dbline 282
 03D4           ;       delay(15);      
 03D4 0FE0              ldi R16,15
 03D6 10E0              ldi R17,0
 03D8 56DE              rcall _delay
 03DA                   .dbline 283
 03DA           ;       Pwm_set(0,0);
 03DA 2227              clr R18
 03DC 0027              clr R16
 03DE 00D0              rcall _Pwm_set
 03E0                   .dbline -2
 03E0           L79:
 03E0                   .dbline 0 ; func end
 03E0 0895              ret
 03E2                   .dbend
 03E2                   .dbfunc e Rev_Setup _Rev_Setup fV
                        .even
 03E2           _Rev_Setup::
 03E2                   .dbline -1
 03E2                   .dbline 287
 03E2           ; }
 03E2           ; 
 03E2           ; void Rev_Setup()
 03E2           ; {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -