📄 main.lis
字号:
0534 ; ID -> R20
.even
0534 _Capacitance_setting::
0534 00D0 rcall push_gset1
0536 2997 sbiw R28,9
0538 .dbline -1
0538 .dbline 192
0538 ; }
0538 ; void discharge_init(void)
0538 ; {
0538 ; BT1_V=T_BT1_V();
0538 ; if((BT1_V>2000)&&BT1_state==0)//
0538 ; {
0538 ; BT1_state|=(1<<0);
0538 ; RunTab=10;
0538 ; }
0538 ; }
0538 ; void Capacitance_setting(void)
0538 ; {
0538 .dbline 193
0538 ; unsigned char ID=10;
0538 4AE0 ldi R20,10
053A .dbline 194
053A ; if(RunTab==ID)
053A 20900000 lds R2,_RunTab
053E 2416 cp R2,R20
0540 09F0 breq X21
0542 92C0 rjmp L77
0544 X21:
0544 .dbline 195
0544 ; {
0544 .dbline 196
0544 ; if((keyboard==up)&&mAh_set<4000)
0544 80913500 lds R24,_keyboard
0548 8130 cpi R24,1
054A 91F4 brne L79
054C 80910400 lds R24,_mAh_set
0550 90910500 lds R25,_mAh_set+1
0554 803A cpi R24,160
0556 EFE0 ldi R30,15
0558 9E07 cpc R25,R30
055A 50F4 brsh L79
055C .dbline 197
055C ; {keyboard=0;mAh_set+=100;}
055C .dbline 197
055C 2224 clr R2
055E 20923500 sts _keyboard,R2
0562 .dbline 197
0562 8C59 subi R24,156 ; offset = 100
0564 9F4F sbci R25,255
0566 90930500 sts _mAh_set+1,R25
056A 80930400 sts _mAh_set,R24
056E .dbline 197
056E 49C0 rjmp L80
0570 L79:
0570 .dbline 198
0570 ; else if((keyboard==down)&&mAh_set>100)
0570 80913500 lds R24,_keyboard
0574 8230 cpi R24,2
0576 B9F4 brne L81
0578 84E6 ldi R24,100
057A 90E0 ldi R25,0
057C 20900400 lds R2,_mAh_set
0580 30900500 lds R3,_mAh_set+1
0584 8215 cp R24,R2
0586 9305 cpc R25,R3
0588 70F4 brsh L81
058A .dbline 199
058A ; {keyboard=0;mAh_set-=100;}
058A .dbline 199
058A 2224 clr R2
058C 20923500 sts _keyboard,R2
0590 .dbline 199
0590 80910400 lds R24,_mAh_set
0594 90910500 lds R25,_mAh_set+1
0598 8456 subi R24,100
059A 9040 sbci R25,0
059C 90930500 sts _mAh_set+1,R25
05A0 80930400 sts _mAh_set,R24
05A4 .dbline 199
05A4 2EC0 rjmp L82
05A6 L81:
05A6 .dbline 200
05A6 ; else if(keyboard==pagedown)
05A6 80913500 lds R24,_keyboard
05AA 8830 cpi R24,8
05AC 51F5 brne L83
05AE .dbline 201
05AE ; {
05AE .dbline 202
05AE ; keyboard=0;
05AE 2224 clr R2
05B0 20923500 sts _keyboard,R2
05B4 .dbline 203
05B4 ; EEPROM_READ(0x01F0,BT1_mAh);
05B4 84E0 ldi R24,4
05B6 90E0 ldi R25,0
05B8 9983 std y+1,R25
05BA 8883 std y+0,R24
05BC 20E0 ldi R18,<_BT1_mAh
05BE 30E0 ldi R19,>_BT1_mAh
05C0 00EF ldi R16,496
05C2 11E0 ldi R17,1
05C4 00D0 rcall _EEPROMReadBytes
05C6 .dbline 204
05C6 ; EEPROM_READ(0x01F4,BT1_time);
05C6 84E0 ldi R24,4
05C8 90E0 ldi R25,0
05CA 9983 std y+1,R25
05CC 8883 std y+0,R24
05CE 20E0 ldi R18,<_BT1_time
05D0 30E0 ldi R19,>_BT1_time
05D2 04EF ldi R16,500
05D4 11E0 ldi R17,1
05D6 00D0 rcall _EEPROMReadBytes
05D8 .dbline 205
05D8 ; EEPROM_READ(0x01FC,mAh_set);
05D8 82E0 ldi R24,2
05DA 90E0 ldi R25,0
05DC 9983 std y+1,R25
05DE 8883 std y+0,R24
05E0 20E0 ldi R18,<_mAh_set
05E2 30E0 ldi R19,>_mAh_set
05E4 0CEF ldi R16,508
05E6 11E0 ldi R17,1
05E8 00D0 rcall _EEPROMReadBytes
05EA .dbline 206
05EA ; EEPROM_READ(0x01FE,speed);
05EA 81E0 ldi R24,1
05EC 90E0 ldi R25,0
05EE 9983 std y+1,R25
05F0 8883 std y+0,R24
05F2 20E0 ldi R18,<_speed
05F4 30E0 ldi R19,>_speed
05F6 0EEF ldi R16,510
05F8 11E0 ldi R17,1
05FA 00D0 rcall _EEPROMReadBytes
05FC .dbline 207
05FC ; RunTab=12;
05FC 8CE0 ldi R24,12
05FE 80930000 sts _RunTab,R24
0602 .dbline 208
0602 ; }
0602 L83:
0602 L82:
0602 L80:
0602 .dbline 209
0602 2224 clr R2
0604 2A82 std y+2,R2
0606 80E0 ldi R24,<L85
0608 90E0 ldi R25,>L85
060A 9983 std y+1,R25
060C 8883 std y+0,R24
060E 2227 clr R18
0610 0027 clr R16
0612 00D0 rcall _LCD_write_string
0614 .dbline 210
0614 88E0 ldi R24,8
0616 8887 std y+8,R24
0618 80E0 ldi R24,<L86
061A 90E0 ldi R25,>L86
061C 9F83 std y+7,R25
061E 8E83 std y+6,R24
0620 20900400 lds R2,_mAh_set
0624 30900500 lds R3,_mAh_set+1
0628 4424 clr R4
062A 5524 clr R5
062C 2A82 std y+2,R2
062E 3B82 std y+3,R3
0630 4C82 std y+4,R4
0632 5D82 std y+5,R5
0634 2224 clr R2
0636 2882 std y+0,R2
0638 21E0 ldi R18,1
063A 0027 clr R16
063C 00D0 rcall _LCD_write_number
063E .dbline 211
063E 8FE0 ldi R24,15
0640 8887 std y+8,R24
0642 80E0 ldi R24,<L87
0644 90E0 ldi R25,>L87
0646 9F83 std y+7,R25
0648 8E83 std y+6,R24
064A 20901E00 lds R2,_BT1_V
064E 30901F00 lds R3,_BT1_V+1
0652 4424 clr R4
0654 5524 clr R5
0656 2A82 std y+2,R2
0658 3B82 std y+3,R3
065A 4C82 std y+4,R4
065C 5D82 std y+5,R5
065E 83E0 ldi R24,3
0660 8883 std y+0,R24
0662 21E0 ldi R18,1
0664 0AE0 ldi R16,10
0666 00D0 rcall _LCD_write_number
0668 .dbline 212
0668 L77:
0668 .dbline -2
0668 L76:
0668 2996 adiw R28,9
066A 00D0 rcall pop_gset1
066C .dbline 0 ; func end
066C 0895 ret
066E .dbsym r ID 20 c
066E .dbend
066E .dbfunc e discharge_speed _discharge_speed fV
066E ; ID -> R20
.even
066E _discharge_speed::
066E 00D0 rcall push_gset1
0670 2997 sbiw R28,9
0672 .dbline -1
0672 .dbline 215
0672 ; LCD_write_string(0,0,"Capacitance",0);
0672 ; LCD_write_number(0,1,0,mAh_set,"mAh",8);
0672 ; LCD_write_number(10,1,3,BT1_V,"V",15);
0672 ; }
0672 ; }
0672 ; void discharge_speed(void)
0672 ; {
0672 .dbline 216
0672 ; unsigned char ID=11;
0672 4BE0 ldi R20,11
0674 .dbline 217
0674 ; if(RunTab==ID)
0674 20900000 lds R2,_RunTab
0678 2416 cp R2,R20
067A 09F0 breq X22
067C 84C0 rjmp L89
067E X22:
067E .dbline 218
067E ; {
067E .dbline 219
067E ; LCD_write_string(0,0,"speed",0);
067E 2224 clr R2
0680 2A82 std y+2,R2
0682 80E0 ldi R24,<L91
0684 90E0 ldi R25,>L91
0686 9983 std y+1,R25
0688 8883 std y+0,R24
068A 2227 clr R18
068C 0027 clr R16
068E 00D0 rcall _LCD_write_string
0690 .dbline 220
0690 ; LCD_write_number(9,0,0,6000/speed,"min",15);
0690 8FE0 ldi R24,15
0692 8887 std y+8,R24
0694 80E0 ldi R24,<L92
0696 90E0 ldi R25,>L92
0698 9F83 std y+7,R25
069A 8E83 std y+6,R24
069C 20910600 lds R18,_speed
06A0 3327 clr R19
06A2 00E7 ldi R16,6000
06A4 17E1 ldi R17,23
06A6 00D0 rcall div16s
06A8 1801 movw R2,R16
06AA 4424 clr R4
06AC 37FC sbrc R3,7
06AE 4094 com R4
06B0 5524 clr R5
06B2 47FC sbrc R4,7
06B4 5094 com R5
06B6 2A82 std y+2,R2
06B8 3B82 std y+3,R3
06BA 4C82 std y+4,R4
06BC 5D82 std y+5,R5
06BE 2224 clr R2
06C0 2882 std y+0,R2
06C2 2227 clr R18
06C4 09E0 ldi R16,9
06C6 00D0 rcall _LCD_write_number
06C8 .dbline 221
06C8 ; LCD_write_number(0,1,2,speed,"C",8);
06C8 88E0 ldi R24,8
06CA 8887 std y+8,R24
06CC 80E0 ldi R24,<L93
06CE 90E0 ldi R25,>L93
06D0 9F83 std y+7,R25
06D2 8E83 std y+6,R24
06D4 20900600 lds R2,_speed
06D8 3324 clr R3
06DA 4424 clr R4
06DC 5524 clr R5
06DE 2A82 std y+2,R2
06E0 3B82 std y+3,R3
06E2 4C82 std y+4,R4
06E4 5D82 std y+5,R5
06E6 82E0 ldi R24,2
06E8 8883 std y+0,R24
06EA 21E0 ldi R18,1
06EC 0027 clr R16
06EE 00D0 rcall _LCD_write_number
06F0 .dbline 222
06F0 ; LCD_write_number(9,1,3,mAh_set/100*speed,"A",15);
06F0 8FE0 ldi R24,15
06F2 8887 std y+8,R24
06F4 80E0 ldi R24,<L94
06F6 90E0 ldi R25,>L94
06F8 9F83 std y+7,R25
06FA 8E83 std y+6,R24
06FC 24E6 ldi R18,100
06FE 30E0 ldi R19,0
0700 00910400 lds R16,_mAh_set
0704 10910500 lds R17,_mAh_set+1
0708 00D0 rcall div16u
070A 20910600 lds R18,_speed
070E 3327 clr R19
0710 00D0 rcall empy16s
0712 1801 movw R2,R16
0714 4424 clr R4
0716 5524 clr R5
0718 2A82 std y+2,R2
071A 3B82 std y+3,R3
071C 4C82 std y+4,R4
071E 5D82 std y+5,R5
0720 83E0 ldi R24,3
0722 8883 std y+0,R24
0724 21E0 ldi R18,1
0726 09E0 ldi R16,9
0728 00D0 rcall _LCD_write_number
072A .dbline 224
072A ;
072A ; if((keyboard==up)&&speed<120)
072A 80913500 lds R24,_keyboard
072E 8130 cpi R24,1
0730 59F4 brne L95
0732 80910600 lds R24,_speed
0736 8837 cpi R24,120
0738 38F4 brsh L95
073A .dbline 225
073A ; {keyboard=0;speed+=5;}
073A .dbline 225
073A 2224 clr R2
073C 20923500 sts _keyboard,R2
0740 .dbline 225
0740 8B5F subi R24,251 ; addi 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -