📄 discharger.lis
字号:
04D2 2C82 std y+4,R2
04D4 20900F00 lds R2,_min
04D8 2A82 std y+2,R2
04DA 20901000 lds R2,_hour
04DE 2882 std y+0,R2
04E0 21E0 ldi R18,1
04E2 0BE0 ldi R16,11
04E4 00D0 rcall _LCD_write_time
04E6 .dbline 188
04E6 L87:
04E6 .dbline -2
04E6 L86:
04E6 2796 adiw R28,7
04E8 00D0 rcall pop_gset1
04EA .dbline 0 ; func end
04EA 0895 ret
04EC .dbsym r ID 20 c
04EC .dbend
04EC .dbfunc e Discharging _Discharging fV
04EC ; ID -> R10
.even
04EC _Discharging::
04EC 00D0 rcall push_gset3
04EE 2997 sbiw R28,9
04F0 .dbline -1
04F0 .dbline 192
04F0 ; LCD_write_string(0,1,"Start",10);
04F0 ; LCD_write_time(11,1,hour,min,sec,5);
04F0 ; }
04F0 ; }
04F0 ;
04F0 ; void Discharging(void)
04F0 ; {
04F0 .dbline 193
04F0 ; unsigned char ID=11;
04F0 8BE0 ldi R24,11
04F2 A82E mov R10,R24
04F4 .dbline 194
04F4 ; if(RunTab==ID)
04F4 20901100 lds R2,_RunTab
04F8 2816 cp R2,R24
04FA 09F0 breq X17
04FC 7CC0 rjmp L93
04FE X17:
04FE .dbline 195
04FE ; {
04FE .dbline 196
04FE ; if(keyboard!=0)
04FE 20903200 lds R2,_keyboard
0502 2220 tst R2
0504 49F0 breq L95
0506 .dbline 197
0506 ; {
0506 .dbline 198
0506 ; if(keyboard==back){RunTab=2;}
0506 822D mov R24,R2
0508 8830 cpi R24,8
050A 19F4 brne L97
050C .dbline 198
050C .dbline 198
050C 82E0 ldi R24,2
050E 80931100 sts _RunTab,R24
0512 .dbline 198
0512 L97:
0512 .dbline 200
0512 ;
0512 ; keyboard=0;
0512 2224 clr R2
0514 20923200 sts _keyboard,R2
0518 .dbline 201
0518 ; }
0518 L95:
0518 .dbline 203
0518 ; //LCD_write_string(0,0,Menu[path],15);
0518 ; LCD_write_number(0,0,3,BT1_V,"V",6);
0518 86E0 ldi R24,6
051A 8887 std y+8,R24
051C 80E0 ldi R24,<L99
051E 90E0 ldi R25,>L99
0520 9F83 std y+7,R25
0522 8E83 std y+6,R24
0524 20901E00 lds R2,_BT1_V
0528 30901F00 lds R3,_BT1_V+1
052C 4424 clr R4
052E 5524 clr R5
0530 2A82 std y+2,R2
0532 3B82 std y+3,R3
0534 4C82 std y+4,R4
0536 5D82 std y+5,R5
0538 83E0 ldi R24,3
053A 8883 std y+0,R24
053C 2227 clr R18
053E 0027 clr R16
0540 00D0 rcall _LCD_write_number
0542 .dbline 204
0542 ; LCD_write_number(0,1,3,BT1_I,"A",6);
0542 86E0 ldi R24,6
0544 8887 std y+8,R24
0546 80E0 ldi R24,<L100
0548 90E0 ldi R25,>L100
054A 9F83 std y+7,R25
054C 8E83 std y+6,R24
054E 20901C00 lds R2,_BT1_I
0552 30901D00 lds R3,_BT1_I+1
0556 4424 clr R4
0558 5524 clr R5
055A 2A82 std y+2,R2
055C 3B82 std y+3,R3
055E 4C82 std y+4,R4
0560 5D82 std y+5,R5
0562 83E0 ldi R24,3
0564 8883 std y+0,R24
0566 21E0 ldi R18,1
0568 0027 clr R16
056A 00D0 rcall _LCD_write_number
056C .dbline 205
056C ; if(BT1_state&(1<<2))
056C 20902000 lds R2,_BT1_state
0570 22FE sbrs R2,2
0572 0AC0 rjmp L101
0574 .dbline 206
0574 ; LCD_write_string(7,0,"Finish",15);
0574 8FE0 ldi R24,15
0576 8A83 std y+2,R24
0578 80E0 ldi R24,<L103
057A 90E0 ldi R25,>L103
057C 9983 std y+1,R25
057E 8883 std y+0,R24
0580 2227 clr R18
0582 07E0 ldi R16,7
0584 00D0 rcall _LCD_write_string
0586 15C0 rjmp L102
0588 L101:
0588 .dbline 208
0588 ; else
0588 ; LCD_write_number(7,0,0,PWM,"PWM",0);
0588 2224 clr R2
058A 2886 std y+8,R2
058C 80E0 ldi R24,<L104
058E 90E0 ldi R25,>L104
0590 9F83 std y+7,R25
0592 8E83 std y+6,R24
0594 20900E00 lds R2,_PWM
0598 30900F00 lds R3,_PWM+1
059C 4424 clr R4
059E 5524 clr R5
05A0 2A82 std y+2,R2
05A2 3B82 std y+3,R3
05A4 4C82 std y+4,R4
05A6 5D82 std y+5,R5
05A8 2224 clr R2
05AA 2882 std y+0,R2
05AC 2227 clr R18
05AE 07E0 ldi R16,7
05B0 00D0 rcall _LCD_write_number
05B2 L102:
05B2 .dbline 209
05B2 8FE0 ldi R24,15
05B4 8887 std y+8,R24
05B6 80E0 ldi R24,<L105
05B8 90E0 ldi R25,>L105
05BA 9F83 std y+7,R25
05BC 8E83 std y+6,R24
05BE 44E6 ldi R20,100
05C0 50E0 ldi R21,0
05C2 60E0 ldi R22,0
05C4 70E0 ldi R23,0
05C6 40900C00 lds R4,_BT1_mAh+2
05CA 50900D00 lds R5,_BT1_mAh+2+1
05CE 20900A00 lds R2,_BT1_mAh
05D2 30900B00 lds R3,_BT1_mAh+1
05D6 7A93 st -y,R23
05D8 6A93 st -y,R22
05DA 5A93 st -y,R21
05DC 4A93 st -y,R20
05DE 8101 movw R16,R2
05E0 9201 movw R18,R4
05E2 00D0 rcall div32u
05E4 0A83 std y+2,R16
05E6 1B83 std y+3,R17
05E8 2C83 std y+4,R18
05EA 3D83 std y+5,R19
05EC 81E0 ldi R24,1
05EE 8883 std y+0,R24
05F0 21E0 ldi R18,1
05F2 07E0 ldi R16,7
05F4 00D0 rcall _LCD_write_number
05F6 .dbline 210
05F6 L93:
05F6 .dbline -2
05F6 L92:
05F6 2996 adiw R28,9
05F8 00D0 rcall pop_gset3
05FA .dbline 0 ; func end
05FA 0895 ret
05FC .dbsym r ID 10 c
05FC .dbend
05FC .dbfunc e D882 _D882 fV
05FC ; ID -> R20
.even
05FC _D882::
05FC 00D0 rcall push_gset1
05FE 2997 sbiw R28,9
0600 .dbline -1
0600 .dbline 214
0600 ; LCD_write_number(7,1,1,BT1_mAh/100,"mAh",15);
0600 ; }
0600 ; }
0600 ;
0600 ; void D882(void)
0600 ; {
0600 .dbline 215
0600 ; unsigned char ID=12;
0600 4CE0 ldi R20,12
0602 .dbline 216
0602 ; if(RunTab==ID)
0602 20901100 lds R2,_RunTab
0606 2416 cp R2,R20
0608 09F0 breq X18
060A 60C0 rjmp L107
060C X18:
060C .dbline 217
060C ; {
060C .dbline 218
060C ; if(keyboard!=0)
060C 20903200 lds R2,_keyboard
0610 2220 tst R2
0612 49F0 breq L109
0614 .dbline 219
0614 ; {
0614 .dbline 220
0614 ; if(keyboard==back){RunTab=2;}
0614 822D mov R24,R2
0616 8830 cpi R24,8
0618 19F4 brne L111
061A .dbline 220
061A .dbline 220
061A 82E0 ldi R24,2
061C 80931100 sts _RunTab,R24
0620 .dbline 220
0620 L111:
0620 .dbline 222
0620 ;
0620 ; keyboard=0;
0620 2224 clr R2
0622 20923200 sts _keyboard,R2
0626 .dbline 223
0626 ; }
0626 L109:
0626 .dbline 224
0626 86E0 ldi R24,6
0628 8A83 std y+2,R24
062A 20903300 lds R2,_path
062E 82E0 ldi R24,2
0630 829D mul R24,R2
0632 F001 movw R30,R0
0634 80E0 ldi R24,<_Menu
0636 90E0 ldi R25,>_Menu
0638 E80F add R30,R24
063A F91F adc R31,R25
063C 2080 ldd R2,z+0
063E 3180 ldd R3,z+1
0640 3982 std y+1,R3
0642 2882 std y+0,R2
0644 2227 clr R18
0646 0027 clr R16
0648 00D0 rcall _LCD_write_string
064A .dbline 225
064A 8AE0 ldi R24,10
064C 8887 std y+8,R24
064E 80E0 ldi R24,<L113
0650 90E0 ldi R25,>L113
0652 9F83 std y+7,R25
0654 8E83 std y+6,R24
0656 40900800 lds R4,_BT1_time+2
065A 50900900 lds R5,_BT1_time+2+1
065E 20900600 lds R2,_BT1_time
0662 30900700 lds R3,_BT1_time+1
0666 2A82 std y+2,R2
0668 3B82 std y+3,R3
066A 4C82 std y+4,R4
066C 5D82 std y+5,R5
066E 2224 clr R2
0670 2882 std y+0,R2
0672 2227 clr R18
0674 07E0 ldi R16,7
0676 00D0 rcall _LCD_write_number
0678 .dbline 226
0678 2224 clr R2
067A 2886 std y+8,R2
067C 80E0 ldi R24,<L114
067E 90E0 ldi R25,>L114
0680 9F83 std y+7,R25
0682 8E83 std y+6,R24
0684 20901A00 lds R2,_BT1_T
0688 30901B00 lds R3,_BT1_T+1
068C 4424 clr R4
068E 5524 clr R5
0690 2A82 std y+2,R2
0692 3B82 std y+3,R3
0694 4C82 std y+4,R4
0696 5D82 std y+5,R5
0698 81E0 ldi R24,1
069A 8883 std y+0,R24
069C 21E0 ldi R18,1
069E 0027 clr R16
06A0 00D0 rcall _LCD_write_number
06A2 .dbline 227
06A2 2224 clr R2
06A4 2886 std y+8,R2
06A6 80E0 ldi R24,<L115
06A8 90E0 ldi R25,>L115
06AA 9F83 std y+7,R25
06AC 8E83 std y+6,R24
06AE 20900200 lds R2,_D882_P
06B2 30900300 lds R3,_D882_P+1
06B6 4424 clr R4
06B8 5524 clr R5
06BA 2A82 std y+2,R2
06BC 3B82 std y+3,R3
06BE 4C82 std y+4,R4
06C0 5D82 std y+5,R5
06C2 2224 clr R2
06C4 2882 std y+0,R2
06C6 21E0 ldi R18,1
06C8 07E0 ldi R16,7
06CA 00D0 rcall _LCD_write_number
06CC .dbline 228
06CC L107:
06CC .dbline -2
06CC L106:
06CC 2996 adiw R28,9
06CE 00D0 rcall pop_gset1
06D0 .dbline 0 ; func end
06D0 0895 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -