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

📄 test.lis

📁 a good program for battery charge,only for reference
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02BE 90910800          lds R25,_now_temp+1
 02C2 8630              cpi R24,6
 02C4 E0E0              ldi R30,0
 02C6 9E07              cpc R25,R30
 02C8 14F4              brge L28
 02CA                   .dbline 254
 02CA           ;               {
 02CA                   .dbline 255
 02CA           ;               DA_SET=735;
 02CA 4FED              ldi R20,735
 02CC 52E0              ldi R21,2
 02CE                   .dbline 256
 02CE           ;               }                       
 02CE           L28:
 02CE                   .dbline 258
 02CE           ;    
 02CE           ;    tem[0]=0x90;                       
 02CE 80E9              ldi R24,144
 02D0 8883              std y+0,R24
 02D2                   .dbline 259
 02D2           ;    tem[1]=0x00;                         
 02D2 2224              clr R2
 02D4 2982              std y+1,R2
 02D6                   .dbline 260
 02D6           ;    tem[2]=DA_SET/4;           
 02D6 1A01              movw R2,R20
 02D8 3694              lsr R3
 02DA 2794              ror R2
 02DC 3694              lsr R3
 02DE 2794              ror R2
 02E0 2A82              std y+2,R2
 02E2                   .dbline 261
 02E2           ;    tem[3]=DA_SET%4;             
 02E2 CA01              movw R24,R20
 02E4 8370              andi R24,3
 02E6 9070              andi R25,0
 02E8 8B83              std y+3,R24
 02EA                   .dbline 262
 02EA           ;    tem[3]=tem[3]<<6;  
 02EA 282E              mov R2,R24
 02EC 220C              lsl R2
 02EE 220C              lsl R2
 02F0 220C              lsl R2
 02F2 220C              lsl R2
 02F4 220C              lsl R2
 02F6 220C              lsl R2
 02F8 2B82              std y+3,R2
 02FA                   .dbline 264
 02FA           ; 
 02FA           ;    Start_I2c();             
 02FA 68DF              rcall _Start_I2c
 02FC                   .dbline 265
 02FC           ;      for(i=0;i<4;i++)
 02FC 4427              clr R20
 02FE 0FC0              rjmp L38
 0300           L35:
 0300                   .dbline 266
 0300           ;     {   
 0300                   .dbline 267
 0300           ;      SendByte(tem[i]);            
 0300 CE01              movw R24,R28
 0302 E42F              mov R30,R20
 0304 FF27              clr R31
 0306 E80F              add R30,R24
 0308 F91F              adc R31,R25
 030A 0081              ldd R16,z+0
 030C 7FDF              rcall _SendByte
 030E                   .dbline 268
 030E           ;          if((temp&(1<<ack))==0)return(0);  
 030E 20901600          lds R2,_temp
 0312 20FC              sbrc R2,0
 0314 03C0              rjmp L39
 0316                   .dbline 268
 0316 0027              clr R16
 0318 1127              clr R17
 031A 06C0              rjmp L27
 031C           L39:
 031C                   .dbline 269
 031C           L36:
 031C                   .dbline 265
 031C 4395              inc R20
 031E           L38:
 031E                   .dbline 265
 031E 4430              cpi R20,4
 0320 78F3              brlo L35
 0322                   .dbline 270
 0322           ;      } 
 0322           ;   Stop_I2c();               
 0322 66DF              rcall _Stop_I2c
 0324                   .dbline 271
 0324           ;   return(1);   
 0324 01E0              ldi R16,1
 0326 10E0              ldi R17,0
 0328                   .dbline -2
 0328           L27:
 0328 2496              adiw R28,4
 032A 00D0              rcall pop_gset1
 032C                   .dbline 0 ; func end
 032C 0895              ret
 032E                   .dbsym l tem 0 A[4:4]c
 032E                   .dbsym r i 20 c
 032E                   .dbsym r DA_SET 20 i
 032E                   .dbend
 032E                   .dbfunc e TC1321_SET_138 _TC1321_SET_138 fI
 032E           ;            tem -> y+0
 032E           ;              i -> R20
 032E           ;         DA_SET -> R20,R21
                        .even
 032E           _TC1321_SET_138::
 032E 00D0              rcall push_gset1
 0330 A801              movw R20,R16
 0332 2497              sbiw R28,4
 0334                   .dbline -1
 0334                   .dbline 275
 0334           ; }
 0334           ; /**********************13.8V时候的D/A输出值  ***************************/
 0334           ; TC1321_SET_138(unsigned int DA_SET)
 0334           ; {
 0334                   .dbline 278
 0334           ;    unsigned char i;
 0334           ;    unsigned char tem[4];
 0334           ;    temp_det();
 0334 8BD0              rcall _temp_det
 0336                   .dbline 279
 0336           ;     _nop_();     
 0336 0000              nop
 0338                   .dbline 280
 0338           ;   temp_det();
 0338 89D0              rcall _temp_det
 033A                   .dbline 281
 033A           ;     _nop_();  
 033A 0000              nop
 033C                   .dbline 283
 033C           ;  
 033C           ;       xxyy=now_temp+5;
 033C 80910700          lds R24,_now_temp
 0340 90910800          lds R25,_now_temp+1
 0344 0596              adiw R24,5
 0346 90931C00          sts _xxyy+1,R25
 034A 80931B00          sts _xxyy,R24
 034E                   .dbline 284
 034E           ;       DA_SET=ABC_2[xxyy];
 034E 9C01              movw R18,R24
 0350 02E0              ldi R16,2
 0352 10E0              ldi R17,0
 0354 00D0              rcall empy16s
 0356 F801              movw R30,R16
 0358 80E0              ldi R24,<_ABC_2
 035A 90E0              ldi R25,>_ABC_2
 035C E80F              add R30,R24
 035E F91F              adc R31,R25
 0360 4591              lpm R20,Z+
 0362 5491              lpm R21,Z
 0364                   .dbline 286
 0364           ; 
 0364           ;       if(now_temp <-4 )                          //温度小于-30°时候输出15.3V
 0364 80910700          lds R24,_now_temp
 0368 90910800          lds R25,_now_temp+1
 036C 8C3F              cpi R24,252
 036E EFEF              ldi R30,255
 0370 9E07              cpc R25,R30
 0372 14F4              brge L42
 0374                   .dbline 287
 0374           ;               {
 0374                   .dbline 288
 0374           ;               DA_SET=752;
 0374 40EF              ldi R20,752
 0376 52E0              ldi R21,2
 0378                   .dbline 289
 0378           ;               }                          
 0378           L42:
 0378                   .dbline 291
 0378           ;    
 0378           ;    tem[0]=0x90;                       
 0378 80E9              ldi R24,144
 037A 8883              std y+0,R24
 037C                   .dbline 292
 037C           ;    tem[1]=0x00;                         
 037C 2224              clr R2
 037E 2982              std y+1,R2
 0380                   .dbline 293
 0380           ;    tem[2]=DA_SET/4;           
 0380 1A01              movw R2,R20
 0382 3694              lsr R3
 0384 2794              ror R2
 0386 3694              lsr R3
 0388 2794              ror R2
 038A 2A82              std y+2,R2
 038C                   .dbline 294
 038C           ;    tem[3]=DA_SET%4;             
 038C CA01              movw R24,R20
 038E 8370              andi R24,3
 0390 9070              andi R25,0
 0392 8B83              std y+3,R24
 0394                   .dbline 295
 0394           ;    tem[3]=tem[3]<<6;  
 0394 282E              mov R2,R24
 0396 220C              lsl R2
 0398 220C              lsl R2
 039A 220C              lsl R2
 039C 220C              lsl R2
 039E 220C              lsl R2
 03A0 220C              lsl R2
 03A2 2B82              std y+3,R2
 03A4                   .dbline 297
 03A4           ; 
 03A4           ;    Start_I2c();             
 03A4 13DF              rcall _Start_I2c
 03A6                   .dbline 298
 03A6           ;      for(i=0;i<4;i++)
 03A6 4427              clr R20
 03A8 0FC0              rjmp L52
 03AA           L49:
 03AA                   .dbline 299
 03AA           ;     {   
 03AA                   .dbline 300
 03AA           ;      SendByte(tem[i]);            
 03AA CE01              movw R24,R28
 03AC E42F              mov R30,R20
 03AE FF27              clr R31
 03B0 E80F              add R30,R24
 03B2 F91F              adc R31,R25
 03B4 0081              ldd R16,z+0
 03B6 2ADF              rcall _SendByte
 03B8                   .dbline 301
 03B8           ;          if((temp&(1<<ack))==0)return(0);  
 03B8 20901600          lds R2,_temp
 03BC 20FC              sbrc R2,0
 03BE 03C0              rjmp L53
 03C0                   .dbline 301
 03C0 0027              clr R16
 03C2 1127              clr R17
 03C4 06C0              rjmp L41
 03C6           L53:
 03C6                   .dbline 302
 03C6           L50:
 03C6                   .dbline 298
 03C6 4395              inc R20
 03C8           L52:
 03C8                   .dbline 298
 03C8 4430              cpi R20,4
 03CA 78F3              brlo L49
 03CC                   .dbline 303
 03CC           ;      } 
 03CC           ;   Stop_I2c();               
 03CC 11DF              rcall _Stop_I2c
 03CE                   .dbline 304
 03CE           ;   return(1);   
 03CE 01E0              ldi R16,1
 03D0 10E0              ldi R17,0
 03D2                   .dbline -2
 03D2           L41:
 03D2 2496              adiw R28,4
 03D4 00D0              rcall pop_gset1
 03D6                   .dbline 0 ; func end
 03D6 0895              ret
 03D8                   .dbsym l tem 0 A[4:4]c
 03D8                   .dbsym r i 20 c
 03D8                   .dbsym r DA_SET 20 i
 03D8                   .dbend
 03D8                   .dbfunc e TC1321_SET_1 _TC1321_SET_1 fI
 03D8           ;            tem -> y+0
 03D8           ;              i -> R20
 03D8           ;         DA_SET -> R20,R21
                        .even
 03D8           _TC1321_SET_1::
 03D8 00D0              rcall push_gset1
 03DA A801              movw R20,R16
 03DC 2497              sbiw R28,4
 03DE                   .dbline -1
 03DE                   .dbline 308
 03DE           ; }
 03DE           ; /********************************************************************/
 03DE           ; TC1321_SET_1(unsigned int DA_SET)
 03DE           ; {
 03DE                   .dbline 311
 03DE           ;    unsigned char i;
 03DE           ;    unsigned char tem[4];
 03DE           ;    tem[0]=0x90;                       
 03DE 80E9              ldi R24,144
 03E0 8883              std y+0,R24
 03E2                   .dbline 312
 03E2           ;    tem[1]=0x00;                        
 03E2 2224              clr R2
 03E4 2982              std y+1,R2
 03E6                   .dbline 313
 03E6           ;    tem[2]=DA_SET/4;           
 03E6 1A01              movw R2,R20
 03E8 3694              lsr R3
 03EA 2794              ror R2
 03EC 3694              lsr R3
 03EE 2794              ror R2
 03F0 2A82              std y+2,R2
 03F2                   .dbline 314
 03F2           ;    tem[3]=DA_SET%4;           
 03F2 CA01              movw R24,R20
 03F4 8370              andi R24,3
 03F6 9070              andi R25,0
 03F8 8B83              std y+3,R24
 03FA                   .dbline 315
 03FA           ;    tem[3]=tem[3]<<6;  
 03FA 282E              mov R2,R24
 03FC 220C              lsl R2
 03FE 220C              lsl R2
 0400 220C              lsl R2
 0402 220C              lsl R2
 0404 220C              lsl R2
 0406 220C              lsl R2
 0408 2B82              std y+3,R2
 040A                   .dbline 317
 040A           ; 
 040A           ;    Start_I2c();             
 040A E0DE              rcall _Start_I2c
 040C                   .dbline 318
 040C           ;      for(i=0;i<4;i++)
 040C 4427              clr R20
 040E 0FC0              rjmp L64
 0410           L61:
 0410                   .dbline 319
 0410           ;     {   
 0410                   .dbline 320
 0410           ;      SendByte(tem[i]);            

⌨️ 快捷键说明

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