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

📄 main.lis

📁 这个是个航模产品的锂电测试器
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 05A6           ;                       if(led_time<80 && flas4)
 05A6 80910500          lds R24,_led_time
 05AA 8035              cpi R24,80
 05AC 48F4              brsh L130
 05AE 20900000          lds R2,_flas4
 05B2 2220              tst R2
 05B4 29F0              breq L130
 05B6                   .dbline 368
 05B6           ;                       {
 05B6                   .dbline 369
 05B6           ;                               CLR_LED1;
 05B6 5C98              cbi 0xb,4
 05B8                   .dbline 370
 05B8           ;                               CLR_LED2;
 05B8 5B98              cbi 0xb,3
 05BA                   .dbline 371
 05BA           ;                               CLR_LED3;
 05BA 5998              cbi 0xb,1
 05BC                   .dbline 372
 05BC           ;                               CLR_LED4;
 05BC 5898              cbi 0xb,0
 05BE                   .dbline 373
 05BE           ;                       }
 05BE 04C0              rjmp L131
 05C0           L130:
 05C0                   .dbline 375
 05C0           ;                       else 
 05C0           ;                       {
 05C0                   .dbline 376
 05C0           ;                               CLR_LED1;
 05C0 5C98              cbi 0xb,4
 05C2                   .dbline 377
 05C2           ;                               CLR_LED2;
 05C2 5B98              cbi 0xb,3
 05C4                   .dbline 378
 05C4           ;                               CLR_LED3;
 05C4 5998              cbi 0xb,1
 05C6                   .dbline 379
 05C6           ;                               SET_LED4;
 05C6 589A              sbi 0xb,0
 05C8                   .dbline 380
 05C8           ;                       }
 05C8           L131:
 05C8                   .dbline 382
 05C8           ;                       
 05C8           ;               }
 05C8           L124:
 05C8           L117:
 05C8           L110:
 05C8           L104:
 05C8                   .dbline 384
 05C8           ;               
 05C8           ;               temp = ((temp*125)/256)*5;
 05C8 0DE7              ldi R16,125
 05CA 10E0              ldi R17,0
 05CC 9A01              movw R18,R20
 05CE 00D0              rcall empy16s
 05D0 9801              movw R18,R16
 05D2 232F              mov R18,R19
 05D4 3327              clr R19
 05D6 05E0              ldi R16,5
 05D8 10E0              ldi R17,0
 05DA 00D0              rcall empy16s
 05DC A801              movw R20,R16
 05DE                   .dbline 386
 05DE           ;       
 05DE           ;       }
 05DE 2AC0              rjmp L102
 05E0           L101:
 05E0                   .dbline 387
 05E0           ;       else if(mode==1)
 05E0 80911000          lds R24,_mode
 05E4 8130              cpi R24,1
 05E6 41F4              brne L132
 05E8                   .dbline 388
 05E8           ;       {
 05E8                   .dbline 389
 05E8           ;               SET_LED1;
 05E8 5C9A              sbi 0xb,4
 05EA                   .dbline 390
 05EA           ;               SET_LED2;
 05EA 5B9A              sbi 0xb,3
 05EC                   .dbline 391
 05EC           ;               CLR_LED3;
 05EC 5998              cbi 0xb,1
 05EE                   .dbline 392
 05EE           ;               CLR_LED4;
 05EE 5898              cbi 0xb,0
 05F0                   .dbline 393
 05F0           ;               temp = out_time;
 05F0 40910F00          lds R20,_out_time
 05F4 5527              clr R21
 05F6                   .dbline 394
 05F6           ;       }
 05F6 1EC0              rjmp L133
 05F8           L132:
 05F8                   .dbline 395
 05F8           ;       else if(mode==2)
 05F8 80911000          lds R24,_mode
 05FC 8230              cpi R24,2
 05FE 41F4              brne L134
 0600                   .dbline 396
 0600           ;       {
 0600                   .dbline 397
 0600           ;               SET_LED1;
 0600 5C9A              sbi 0xb,4
 0602                   .dbline 398
 0602           ;               SET_LED2;
 0602 5B9A              sbi 0xb,3
 0604                   .dbline 399
 0604           ;               SET_LED3;
 0604 599A              sbi 0xb,1
 0606                   .dbline 400
 0606           ;               CLR_LED4;
 0606 5898              cbi 0xb,0
 0608                   .dbline 401
 0608           ;               temp = out_time;
 0608 40910F00          lds R20,_out_time
 060C 5527              clr R21
 060E                   .dbline 402
 060E           ;       }
 060E 12C0              rjmp L135
 0610           L134:
 0610                   .dbline 403
 0610           ;       else if(mode==3)
 0610 80911000          lds R24,_mode
 0614 8330              cpi R24,3
 0616 71F4              brne L136
 0618                   .dbline 404
 0618           ;       {
 0618                   .dbline 405
 0618           ;               SET_LED1;
 0618 5C9A              sbi 0xb,4
 061A                   .dbline 406
 061A           ;               SET_LED2;
 061A 5B9A              sbi 0xb,3
 061C                   .dbline 407
 061C           ;               SET_LED3;
 061C 599A              sbi 0xb,1
 061E                   .dbline 408
 061E           ;               SET_LED4;
 061E 589A              sbi 0xb,0
 0620                   .dbline 409
 0620           ;               temp = (CH.temp+5)/10;
 0620 2AE0              ldi R18,10
 0622 30E0              ldi R19,0
 0624 00912200          lds R16,_CH
 0628 10912300          lds R17,_CH+1
 062C 0B5F              subi R16,251  ; offset = 5
 062E 1F4F              sbci R17,255
 0630 00D0              rcall div16u
 0632 A801              movw R20,R16
 0634                   .dbline 410
 0634           ;       }
 0634           L136:
 0634           L135:
 0634           L133:
 0634           L102:
 0634                   .dbline 412
 0634           ;       
 0634           ;       h = temp/100;
 0634 24E6              ldi R18,100
 0636 30E0              ldi R19,0
 0638 8A01              movw R16,R20
 063A 00D0              rcall div16u
 063C A02E              mov R10,R16
 063E                   .dbline 413
 063E           ;       m = temp%100/10;
 063E 24E6              ldi R18,100
 0640 30E0              ldi R19,0
 0642 8A01              movw R16,R20
 0644 00D0              rcall mod16u
 0646 2AE0              ldi R18,10
 0648 30E0              ldi R19,0
 064A 00D0              rcall div16u
 064C 602F              mov R22,R16
 064E                   .dbline 414
 064E           ;       l = temp%100%10;
 064E 24E6              ldi R18,100
 0650 30E0              ldi R19,0
 0652 8A01              movw R16,R20
 0654 00D0              rcall mod16u
 0656 2AE0              ldi R18,10
 0658 30E0              ldi R19,0
 065A 00D0              rcall mod16u
 065C 402F              mov R20,R16
 065E                   .dbline 416
 065E           ;       
 065E           ;       dip_bit ++;
 065E 80911300          lds R24,_dip_bit
 0662 8F5F              subi R24,255    ; addi 1
 0664 80931300          sts _dip_bit,R24
 0668                   .dbline 418
 0668           ;       
 0668           ;       if(dip_bit==2)
 0668 8230              cpi R24,2
 066A 79F4              brne L138
 066C                   .dbline 419
 066C           ;       {
 066C                   .dbline 420
 066C           ;               SET_COM1;
 066C 5F9A              sbi 0xb,7
 066E                   .dbline 421
 066E           ;               CLR_COM2;
 066E 5E98              cbi 0xb,6
 0670                   .dbline 422
 0670           ;               CLR_COM3;
 0670 5D98              cbi 0xb,5
 0672                   .dbline 423
 0672           ;               PORTB = Char_tab[h] | dp;
 0672 80E0              ldi R24,<_Char_tab
 0674 90E0              ldi R25,>_Char_tab
 0676 EA2D              mov R30,R10
 0678 FF27              clr R31
 067A E80F              add R30,R24
 067C F91F              adc R31,R25
 067E E491              lpm R30,Z
 0680 20900100          lds R2,_dp
 0684 E229              or R30,R2
 0686 E5B9              out 0x5,R30
 0688                   .dbline 424
 0688           ;       }       
 0688 22C0              rjmp L139
 068A           L138:
 068A                   .dbline 425
 068A           ;       else if(dip_bit==4)
 068A 80911300          lds R24,_dip_bit
 068E 8430              cpi R24,4
 0690 61F4              brne L140
 0692                   .dbline 426
 0692           ;       {
 0692                   .dbline 427
 0692           ;               CLR_COM1;
 0692 5F98              cbi 0xb,7
 0694                   .dbline 428
 0694           ;               SET_COM2;
 0694 5E9A              sbi 0xb,6
 0696                   .dbline 429
 0696           ;               CLR_COM3;
 0696 5D98              cbi 0xb,5
 0698                   .dbline 430
 0698           ;               PORTB = Char_tab[m];
 0698 80E0              ldi R24,<_Char_tab
 069A 90E0              ldi R25,>_Char_tab
 069C E62F              mov R30,R22
 069E FF27              clr R31
 06A0 E80F              add R30,R24
 06A2 F91F              adc R31,R25
 06A4 E491              lpm R30,Z
 06A6 E5B9              out 0x5,R30
 06A8                   .dbline 431
 06A8           ;       }
 06A8 12C0              rjmp L141
 06AA           L140:
 06AA                   .dbline 432
 06AA           ;       else if(dip_bit==6)
 06AA 80911300          lds R24,_dip_bit
 06AE 8630              cpi R24,6
 06B0 71F4              brne L142
 06B2                   .dbline 433
 06B2           ;       {
 06B2                   .dbline 434
 06B2           ;               CLR_COM1;
 06B2 5F98              cbi 0xb,7
 06B4                   .dbline 435
 06B4           ;               CLR_COM2;
 06B4 5E98              cbi 0xb,6
 06B6                   .dbline 436
 06B6           ;               SET_COM3;
 06B6 5D9A              sbi 0xb,5
 06B8                   .dbline 437
 06B8           ;               PORTB = Char_tab[l];
 06B8 80E0              ldi R24,<_Char_tab
 06BA 90E0              ldi R25,>_Char_tab
 06BC E42F              mov R30,R20
 06BE FF27              clr R31
 06C0 E80F              add R30,R24
 06C2 F91F              adc R31,R25
 06C4 E491              lpm R30,Z
 06C6 E5B9              out 0x5,R30
 06C8                   .dbline 438
 06C8           ;               dip_bit = 0;
 06C8 2224              clr R2
 06CA 20921300          sts _dip_bit,R2
 06CE                   .dbline 439
 06CE           ;       }
 06CE           L142:
 06CE           L141:
 06CE           L139:
 06CE                   .dbline -2
 06CE           L100:
 06CE 00D0              rcall pop_gset3
 06D0                   .dbline 0 ; func end
 06D0 0895              ret
 06D2                   .dbsym l temp1 1 i
 06D2                   .dbsym r l 20 c
 06D2                   .dbsym r m 22 c
 06D2                   .dbsym r h 10 c
 06D2                   .dbsym r temp 20 i
 06D2                   .dbend
 06D2                   .dbfunc e key_scan _key_scan fV
 06D2           ;           temp -> R16
                        .even
 06D2           _key_scan::
 06D2                   .dbline -1
 06D2                   .dbline 448
 06D2           ; }
 06D2           ; 
 06D2           ; 
 06D2           ; /*---------------------------------------------------------------
 06D2           ;               按键扫描
 06D2           ; ----------------------------------------------------------------*/
 06D2           ; 
 06D2           ; void key_scan(void)
 06D2           ; {
 06D2                   .dbline 451
 06D2           ;       uchar temp;
 06D2           ;       
 06D2           ;       PORTC |= 0x0C;
 06D2 88B1              in R24,0x8
 06D4 8C60              ori R24,12
 06D6 88B9              out 0x8,R24
 06D8                   .dbline 453
 06D8           ;       
 06D8           ;       asm("nop"); asm("nop");
 06D8 0000              nop
 06DA                   .dbline 453
 06DA 0000              nop
 06DC                   .dbline 455
 06DC           ;       
 06DC           ;       temp = PINC & 0x0C;
 06DC 06B1              in R16,0x6
 06DE 0C70              andi R16,12
 06E0                   .dbline 457
 06E0           ; 
 06E0           ;       if(temp==0x00)  // 双键
 06E0 09F0              breq X7
 06E2 49C0              rjmp L145
 06E4           X7:
 06E4                   .dbline 458
 06E4           ;       {       
 06E4                   .dbline 459
 06E4           ;               key ++;
 06E4 80910D00          lds R24,_key
 06E8 90910E00          lds R25,_key+1
 06EC 0196              adiw R24,1
 06EE 90930E00          sts _key+1,R25
 06F2 80930D00          st

⌨️ 快捷键说明

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