📄 discharger.lis
字号:
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 + -