📄 charger.asm
字号:
; line 363
$DGL 0,24
clr1 _mode_change_flag ;[INF] 3, 6
; line 364
$DGL 0,25
mov _duty_pwm,#064H ; 100 ;[INF] 3, 6
; line 365
$DGL 0,26
mov _mode,a ;[INF] 2, 4
; line 366
$DGL 0,27
nop ;[INF] 1, 2
??eb02_timer_1s:
?L0122:
; line 369
$DGL 0,30
movw ax,_second ;[INF] 2, 6
cmpw ax,#01C20H ; 7200 ;[INF] 3, 6
bc $?L0124 ;[INF] 2, 6
bz $?L0124 ;[INF] 2, 6
; line 370
$DGL 0,31
??bb03_timer_1s:
; line 371
$DGL 0,32
set1 _mode_change_flag ;[INF] 3, 6
; line 372
$DGL 0,33
movw ax,#00H ; 0 ;[INF] 3, 6
movw _second,ax ;[INF] 2, 8
??eb03_timer_1s:
?L0124:
??eb00_timer_1s:
; line 375
$DGL 0,36
??ef_timer_1s:
pop ax ;[INF] 1, 6
reti ;[INF] 1, 8
??ee_timer_1s:
; line 380
_normal_work:
$DGL 1,245
??bf_normal_work:
; line 382
$DGL 0,3
set1 _current_check_start ;[INF] 3, 6
; line 384
$DGL 0,5
mov a,!_U1 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 385
$DGL 0,6
mov a,!_U2 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 386
$DGL 0,7
movw ax,_ADCR_U2 ;[INF] 2, 6
cmp a,_ADCR_U1+1 ;[INF] 2, 4
bnz $?L0130 ;[INF] 2, 6
xch a,x ;[INF] 1, 4
cmp a,_ADCR_U1 ;[INF] 2, 4
?L0130:
bnc $?L0128 ;[INF] 2, 6
; line 387
$DGL 0,8
??bb00_normal_work:
; line 388
$DGL 0,9
movw ax,_ADCR_U1 ;[INF] 2, 6
xch a,x ;[INF] 1, 4
sub a,_ADCR_U2 ;[INF] 2, 4
xch a,x ;[INF] 1, 4
subc a,_ADCR_U2+1 ;[INF] 2, 4
movw _@RTARG0,ax ;[INF] 2, 8
movw ax,_bit_current ;[INF] 2, 6
call !@@iumul ;[INF] 3, 6
movw _current1,ax ;[INF] 2, 8
; line 389
$DGL 0,10
mov c,#0AH ; 10 ;[INF] 3, 6
callt [@@divuw] ;[INF] 1, 8
movw _current1,ax ;[INF] 2, 8
??eb00_normal_work:
?L0128:
; line 392
$DGL 0,13
movw ax,#032H ; 50 ;[INF] 3, 6
call !_delay ;[INF] 3, 6
; line 394
$DGL 0,15
mov a,!_U1 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 395
$DGL 0,16
mov a,!_U2 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 396
$DGL 0,17
movw ax,_ADCR_U2 ;[INF] 2, 6
cmp a,_ADCR_U1+1 ;[INF] 2, 4
bnz $?L0133 ;[INF] 2, 6
xch a,x ;[INF] 1, 4
cmp a,_ADCR_U1 ;[INF] 2, 4
?L0133:
bnc $?L0131 ;[INF] 2, 6
; line 397
$DGL 0,18
??bb01_normal_work:
; line 398
$DGL 0,19
movw ax,_ADCR_U1 ;[INF] 2, 6
xch a,x ;[INF] 1, 4
sub a,_ADCR_U2 ;[INF] 2, 4
xch a,x ;[INF] 1, 4
subc a,_ADCR_U2+1 ;[INF] 2, 4
movw _@RTARG0,ax ;[INF] 2, 8
movw ax,_bit_current ;[INF] 2, 6
call !@@iumul ;[INF] 3, 6
movw _current2,ax ;[INF] 2, 8
; line 399
$DGL 0,20
mov c,#0AH ; 10 ;[INF] 3, 6
callt [@@divuw] ;[INF] 1, 8
movw _current2,ax ;[INF] 2, 8
??eb01_normal_work:
?L0131:
; line 402
$DGL 0,23
movw ax,_current1 ;[INF] 2, 6
clr1 CY ;[INF] 1, 2
rorc a,1 ;[INF] 1, 2
xch a,x ;[INF] 1, 4
rorc a,1 ;[INF] 1, 2
xch a,x ;[INF] 1, 4
movw bc,ax ;[INF] 1, 4
movw ax,_current2 ;[INF] 2, 6
clr1 CY ;[INF] 1, 2
rorc a,1 ;[INF] 1, 2
xch a,x ;[INF] 1, 4
rorc a,1 ;[INF] 1, 2
add a,c ;[INF] 2, 4
xch a,x ;[INF] 1, 4
addc a,b ;[INF] 2, 4
movw _current,ax ;[INF] 2, 8
; line 404
$DGL 0,25
clr1 _current_check_start ;[INF] 3, 6
; line 406
$DGL 0,27
call !_pwm_stop ;[INF] 3, 6
; line 408
$DGL 0,29
movw ax,#01388H ; 5000 ;[INF] 3, 6
call !_delay ;[INF] 3, 6
; line 409
$DGL 0,30
mov a,!_U1 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 410
$DGL 0,31
movw ax,#0104H ; 260 ;[INF] 3, 6
sub a,_battery_U1 ;[INF] 2, 4
xch a,x ;[INF] 1, 4
subc a,_battery_U1+1 ;[INF] 2, 4
movw _@RTARG0,ax ;[INF] 2, 8
movw ax,_bit_voltage ;[INF] 2, 6
call !@@iumul ;[INF] 3, 6
movw _V_battery,ax ;[INF] 2, 8
; line 411
$DGL 0,32
mov c,#0AH ; 10 ;[INF] 3, 6
callt [@@divuw] ;[INF] 1, 8
movw _V_battery,ax ;[INF] 2, 8
; line 413
$DGL 0,34
movw ax,_ADCR_U1 ;[INF] 2, 6
cmpw ax,#0FAH ; 250 ;[INF] 3, 6
bnc $?L0134 ;[INF] 2, 6
; line 414
$DGL 0,35
??bb02_normal_work:
; line 415
$DGL 0,36
set1 _work_flag ;[INF] 3, 6
; line 416
$DGL 0,37
set1 _second_10_start ;[INF] 3, 6
??eb02_normal_work:
br $?L0142 ;[INF] 2, 6
?L0134:
; line 419
$DGL 0,40
??bb03_normal_work:
; line 420
$DGL 0,41
bt _mode_change_flag,$?L0136 ;[INF] 4,10
; line 421
$DGL 0,42
??bb04_normal_work:
; line 422
$DGL 0,43
movw ax,_V_battery ;[INF] 2, 6
cmpw ax,#0ABFH ; 2751 ;[INF] 3, 6
bnc $?L0138 ;[INF] 2, 6
mov _mode,#01H ; 1 ;[INF] 3, 6
br $?L0137 ;[INF] 2, 6
?L0138:
; line 423
$DGL 0,44
movw ax,_V_battery ;[INF] 2, 6
cmpw ax,#0B23H ; 2851 ;[INF] 3, 6
bnc $?L0140 ;[INF] 2, 6
mov _mode,#02H ; 2 ;[INF] 3, 6
br $?L0137 ;[INF] 2, 6
?L0140:
; line 424
$DGL 0,45
mov _mode,#03H ; 3 ;[INF] 3, 6
??eb04_normal_work:
br $?L0137 ;[INF] 2, 6
?L0136:
; line 426
$DGL 0,47
mov _mode,#03H ; 3 ;[INF] 3, 6
?L0137:
; line 428
$DGL 0,49
mov a,_mode ;[INF] 2, 4
cmp a,#03H ; 3 ;[INF] 2, 4
bz $?L0145 ;[INF] 2, 6
cmp a,#02H ; 2 ;[INF] 2, 4
bz $?L0144 ;[INF] 2, 6
cmp a,#01H ; 1 ;[INF] 2, 4
bnz $?L0146 ;[INF] 2, 6
; line 429
$DGL 0,50
??bb05_normal_work:
; line 430
$DGL 0,51
call !_fast_charging_handle ;[INF] 3, 6
; line 431
$DGL 0,52
br $?L0142 ;[INF] 2, 6
; line 432
$DGL 0,53
?L0144:
call !_variable_charging_handle ;[INF] 3, 6
; line 433
$DGL 0,54
br $?L0142 ;[INF] 2, 6
; line 434
$DGL 0,55
?L0145:
call !_fix_100mA_handle ;[INF] 3, 6
; line 435
$DGL 0,56
br $?L0142 ;[INF] 2, 6
; line 436
$DGL 0,57
?L0146:
nop ;[INF] 1, 2
; line 437
$DGL 0,58
??eb05_normal_work:
; line 438
$DGL 0,59
?L0142:
??eb03_normal_work:
; line 440
$DGL 0,61
??ef_normal_work:
ret ;[INF] 1, 6
??ee_normal_work:
; line 445
_testing:
$DGL 1,275
??bf_testing:
; line 446
$DGL 0,2
mov CMP11,#0C8H ; 200 ;[INF] 3, 6
; line 447
$DGL 0,3
nop ;[INF] 1, 2
; line 448
$DGL 0,4
call !_pwm_start ;[INF] 3, 6
; line 449
$DGL 0,5
set1 _current_check_start ;[INF] 3, 6
; line 450
$DGL 0,6
movw ax,#01388H ; 5000 ;[INF] 3, 6
call !_delay ;[INF] 3, 6
; line 451
$DGL 0,7
mov a,!_U1 ;[INF] 3, 8
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_AD_convert ;[INF] 3, 6
; line 452
$DGL 0,8
clr1 _current_check_start ;[INF] 3, 6
; line 454
$DGL 0,10
movw ax,_ADCR_U1 ;[INF] 2, 6
cmpw ax,#0FAH ; 250 ;[INF] 3, 6
bnc $?L0149 ;[INF] 2, 6
; line 455
$DGL 0,11
??bb00_testing:
; line 456
$DGL 0,12
set1 _work_flag ;[INF] 3, 6
; line 457
$DGL 0,13
call !_pwm_stop ;[INF] 3, 6
??eb00_testing:
br $?L0150 ;[INF] 2, 6
?L0149:
; line 459
$DGL 0,15
??bb01_testing:
; line 460
$DGL 0,16
clr1 _work_flag ;[INF] 3, 6
; line 461
$DGL 0,17
clr1 _second_10_start ;[INF] 3, 6
; line 462
$DGL 0,18
mov _second_10,#00H ; 0 ;[INF] 3, 6
??eb01_testing:
?L0150:
; line 465
$DGL 0,21
??ef_testing:
ret ;[INF] 1, 6
??ee_testing:
@@VECT0E CSEG AT 000EH
_@vect0e:
DW _timer_1s
END
; *** Code Information ***
;
; $FILE E:\my_project\compex_charger\v1.52\V1.52_WDT\charger.c
;
; $FUNC hardware_init(75)
; void=(void)
; CODE SIZE= 102 bytes, CLOCK_SIZE= 212 clocks, STACK_SIZE= 0 bytes
;
; $FUNC main(120)
; void=(void)
; CODE SIZE= 159 bytes, CLOCK_SIZE= 360 clocks, STACK_SIZE= 2 bytes
;
; $CALL hardware_init(121)
; void=(void)
;
; $CALL learning(135)
; void=(void)
;
; $CALL delay(153)
; void=(unsigned int:ax)
;
; $CALL pwm_stop(154)
; void=(void)
;
; $CALL delay(158)
; void=(unsigned int:ax)
;
; $CALL testing(163)
; void=(void)
;
; $CALL normal_work(164)
; void=(void)
;
; $FUNC AD_convert(175)
; void=(unsigned char chn:x)
; CODE SIZE= 244 bytes, CLOCK_SIZE= 784 clocks, STACK_SIZE= 8 bytes
;
; $FUNC no_battery_handle(222)
; void=(void)
; CODE SIZE= 4 bytes, CLOCK_SIZE= 12 clocks, STACK_SIZE= 2 bytes
;
; $CALL pwm_stop(223)
; void=(void)
;
; $FUNC fast_charging_handle(228)
; void=(void)
; CODE SIZE= 86 bytes, CLOCK_SIZE= 208 clocks, STACK_SIZE= 2 bytes
;
; $CALL pwm_start(254)
; void=(void)
;
; $FUNC variable_charging_handle(260)
; void=(void)
; CODE SIZE= 104 bytes, CLOCK_SIZE= 264 clocks, STACK_SIZE= 2 bytes
;
; $CALL pwm_start(282)
; void=(void)
;
; $FUNC fix_100mA_handle(289)
; void=(void)
; CODE SIZE= 77 bytes, CLOCK_SIZE= 184 clocks, STACK_SIZE= 2 bytes
;
; $CALL pwm_start(310)
; void=(void)
;
; $FUNC pwm_start(321)
; void=(void)
; CODE SIZE= 4 bytes, CLOCK_SIZE= 12 clocks, STACK_SIZE= 0 bytes
;
; $FUNC pwm_stop(327)
; void=(void)
; CODE SIZE= 4 bytes, CLOCK_SIZE= 12 clocks, STACK_SIZE= 0 bytes
;
; $FUNC delay(333)
; void=(unsigned int delay_number:ax)
; CODE SIZE= 40 bytes, CLOCK_SIZE= 152 clocks, STACK_SIZE= 8 bytes
;
; $FUNC timer_1s(340)
; void=(void)
; CODE SIZE= 93 bytes, CLOCK_SIZE= 232 clocks, STACK_SIZE= 2 bytes
;
; $FUNC normal_work(380)
; void=(void)
; CODE SIZE= 260 bytes, CLOCK_SIZE= 686 clocks, STACK_SIZE= 2 bytes
;
; $CALL AD_convert(384)
; void=(int:ax)
;
; $CALL AD_convert(385)
; void=(int:ax)
;
; $CALL delay(392)
; void=(unsigned int:ax)
;
; $CALL AD_convert(394)
; void=(int:ax)
;
; $CALL AD_convert(395)
; void=(int:ax)
;
; $CALL pwm_stop(406)
; void=(void)
;
; $CALL delay(408)
; void=(unsigned int:ax)
;
; $CALL AD_convert(409)
; void=(int:ax)
;
; $CALL fast_charging_handle(430)
; void=(void)
;
; $CALL variable_charging_handle(432)
; void=(void)
;
; $CALL fix_100mA_handle(434)
; void=(void)
;
; $FUNC testing(445)
; void=(void)
; CODE SIZE= 53 bytes, CLOCK_SIZE= 120 clocks, STACK_SIZE= 2 bytes
;
; $CALL pwm_start(448)
; void=(void)
;
; $CALL delay(450)
; void=(unsigned int:ax)
;
; $CALL AD_convert(451)
; void=(int:ax)
;
; $CALL pwm_stop(457)
; void=(void)
; Target chip : uPD78F9202
; Device file : V3.00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -