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

📄 discharger.lis

📁 单片机 mega16L 电池放电器源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0110 240E              add R2,R20
 0112 351E              adc R3,R21
 0114 461E              adc R4,R22
 0116 571E              adc R5,R23
 0118 30920700          sts _BT1_time+1,R3
 011C 20920600          sts _BT1_time,R2
 0120 50920900          sts _BT1_time+2+1,R5
 0124 40920800          sts _BT1_time+2,R4
 0128                   .dbline 89
 0128 8DE7              ldi R24,125
 012A 90E0              ldi R25,0
 012C 90932600          sts _sc_discharge+1,R25
 0130 80932500          sts _sc_discharge,R24
 0134                   .dbline 89
 0134           L26:
 0134                   .dbline 90
 0134           ;  if(sc_bt1_v_temp==0)
 0134 20902100          lds R2,_sc_bt1_v_temp
 0138 30902200          lds R3,_sc_bt1_v_temp+1
 013C 2220              tst R2
 013E B1F4              brne L28
 0140 3320              tst R3
 0142 A1F4              brne L28
 0144           X3:
 0144                   .dbline 91
 0144           ;     {bt1_v_temp+=BT1_V;sc_bt1_v_temp=500;}
 0144                   .dbline 91
 0144 20901E00          lds R2,_BT1_V
 0148 30901F00          lds R3,_BT1_V+1
 014C 40901400          lds R4,_bt1_v_temp
 0150 50901500          lds R5,_bt1_v_temp+1
 0154 420C              add R4,R2
 0156 531C              adc R5,R3
 0158 50921500          sts _bt1_v_temp+1,R5
 015C 40921400          sts _bt1_v_temp,R4
 0160                   .dbline 91
 0160 84EF              ldi R24,500
 0162 91E0              ldi R25,1
 0164 90932200          sts _sc_bt1_v_temp+1,R25
 0168 80932100          sts _sc_bt1_v_temp,R24
 016C                   .dbline 91
 016C           L28:
 016C                   .dbline 92
 016C           ;  if(sc_bt1_record==0)
 016C 20902300          lds R2,_sc_bt1_record
 0170 30902400          lds R3,_sc_bt1_record+1
 0174 2220              tst R2
 0176 49F4              brne L30
 0178 3320              tst R3
 017A 39F4              brne L30
 017C           X4:
 017C                   .dbline 93
 017C           ;     {bt1_v_record();sc_bt1_record=7500;}//每分钟记录一次电压
 017C                   .dbline 93
 017C 2AD1              rcall _bt1_v_record
 017E                   .dbline 93
 017E 8CE4              ldi R24,7500
 0180 9DE1              ldi R25,29
 0182 90932400          sts _sc_bt1_record+1,R25
 0186 80932300          sts _sc_bt1_record,R24
 018A                   .dbline 93
 018A           L30:
 018A                   .dbline 94
 018A           ;  if(sc_eeprom==0) 
 018A 20902700          lds R2,_sc_eeprom
 018E 30902800          lds R3,_sc_eeprom+1
 0192 2220              tst R2
 0194 19F5              brne L32
 0196 3320              tst R3
 0198 09F5              brne L32
 019A           X5:
 019A                   .dbline 95
 019A           ;   {
 019A                   .dbline 96
 019A           ;    if(BT1_V<2000)
 019A 80911E00          lds R24,_BT1_V
 019E 90911F00          lds R25,_BT1_V+1
 01A2 803D              cpi R24,208
 01A4 E7E0              ldi R30,7
 01A6 9E07              cpc R25,R30
 01A8 08F4              brsh L34
 01AA                   .dbline 97
 01AA           ;       {discharge_stop();} 
 01AA                   .dbline 97
 01AA BCD5              rcall _discharge_stop
 01AC                   .dbline 97
 01AC           L34:
 01AC                   .dbline 98
 01AC           ;     EEPROM_WRITE(0x01F0,BT1_mAh);
 01AC 84E0              ldi R24,4
 01AE 90E0              ldi R25,0
 01B0 9983              std y+1,R25
 01B2 8883              std y+0,R24
 01B4 20E0              ldi R18,<_BT1_mAh
 01B6 30E0              ldi R19,>_BT1_mAh
 01B8 00EF              ldi R16,496
 01BA 11E0              ldi R17,1
 01BC 00D0              rcall _EEPROMWriteBytes
 01BE                   .dbline 99
 01BE           ;     EEPROM_WRITE(0x01F4,BT1_time);
 01BE 84E0              ldi R24,4
 01C0 90E0              ldi R25,0
 01C2 9983              std y+1,R25
 01C4 8883              std y+0,R24
 01C6 20E0              ldi R18,<_BT1_time
 01C8 30E0              ldi R19,>_BT1_time
 01CA 04EF              ldi R16,500
 01CC 11E0              ldi R17,1
 01CE 00D0              rcall _EEPROMWriteBytes
 01D0                   .dbline 100
 01D0           ;     sc_eeprom=1250;//每10秒保存一次
 01D0 82EE              ldi R24,1250
 01D2 94E0              ldi R25,4
 01D4 90932800          sts _sc_eeprom+1,R25
 01D8 80932700          sts _sc_eeprom,R24
 01DC                   .dbline 101
 01DC           ;       }
 01DC           L32:
 01DC                   .dbline 102
 01DC           ;       }
 01DC           L22:
 01DC                   .dbline 103
 01DC           ;   if(sc_bt_ctrl==0)
 01DC 20902900          lds R2,_sc_bt_ctrl
 01E0 30902A00          lds R3,_sc_bt_ctrl+1
 01E4 2220              tst R2
 01E6 21F5              brne L36
 01E8 3320              tst R3
 01EA 11F5              brne L36
 01EC           X6:
 01EC                   .dbline 104
 01EC           ;     {
 01EC                   .dbline 105
 01EC           ;        BT1_I_Ctrl();
 01EC 34D8              rcall _BT1_I_Ctrl
 01EE                   .dbline 106
 01EE           ;       if((BT1_I>BT1_I_SET+5)||(BT1_I<BT1_I_SET-5))
 01EE 80911000          lds R24,_BT1_I_SET
 01F2 90911100          lds R25,_BT1_I_SET+1
 01F6 0596              adiw R24,5
 01F8 20901C00          lds R2,_BT1_I
 01FC 30901D00          lds R3,_BT1_I+1
 0200 8215              cp R24,R2
 0202 9305              cpc R25,R3
 0204 40F0              brlo L40
 0206 80911000          lds R24,_BT1_I_SET
 020A 90911100          lds R25,_BT1_I_SET+1
 020E 0597              sbiw R24,5
 0210 2816              cp R2,R24
 0212 3906              cpc R3,R25
 0214 38F4              brsh L38
 0216           L40:
 0216                   .dbline 107
 0216           ;           sc_bt_ctrl=2;//PWM高速调节
 0216 82E0              ldi R24,2
 0218 90E0              ldi R25,0
 021A 90932A00          sts _sc_bt_ctrl+1,R25
 021E 80932900          sts _sc_bt_ctrl,R24
 0222 06C0              rjmp L39
 0224           L38:
 0224                   .dbline 108
 0224           ;               else sc_bt_ctrl=48;//PWM低速调节
 0224 80E3              ldi R24,48
 0226 90E0              ldi R25,0
 0228 90932A00          sts _sc_bt_ctrl+1,R25
 022C 80932900          sts _sc_bt_ctrl,R24
 0230           L39:
 0230                   .dbline 109
 0230           L36:
 0230                   .dbline -2
 0230           L11:
 0230 2296              adiw R28,2
 0232 00D0              rcall pop_gset2
 0234                   .dbline 0 ; func end
 0234 0895              ret
 0236                   .dbend
 0236                   .dbfunc e system_clock _system_clock fV
                        .even
 0236           _system_clock::
 0236                   .dbline -1
 0236                   .dbline 113
 0236           ;        }
 0236           ; }
 0236           ; 
 0236           ; void system_clock(void)
 0236           ;   {  //每个节拍为8ms
 0236                   .dbline 114
 0236           ;      if(sc_timer_dealy!=0)  sc_timer_dealy--;
 0236 20903000          lds R2,_sc_timer_dealy
 023A 2220              tst R2
 023C 21F0              breq L42
 023E                   .dbline 114
 023E 822D              mov R24,R2
 0240 8150              subi R24,1
 0242 80933000          sts _sc_timer_dealy,R24
 0246           L42:
 0246                   .dbline 115
 0246           ;      if(sc_keyboard_scan!=0)  sc_keyboard_scan--;
 0246 20902F00          lds R2,_sc_keyboard_scan
 024A 2220              tst R2
 024C 21F0              breq L44
 024E                   .dbline 115
 024E 822D              mov R24,R2
 0250 8150              subi R24,1
 0252 80932F00          sts _sc_keyboard_scan,R24
 0256           L44:
 0256                   .dbline 116
 0256           ;        if(sc_key_delay!=0)  sc_key_delay--;
 0256 20902D00          lds R2,_sc_key_delay
 025A 2220              tst R2
 025C 21F0              breq L46
 025E                   .dbline 116
 025E 822D              mov R24,R2
 0260 8150              subi R24,1
 0262 80932D00          sts _sc_key_delay,R24
 0266           L46:
 0266                   .dbline 117
 0266           ;        if(sc_lcd_write!=0)  sc_lcd_write--;
 0266 20902E00          lds R2,_sc_lcd_write
 026A 2220              tst R2
 026C 21F0              breq L48
 026E                   .dbline 117
 026E 822D              mov R24,R2
 0270 8150              subi R24,1
 0272 80932E00          sts _sc_lcd_write,R24
 0276           L48:
 0276                   .dbline 124
 0276           ; /*     
 0276           ;      if(sc_G_ht!=0)  sc_G_ht--;
 0276           ;        if(sc_G_cy!=0)  sc_G_cy--;
 0276           ;        if(sc_R_ht!=0)  sc_R_ht--;
 0276           ;        if(sc_R_cy!=0)  sc_R_cy--;
 0276           ; */
 0276           ;        if(sc_bt1!=0)  sc_bt1--; 
 0276 20902B00          lds R2,_sc_bt1
 027A 30902C00          lds R3,_sc_bt1+1
 027E 2220              tst R2
 0280 11F4              brne X8
 0282 3320              tst R3
 0284 49F0              breq L50
 0286           X8:
 0286                   .dbline 124
 0286 80912B00          lds R24,_sc_bt1
 028A 90912C00          lds R25,_sc_bt1+1
 028E 0197              sbiw R24,1
 0290 90932C00          sts _sc_bt1+1,R25
 0294 80932B00          sts _sc_bt1,R24
 0298           L50:
 0298                   .dbline 125
 0298           ;        if(sc_discharge!=0)  sc_discharge--; 
 0298 20902500          lds R2,_sc_discharge
 029C 30902600          lds R3,_sc_discharge+1
 02A0 2220              tst R2
 02A2 11F4              brne X9
 02A4 3320              tst R3
 02A6 49F0              breq L52
 02A8           X9:
 02A8                   .dbline 125
 02A8 80912500          lds R24,_sc_discharge
 02AC 90912600          lds R25,_sc_discharge+1
 02B0 0197              sbiw R24,1
 02B2 90932600          sts _sc_discharge+1,R25
 02B6 80932500          sts _sc_discharge,R24
 02BA           L52:
 02BA                   .dbline 126
 02BA           ;        if(sc_eeprom!=0)  sc_eeprom--; 
 02BA 20902700          lds R2,_sc_eeprom
 02BE 30902800          lds R3,_sc_eeprom+1
 02C2 2220              tst R2
 02C4 11F4              brne X10
 02C6 3320              tst R3
 02C8 49F0              breq L54
 02CA           X10:
 02CA                   .dbline 126
 02CA 80912700          lds R24,_sc_eeprom
 02CE 90912800          lds R25,_sc_eeprom+1
 02D2 0197              sbiw R24,1
 02D4 90932800          sts _sc_eeprom+1,R25
 02D8 80932700          sts _sc_eeprom,R24
 02DC           L54:
 02DC                   .dbline 127
 02DC           ;        if(sc_bt1_record!=0)  sc_bt1_record--;
 02DC 20902300          lds R2,_sc_bt1_record
 02E0 30902400          lds R3,_sc_bt1_record+1
 02E4 2220              tst R2
 02E6 11F4              brne X11
 02E8 3320              tst R3
 02EA 49F0              breq L56
 02EC           X11:
 02EC                   .dbline 127
 02EC 80912300          lds R24,_sc_bt1_record
 02F0 90912400          lds R25,_sc_bt1_record+1
 02F4 0197              sbiw R24,1
 02F6 90932400          sts _sc_bt1_record+1,R25
 02FA 80932300          sts _sc_bt1_record,R24
 02FE           L56:
 02FE                   .dbline 128
 02FE           ;        if(sc_bt1_v_temp!=0)  sc_bt1_v_temp--;
 02FE 20902100          lds R2,_sc_bt1_v_temp
 0302 30902200          lds R3,_sc_bt1_v_temp+1
 0306 2220              tst R2
 0308 11F4              brne X12
 030A 3320              tst R3
 030C 49F0              breq L58
 030E           X12:
 030E                   .dbline 128
 030E 80912100          lds R24,_sc_bt1_v_temp
 0312 90912200          lds R25,_sc_bt1_v_temp+1
 0316 0197              sbiw R24,1
 0318 90932200          sts _sc_bt1_v_temp+1,R25
 031C 80932100          sts _sc_bt1_v_temp,R24
 0320           L58:
 0320                   .dbline 129
 0320 20902900          lds R2,_sc_bt_ctrl
 0324 30902A00          lds R3,_sc_bt_ctrl+1
 0328 2220              tst R2
 032A 11F4              brne X13
 032C 3320              tst R3
 032E 49F0              breq L60
 0330           X13:
 0330                   .dbline 129
 0330 80912900          lds R24,_sc_bt_ctrl
 0334 90912A00          lds R25,_sc_bt_ctrl+1
 0338 0197              sbiw R24,1
 033A 90932A00          sts _sc_bt_ctrl+1,R25
 033E 80932900          sts _sc_bt_ctrl,R24
 0342           L60:
 0342                   .dbline -2
 0342           L41:
 0342                   .dbline 0 ; func end
 0342 0895              ret
 0344                   .dbend
 0344                   .dbfunc e Run_Turn _Run_Turn fV
                        .even
 0344           _Run_Turn::

⌨️ 快捷键说明

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