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