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

📄 main.lis

📁 这个是个航模产品的锂电测试器
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0290 9F81              ldd R25,y+7
 0292 8338              cpi R24,131
 0294 E0E0              ldi R30,0
 0296 9E07              cpc R25,R30
 0298 18F4              brsh L59
 029A                   .dbline 186
 029A 81E0              ldi R24,1
 029C 80930000          sts _flas4,R24
 02A0           L59:
 02A0                   .dbline 188
 02A0           ;       
 02A0           ;       bubble_sort(temp, batt);
 02A0 20911400          lds R18,_batt
 02A4 8E01              movw R16,R28
 02A6 11DF              rcall _bubble_sort
 02A8                   .dbline 190
 02A8           ;       
 02A8           ;       if(batt==4) 
 02A8 80911400          lds R24,_batt
 02AC 8430              cpi R24,4
 02AE A9F4              brne L62
 02B0                   .dbline 191
 02B0           ;       {
 02B0                   .dbline 192
 02B0           ;               if( (temp[0]-temp[3])>10 )
 02B0 2E80              ldd R2,y+6
 02B2 3F80              ldd R3,y+7
 02B4 4880              ldd R4,y+0
 02B6 5980              ldd R5,y+1
 02B8 4218              sub R4,R2
 02BA 5308              sbc R5,R3
 02BC 8AE0              ldi R24,10
 02BE 90E0              ldi R25,0
 02C0 8415              cp R24,R4
 02C2 9505              cpc R25,R5
 02C4 90F5              brsh L63
 02C6                   .dbline 193
 02C6           ;               {
 02C6                   .dbline 194
 02C6           ;                       flas1 = 1;
 02C6 81E0              ldi R24,1
 02C8 80930300          sts _flas1,R24
 02CC                   .dbline 195
 02CC           ;                       flas2 = 1;
 02CC 80930200          sts _flas2,R24
 02D0                   .dbline 196
 02D0           ;                       flas3 = 1;
 02D0 80930100          sts _flas3,R24
 02D4                   .dbline 197
 02D4           ;                       flas4 = 1;
 02D4 80930000          sts _flas4,R24
 02D8                   .dbline 198
 02D8           ;               }
 02D8                   .dbline 199
 02D8           ;       }
 02D8 28C0              rjmp L63
 02DA           L62:
 02DA                   .dbline 200
 02DA           ;       else if(batt==3)
 02DA 80911400          lds R24,_batt
 02DE 8330              cpi R24,3
 02E0 81F4              brne L67
 02E2                   .dbline 201
 02E2           ;       {
 02E2                   .dbline 202
 02E2           ;               if(temp[0]> (temp[2]+5))
 02E2 8C81              ldd R24,y+4
 02E4 9D81              ldd R25,y+5
 02E6 0596              adiw R24,5
 02E8 2880              ldd R2,y+0
 02EA 3980              ldd R3,y+1
 02EC 8215              cp R24,R2
 02EE 9305              cpc R25,R3
 02F0 E0F4              brsh L68
 02F2                   .dbline 203
 02F2           ;               {
 02F2                   .dbline 204
 02F2           ;                       flas1 = 1;
 02F2 81E0              ldi R24,1
 02F4 80930300          sts _flas1,R24
 02F8                   .dbline 205
 02F8           ;                       flas2 = 1;
 02F8 80930200          sts _flas2,R24
 02FC                   .dbline 206
 02FC           ;                       flas3 = 1;
 02FC 80930100          sts _flas3,R24
 0300                   .dbline 207
 0300           ;               }
 0300                   .dbline 208
 0300           ;       }
 0300 14C0              rjmp L68
 0302           L67:
 0302                   .dbline 209
 0302           ;       else if(batt==2)
 0302 80911400          lds R24,_batt
 0306 8230              cpi R24,2
 0308 81F4              brne L72
 030A                   .dbline 210
 030A           ;       {
 030A                   .dbline 211
 030A           ;               if( (temp[0]-temp[1])>10 )
 030A 2A80              ldd R2,y+2
 030C 3B80              ldd R3,y+3
 030E 4880              ldd R4,y+0
 0310 5980              ldd R5,y+1
 0312 4218              sub R4,R2
 0314 5308              sbc R5,R3
 0316 8AE0              ldi R24,10
 0318 90E0              ldi R25,0
 031A 8415              cp R24,R4
 031C 9505              cpc R25,R5
 031E 28F4              brsh L74
 0320                   .dbline 212
 0320           ;               {
 0320                   .dbline 213
 0320           ;                       flas1 = 1;
 0320 81E0              ldi R24,1
 0322 80930300          sts _flas1,R24
 0326                   .dbline 214
 0326           ;                       flas2 = 1;
 0326 80930200          sts _flas2,R24
 032A                   .dbline 215
 032A           ;               }
 032A           L74:
 032A                   .dbline 216
 032A           ;       }
 032A           L72:
 032A           L68:
 032A           L63:
 032A                   .dbline -2
 032A           L29:
 032A 2896              adiw R28,8
 032C                   .dbline 0 ; func end
 032C 0895              ret
 032E                   .dbsym l temp 0 A[8:4]i
 032E                   .dbend
 032E                   .dbfunc e ADC_count _ADC_count fV
 032E           ;           temp -> R20,R21
                        .even
 032E           _ADC_count::
 032E 00D0              rcall push_gset1
 0330                   .dbline -1
 0330                   .dbline 228
 0330           ;       
 0330           ; }
 0330           ; 
 0330           ; 
 0330           ; 
 0330           ; 
 0330           ; /*---------------------------------------------------------------
 0330           ;                       A/D 转换
 0330           ; ----------------------------------------------------------------*/
 0330           ; 
 0330           ; void ADC_count(void)
 0330           ; {
 0330                   .dbline 231
 0330           ;       uint temp;
 0330           ;       
 0330           ;       ad_temp += AD_CH(adc_ch);
 0330 00910000          lds R16,_adc_ch
 0334 6CDE              rcall _AD_CH
 0336 20901600          lds R2,_ad_temp
 033A 30901700          lds R3,_ad_temp+1
 033E 200E              add R2,R16
 0340 311E              adc R3,R17
 0342 30921700          sts _ad_temp+1,R3
 0346 20921600          sts _ad_temp,R2
 034A                   .dbline 232
 034A           ;       adc_num ++;
 034A 80911500          lds R24,_adc_num
 034E 8F5F              subi R24,255    ; addi 1
 0350 80931500          sts _adc_num,R24
 0354                   .dbline 233
 0354           ;       if(adc_num>=16)
 0354 8031              cpi R24,16
 0356 08F4              brsh X5
 0358 43C0              rjmp L78
 035A           X5:
 035A                   .dbline 234
 035A           ;       {
 035A                   .dbline 235
 035A           ;               adc_num = 0;
 035A 2224              clr R2
 035C 20921500          sts _adc_num,R2
 0360                   .dbline 236
 0360           ;               temp    = ad_temp>>4;
 0360 40911600          lds R20,_ad_temp
 0364 50911700          lds R21,_ad_temp+1
 0368 5695              lsr R21
 036A 4795              ror R20
 036C 5695              lsr R21
 036E 4795              ror R20
 0370 5695              lsr R21
 0372 4795              ror R20
 0374 5695              lsr R21
 0376 4795              ror R20
 0378                   .dbline 237
 0378           ;               ad_temp = 0;
 0378 3324              clr R3
 037A 30921700          sts _ad_temp+1,R3
 037E 20921600          sts _ad_temp,R2
 0382                   .dbline 239
 0382           ; 
 0382           ;               if(adc_ch==0)      
 0382 20900000          lds R2,_adc_ch
 0386 2220              tst R2
 0388 41F4              brne L80
 038A                   .dbline 240
 038A           ;               {
 038A                   .dbline 241
 038A           ;                       V[1]   = temp;
 038A 50931D00          sts _V+2+1,R21
 038E 40931C00          sts _V+2,R20
 0392                   .dbline 242
 0392           ;                       adc_ch = 1; 
 0392 81E0              ldi R24,1
 0394 80930000          sts _adc_ch,R24
 0398                   .dbline 243
 0398           ;               }
 0398 23C0              rjmp L81
 039A           L80:
 039A                   .dbline 244
 039A           ;               else if(adc_ch==1) 
 039A 80910000          lds R24,_adc_ch
 039E 8130              cpi R24,1
 03A0 41F4              brne L83
 03A2                   .dbline 245
 03A2           ;               {
 03A2                   .dbline 246
 03A2           ;                       V[0]   = temp;
 03A2 50931B00          sts _V+1,R21
 03A6 40931A00          sts _V,R20
 03AA                   .dbline 247
 03AA           ;                       adc_ch = 6; 
 03AA 86E0              ldi R24,6
 03AC 80930000          sts _adc_ch,R24
 03B0                   .dbline 248
 03B0           ;               }
 03B0 17C0              rjmp L84
 03B2           L83:
 03B2                   .dbline 249
 03B2           ;               else if(adc_ch==6) 
 03B2 80910000          lds R24,_adc_ch
 03B6 8630              cpi R24,6
 03B8 41F4              brne L85
 03BA                   .dbline 250
 03BA           ;               {
 03BA                   .dbline 251
 03BA           ;                       V[3]   = temp ;
 03BA 50932100          sts _V+6+1,R21
 03BE 40932000          sts _V+6,R20
 03C2                   .dbline 252
 03C2           ;                       adc_ch = 7; 
 03C2 87E0              ldi R24,7
 03C4 80930000          sts _adc_ch,R24
 03C8                   .dbline 253
 03C8           ;               }
 03C8 0BC0              rjmp L86
 03CA           L85:
 03CA                   .dbline 254
 03CA           ;               else if(adc_ch==7) 
 03CA 80910000          lds R24,_adc_ch
 03CE 8730              cpi R24,7
 03D0 39F4              brne L88
 03D2                   .dbline 255
 03D2           ;               {
 03D2                   .dbline 256
 03D2           ;                       V[2]   = temp ;
 03D2 50931F00          sts _V+4+1,R21
 03D6 40931E00          sts _V+4,R20
 03DA                   .dbline 257
 03DA           ;                       adc_ch = 0;
 03DA 2224              clr R2
 03DC 20920000          sts _adc_ch,R2
 03E0                   .dbline 258
 03E0           ;               }
 03E0           L88:
 03E0           L86:
 03E0           L84:
 03E0           L81:
 03E0                   .dbline 261
 03E0           L78:
 03E0                   .dbline -2
 03E0           L77:
 03E0 00D0              rcall pop_gset1
 03E2                   .dbline 0 ; func end
 03E2 0895              ret
 03E4                   .dbsym r temp 20 i
 03E4                   .dbend
 03E4                   .dbfunc e batt_test _batt_test fV
                        .even
 03E4           _batt_test::
 03E4                   .dbline -1
 03E4                   .dbline 273
 03E4           ;               
 03E4           ;               //abcd();       
 03E4           ;       }
 03E4           ;       
 03E4           ; }
 03E4           ; 
 03E4           ; 
 03E4           ; 
 03E4           ; 
 03E4           ; /*---------------------------------------------------------------
 03E4           ;                       电池组数检测
 03E4           ; ----------------------------------------------------------------*/
 03E4           ; 
 03E4           ; void batt_test(void)
 03E4           ; {
 03E4                   .dbline 274
 03E4           ;       if(AD_CH(1)>60)  batt =1;
 03E4 01E0              ldi R16,1
 03E6 13DE              rcall _AD_CH
 03E8 8CE3              ldi R24,60
 03EA 90E0              ldi R25,0
 03EC 8017              cp R24,R16
 03EE 9107              cpc R25,R17
 03F0 18F4              brsh L92
 03F2                   .dbline 274
 03F2 81E0              ldi R24,1
 03F4 80931400          sts _batt,R24
 03F8           L92:
 03F8                   .dbline 275
 03F8           ;       if(AD_CH(0)>120) batt =2;
 03F8 0027              clr R16
 03FA 09DE              rcall _AD_CH
 03FC 88E7              ldi R24,120
 03FE 90E0              ldi R25,0
 0400 8017              cp R24,R16
 0402 9107              cpc R25,R17
 0404 18F4              brsh L94
 0406                   .dbline 275
 0406 82E0              ldi R24,2
 0408 80931400          sts _batt,R24
 040C           L94:
 040C                   .dbline 276
 040C           ;       if(AD_CH(7)>180) batt =3;
 040C 07E0              ldi R16,7
 040E FFDD              rcall _AD_CH
 0410 84EB              ldi R24,180
 0412 90E0              ldi R25,0
 0414 8017              cp R24,R16
 0416 9107              cpc R25,R17
 0418 18F4              brsh L96
 041A                   .dbline 276
 041A 83E0              ldi R24,3
 041C 80931400          sts _batt,R24
 0420           L96:

⌨️ 快捷键说明

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