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

📄 main.lis

📁 单片机 mega16L 电池放电器源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0162           ;    if(BT1_V<2000)
 0162 80911E00          lds R24,_BT1_V
 0166 90911F00          lds R25,_BT1_V+1
 016A 803D              cpi R24,208
 016C E7E0              ldi R30,7
 016E 9E07              cpc R25,R30
 0170 08F4              brsh L19
 0172                   .dbline 86
 0172           ;       {discharge_stop();} 
 0172                   .dbline 86
 0172 AFD1              rcall _discharge_stop
 0174                   .dbline 86
 0174           L19:
 0174                   .dbline 87
 0174           ;     EEPROM_WRITE(0x01F0,BT1_mAh);
 0174 84E0              ldi R24,4
 0176 90E0              ldi R25,0
 0178 9983              std y+1,R25
 017A 8883              std y+0,R24
 017C 20E0              ldi R18,<_BT1_mAh
 017E 30E0              ldi R19,>_BT1_mAh
 0180 00EF              ldi R16,496
 0182 11E0              ldi R17,1
 0184 00D0              rcall _EEPROMWriteBytes
 0186                   .dbline 88
 0186           ;     EEPROM_WRITE(0x01F4,BT1_time);
 0186 84E0              ldi R24,4
 0188 90E0              ldi R25,0
 018A 9983              std y+1,R25
 018C 8883              std y+0,R24
 018E 20E0              ldi R18,<_BT1_time
 0190 30E0              ldi R19,>_BT1_time
 0192 04EF              ldi R16,500
 0194 11E0              ldi R17,1
 0196 00D0              rcall _EEPROMWriteBytes
 0198                   .dbline 89
 0198           ;     sc_eeprom=1250;
 0198 82EE              ldi R24,1250
 019A 94E0              ldi R25,4
 019C 90932A00          sts _sc_eeprom+1,R25
 01A0 80932900          sts _sc_eeprom,R24
 01A4                   .dbline 90
 01A4           ;       }
 01A4           L17:
 01A4                   .dbline 91
 01A4           ;   if(sc_bt_ctrl==0)
 01A4 20902D00          lds R2,_sc_bt_ctrl
 01A8 30902E00          lds R3,_sc_bt_ctrl+1
 01AC 2220              tst R2
 01AE 21F5              brne L21
 01B0 3320              tst R3
 01B2 11F5              brne L21
 01B4           X7:
 01B4                   .dbline 92
 01B4           ;     {
 01B4                   .dbline 93
 01B4           ;        BT1_I_Ctrl();
 01B4 EAD6              rcall _BT1_I_Ctrl
 01B6                   .dbline 94
 01B6           ;       if((BT1_I>BT1_I_SET+5)||(BT1_I<BT1_I_SET-5))
 01B6 80911000          lds R24,_BT1_I_SET
 01BA 90911100          lds R25,_BT1_I_SET+1
 01BE 0596              adiw R24,5
 01C0 20901C00          lds R2,_BT1_I
 01C4 30901D00          lds R3,_BT1_I+1
 01C8 8215              cp R24,R2
 01CA 9305              cpc R25,R3
 01CC 40F0              brlo L25
 01CE 80911000          lds R24,_BT1_I_SET
 01D2 90911100          lds R25,_BT1_I_SET+1
 01D6 0597              sbiw R24,5
 01D8 2816              cp R2,R24
 01DA 3906              cpc R3,R25
 01DC 38F4              brsh L23
 01DE           L25:
 01DE                   .dbline 95
 01DE           ;           sc_bt_ctrl=2;
 01DE 82E0              ldi R24,2
 01E0 90E0              ldi R25,0
 01E2 90932E00          sts _sc_bt_ctrl+1,R25
 01E6 80932D00          sts _sc_bt_ctrl,R24
 01EA 06C0              rjmp L24
 01EC           L23:
 01EC                   .dbline 96
 01EC           ;               else sc_bt_ctrl=48;
 01EC 80E3              ldi R24,48
 01EE 90E0              ldi R25,0
 01F0 90932E00          sts _sc_bt_ctrl+1,R25
 01F4 80932D00          sts _sc_bt_ctrl,R24
 01F8           L24:
 01F8                   .dbline 97
 01F8           ;        }
 01F8           L21:
 01F8                   .dbline 98
 01F8           ;   }
 01F8           L11:
 01F8                   .dbline 99
 01F8           ;   if(sc_bt1_v_temp==0)
 01F8 20902100          lds R2,_sc_bt1_v_temp
 01FC 30902200          lds R3,_sc_bt1_v_temp+1
 0200 2220              tst R2
 0202 B1F4              brne L26
 0204 3320              tst R3
 0206 A1F4              brne L26
 0208           X8:
 0208                   .dbline 100
 0208           ;     {bt1_v_temp+=BT1_V;sc_bt1_v_temp=500;}
 0208                   .dbline 100
 0208 20901E00          lds R2,_BT1_V
 020C 30901F00          lds R3,_BT1_V+1
 0210 40901400          lds R4,_bt1_v_temp
 0214 50901500          lds R5,_bt1_v_temp+1
 0218 420C              add R4,R2
 021A 531C              adc R5,R3
 021C 50921500          sts _bt1_v_temp+1,R5
 0220 40921400          sts _bt1_v_temp,R4
 0224                   .dbline 100
 0224 84EF              ldi R24,500
 0226 91E0              ldi R25,1
 0228 90932200          sts _sc_bt1_v_temp+1,R25
 022C 80932100          sts _sc_bt1_v_temp,R24
 0230                   .dbline 100
 0230           L26:
 0230                   .dbline 101
 0230 20902500          lds R2,_sc_bt1_record
 0234 30902600          lds R3,_sc_bt1_record+1
 0238 2220              tst R2
 023A 49F4              brne L28
 023C 3320              tst R3
 023E 39F4              brne L28
 0240           X9:
 0240                   .dbline 102
 0240                   .dbline 102
 0240 CBD0              rcall _bt1_v_record
 0242                   .dbline 102
 0242 8CE4              ldi R24,7500
 0244 9DE1              ldi R25,29
 0246 90932600          sts _sc_bt1_record+1,R25
 024A 80932500          sts _sc_bt1_record,R24
 024E                   .dbline 102
 024E           L28:
 024E                   .dbline -2
 024E           L2:
 024E 2296              adiw R28,2
 0250 00D0              rcall pop_gset2
 0252                   .dbline 0 ; func end
 0252 0895              ret
 0254                   .dbend
 0254                   .dbfunc e taskmgr _taskmgr fV
                        .even
 0254           _taskmgr::
 0254                   .dbline -1
 0254                   .dbline 109
 0254           ;   if(sc_bt1_record==0)
 0254           ;     {bt1_v_record();sc_bt1_record=7500;}//每分钟记录一次电压
 0254           ; }
 0254           ; 
 0254           ; /*----------------------------------
 0254           ;         任务管理程序
 0254           ; ----------------------------------*/
 0254           ; void taskmgr(void)
 0254           ;   {  
 0254                   .dbline 110
 0254           ;        if(keyboard==pageup)
 0254 80913500          lds R24,_keyboard
 0258 8430              cpi R24,4
 025A 51F4              brne L31
 025C                   .dbline 111
 025C           ;          {
 025C                   .dbline 112
 025C           ;                if(RunTab!=3){RunTab++;keyboard=0;}
 025C 80910000          lds R24,_RunTab
 0260 8330              cpi R24,3
 0262 31F0              breq L33
 0264                   .dbline 112
 0264                   .dbline 112
 0264 8F5F              subi R24,255    ; addi 1
 0266 80930000          sts _RunTab,R24
 026A                   .dbline 112
 026A 2224              clr R2
 026C 20923500          sts _keyboard,R2
 0270                   .dbline 112
 0270           L33:
 0270                   .dbline 113
 0270           ;          }
 0270           L31:
 0270                   .dbline 114
 0270           ;        if(keyboard==pagedown)
 0270 80913500          lds R24,_keyboard
 0274 8830              cpi R24,8
 0276 51F4              brne L35
 0278                   .dbline 115
 0278           ;          {
 0278                   .dbline 116
 0278           ;            if(RunTab!=1){RunTab--;keyboard=0;}
 0278 80910000          lds R24,_RunTab
 027C 8130              cpi R24,1
 027E 31F0              breq L37
 0280                   .dbline 116
 0280                   .dbline 116
 0280 8150              subi R24,1
 0282 80930000          sts _RunTab,R24
 0286                   .dbline 116
 0286 2224              clr R2
 0288 20923500          sts _keyboard,R2
 028C                   .dbline 116
 028C           L37:
 028C                   .dbline 117
 028C           ;          }
 028C           L35:
 028C                   .dbline 118
 028C 20900000          lds R2,_RunTab
 0290 30903400          lds R3,_RunTab_old
 0294 3214              cp R3,R2
 0296 29F0              breq L39
 0298                   .dbline 119
 0298                   .dbline 119
 0298 00D0              rcall _LCD_clear
 029A                   .dbline 119
 029A 20900000          lds R2,_RunTab
 029E 20923400          sts _RunTab_old,R2
 02A2                   .dbline 119
 02A2           L39:
 02A2                   .dbline -2
 02A2           L30:
 02A2                   .dbline 0 ; func end
 02A2 0895              ret
 02A4                   .dbend
 02A4                   .dbfunc e system_clock _system_clock fV
                        .even
 02A4           _system_clock::
 02A4                   .dbline -1
 02A4                   .dbline 123
 02A4           ;         if(RunTab_old!=RunTab)
 02A4           ;            {LCD_clear();RunTab_old=RunTab;}
 02A4           ;   }
 02A4           ; 
 02A4           ; void system_clock(void)
 02A4           ;   {  //每个节拍为8ms
 02A4                   .dbline 124
 02A4           ;        if(sc_key!=0)  sc_key--; 
 02A4 20903100          lds R2,_sc_key
 02A8 30903200          lds R3,_sc_key+1
 02AC 2220              tst R2
 02AE 11F4              brne X11
 02B0 3320              tst R3
 02B2 49F0              breq L42
 02B4           X11:
 02B4                   .dbline 124
 02B4 80913100          lds R24,_sc_key
 02B8 90913200          lds R25,_sc_key+1
 02BC 0197              sbiw R24,1
 02BE 90933200          sts _sc_key+1,R25
 02C2 80933100          sts _sc_key,R24
 02C6           L42:
 02C6                   .dbline 125
 02C6           ;        if(sc_bt1!=0)  sc_bt1--; 
 02C6 20902F00          lds R2,_sc_bt1
 02CA 30903000          lds R3,_sc_bt1+1
 02CE 2220              tst R2
 02D0 11F4              brne X12
 02D2 3320              tst R3
 02D4 49F0              breq L44
 02D6           X12:
 02D6                   .dbline 125
 02D6 80912F00          lds R24,_sc_bt1
 02DA 90913000          lds R25,_sc_bt1+1
 02DE 0197              sbiw R24,1
 02E0 90933000          sts _sc_bt1+1,R25
 02E4 80932F00          sts _sc_bt1,R24
 02E8           L44:
 02E8                   .dbline 126
 02E8           ;        if(sc_discharge!=0)  sc_discharge--; 
 02E8 20902B00          lds R2,_sc_discharge
 02EC 30902C00          lds R3,_sc_discharge+1
 02F0 2220              tst R2
 02F2 11F4              brne X13
 02F4 3320              tst R3
 02F6 49F0              breq L46
 02F8           X13:
 02F8                   .dbline 126
 02F8 80912B00          lds R24,_sc_discharge
 02FC 90912C00          lds R25,_sc_discharge+1
 0300 0197              sbiw R24,1
 0302 90932C00          sts _sc_discharge+1,R25
 0306 80932B00          sts _sc_discharge,R24
 030A           L46:
 030A                   .dbline 127
 030A           ;        if(sc_eeprom!=0)  sc_eeprom--; 
 030A 20902900          lds R2,_sc_eeprom
 030E 30902A00          lds R3,_sc_eeprom+1
 0312 2220              tst R2
 0314 11F4              brne X14
 0316 3320              tst R3
 0318 49F0              breq L48
 031A           X14:
 031A                   .dbline 127
 031A 80912900          lds R24,_sc_eeprom
 031E 90912A00          lds R25,_sc_eeprom+1
 0322 0197              sbiw R24,1
 0324 90932A00          sts _sc_eeprom+1,R25
 0328 80932900          sts _sc_eeprom,R24
 032C           L48:
 032C                   .dbline 128
 032C           ;        if(sc_lcd_write!=0)  sc_lcd_write--;
 032C 20902700          lds R2,_sc_lcd_write
 0330 30902800          lds R3,_sc_lcd_write+1
 0334 2220              tst R2
 0336 11F4              brne X15
 0338 3320              tst R3
 033A 49F0              breq L50
 033C           X15:
 033C                   .dbline 128
 033C 80912700          lds R24,_sc_lcd_write
 0340 90912800          lds R25,_sc_lcd_write+1
 0344 0197              sbiw R24,1
 0346 90932800          sts _sc_lcd_write+1,R25
 034A 80932700          sts _sc_lcd_write,R24
 034E           L50:
 034E                   .dbline 129
 034E           ;        if(sc_bt1_record!=0)  sc_bt1_record--;
 034E 20902500          lds R2,_sc_bt1_record
 0352 30902600          lds R3,_sc_bt1_record+1
 0356 2220              tst R2
 0358 11F4              brne X16
 035A 3320              tst R3
 035C 49F0              breq L52
 035E           X16:
 035E                   .dbline 129
 035E 80912500          lds R24,_sc_bt1_record
 0362 90912600          lds R25,_sc_bt1_record+1
 0366 0197              sbiw R24,1
 0368 90932600          sts _sc_bt1_record+1,R25
 036C 80932500          sts _sc_bt1_record,R24
 0370           L52:
 0370                   .dbline 130
 0370           ;        if(sc_bt1_v_temp!=0)  sc_bt1_v_temp--;
 0370 20902100          lds R2,_sc_bt1_v_temp

⌨️ 快捷键说明

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