📄 charging current.lst
字号:
74 0021
75 0021
76 0021 bat0_1c_charging_over_voltage:
77 0021 bat0_voltagec_over:
78 0021 2823 jmp bat0_1c_charging_Vpeak_ok
79 0022
80 0022
81 0022
82 0022 bat0_1c_charging_time_out:
83 0022 2823 jmp bat0_1c_charging_Vpeak_ok
84 0023
85 0023
86 0023 bat0_1c_charging_Vpeak_ok:
87 0023
88 0023 3065 set led0_on_flag
89 0024 30E5 set led1_on_flag
90 0025 334E set ch0_old
91 0026 281C jmp ch0_charging_ok_main
92 0027
93 0027
94 0027 include sub.asm
1 0027 C
2 0027 C
3 0027 C bat_main_sub:
4 0027 C
5 0027 20C6 C call stop_charging
6 0028 20A1 C call madc_on_sub
7 0029 3B4E C snz ch0_old
8 002A 211A C call show_bat0_led
9 002B 20DA C call delay1s
10 002C 0003 C ret
11 002D C
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 11
12 002D C
13 002D C
14 002D C cinitial:
15 002D C
16 002D C mmov pa,00000011b
16 002D 0F03 C mov a, 00000011b
16 002E 0092 C mov [12h],a
17 002F C mmov pac,080h
17 002F 0F80 C mov a, 080h
17 0030 0093 C mov [13h],a
18 0031 C
19 0031 1F95 C set pbc
20 0032 1F14 C clr pb
21 0033 1F19 C clr pdc
22 0034 1F18 C clr pd
23 0035 C mmov acsr,02h
23 0035 0F02 C mov a, 02h
23 0036 00A3 C mov [23h],a
24 0037 C mmov adcr,ch3+a0
24 0037 0F18 C mov a, 00011000b + 00h
24 0038 00A2 C mov [22h],a
25 0039 1F1A C clr pwm0
26 003A C mclear_ram
26 003A C
26 003A C mmov mp0,040h+80h
26 003A 0FC0 C mov a, 040h + 80h
26 003B 0081 C mov [01h],a
26 003C C
26 003C C ??0000:
26 003C C
26 003C 1F00 C clr [00h]
26 003D 1481 C inc [01h]
26 003E 0701 C mov a, [01h]
26 003F 0C80 C xor a,080h
26 0040 390A C snz [0ah].2
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 12
26 0041 283C C jmp ??0000
26 0042 C
27 0042 20C6 C call stop_charging
28 0043 C mmov intc0,00000101b
28 0043 0F05 C mov a, 00000101b
28 0044 008B C mov [0bh],a
29 0045 C mmov tmr0l,(256-250)
29 0045 0F06 C mov a, ( 256 - 250 )
29 0046 008D C mov [0dh],a
30 0047 C mmov tmrc, timer_mode+timer_on+t1_16
30 0047 0F96 C mov a, 80h + 10h + 0110b
30 0048 008E C mov [0eh],a
31 0049 C
32 0049 3065 C set led0_on_flag
33 004A 30E5 C set led1_on_flag
34 004B 3565 C clr led2_on_flag
35 004C 35E5 C clr led3_on_flag
36 004D C
37 004D 3665 C clr common_flag
38 004E 20DA C call delay1s
39 004F 21CE C call lcd_initial
40 0050 20DA C call delay1s
41 0051 0003 C ret
42 0052 C
43 0052 C
44 0052 C
45 0052 C timer_isr:
46 0052 C push
46 0052 00C0 C mov acc_stack,a
46 0053 070A C mov a, [0ah]
46 0054 00C1 C mov status_stack,a
47 0055 C
48 0055 0712 C mov a,pa
49 0056 0C40 C xor a,01000000b
50 0057 3B05 C snz acc.led_com
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 13
51 0058 3665 C clr common_flag
52 0059 3F05 C sz acc.led_com
53 005A 3265 C set common_flag
54 005B 0092 C mov pa,a
55 005C C
56 005C 3F05 C sz acc.led_com
57 005D 2865 C jmp pa6_1
58 005E C pa6_0:
59 005E 3692 C clr pa.5
60 005F 3DE5 C sz led3_on_flag
61 0060 3292 C set pa.5
62 0061 C
63 0061 3612 C clr pa.4
64 0062 3C65 C sz led0_on_flag
65 0063 3212 C set pa.4
66 0064 286C C jmp timer_isr_ap
67 0065 C
68 0065 C pa6_1:
69 0065 3292 C set pa.5
70 0066 3D65 C sz led2_on_flag
71 0067 3692 C clr pa.5
72 0068 C
73 0068 3212 C set pa.4
74 0069 3CE5 C sz led1_on_flag
75 006A 3612 C clr pa.4
76 006B 286C C jmp timer_isr_ap
77 006C C
78 006C C
79 006C C timer_isr_ap:
80 006C C
81 006C 14C9 C inc time_4ms
82 006D 14CD C inc charging_cx
83 006E C
84 006E C mjneq time_4ms,250,timer_isr_exit
84 006E 0749 C mov a, time_4ms
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 14
84 006F 0CFA C xor a, 250
84 0070 390A C snz [0ah].2
84 0071 287D C jmp timer_isr_exit
85 0072 0001 C clr wdt1
86 0073 1F49 C clr time_4ms
87 0074 14CA C inc time_1s
88 0075 14CC C inc Vpeak_cx
89 0076 C mjneq time_1s,90,timer_isr_exit
89 0076 074A C mov a, time_1s
89 0077 0C5A C xor a, 90
89 0078 390A C snz [0ah].2
89 0079 287D C jmp timer_isr_exit
90 007A 1F4A C clr time_1s
91 007B 14CB C inc time_1min
92 007C 14E6 C inc total_time
93 007D C
94 007D C timer_isr_exit:
95 007D C pop
95 007D 0741 C mov a,status_stack
95 007E 008A C mov [0ah],a
95 007F 0740 C mov a,acc_stack
95 0080 0004 C reti
96 0081 C
97 0081 C
98 0081 C
99 0081 C
100 0081 C bat0_flag_initial:
101 0081 C
102 0081 1F4C C clr Vpeak_cx
103 0082 34CE C clr bat0_Vpeak_charging_ok
104 0083 1F4B C clr time_1min
105 0084 C mmov pwm0,010h
105 0084 0F10 C mov a, 010h
105 0085 009A C mov [1ah],a
106 0086 1F49 C clr time_4ms
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 15
107 0087 1F4A C clr time_1s
108 0088 0003 C ret
109 0089 C
110 0089 C
111 0089 C
112 0089 C bat0_charging_initial:
113 0089 C
114 0089 214A C call ad_4_data
115 008A 214A C call ad_4_data
116 008B 214A C call ad_4_data
117 008C 214A C call ad_4_data
118 008D 214A C call ad_4_data
119 008E 214A C call ad_4_data
120 008F 214A C call ad_4_data
121 0090 214A C call ad_4_data
122 0091 C
123 0091 C mmov Vbat0l_old,Vbat0l
123 0091 075F C mov a, Vbat0l
123 0092 00E1 C mov Vbat0l_old,a
124 0093 00E3 C mov Vbat0l_peak,a
125 0094 C
126 0094 C mmov Vbat0h_old,Vbat0h
126 0094 0760 C mov a, Vbat0h
126 0095 00E2 C mov Vbat0h_old,a
127 0096 00E4 C mov Vbat0h_peak,a
128 0097 C
129 0097 0003 C ret
130 0098 C
131 0098 C
132 0098 C
133 0098 C
134 0098 C
135 0098 C madcon_macro_sub:
136 0098 C
137 0098 C
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 16
138 0098 C madcon_temp_lp:
139 0098 340B C clr emi
140 0099 37A2 C clr start
141 009A 33A2 C set start
142 009B 37A2 C clr start
143 009C C madcon_label:
144 009C 3F22 C sz eoc
145 009D 289C C jmp madcon_label
146 009E 300B C set emi
147 009F 0005 C clr wdt2
148 00A0 C
149 00A0 0003 C ret
150 00A1 C
151 00A1 C
152 00A1 C madc_on_sub:
153 00A1 0005 C clr wdt2
154 00A2 C mmov Vbat0l_old,Vbat0l
154 00A2 075F C mov a, Vbat0l
154 00A3 00E1 C mov Vbat0l_old,a
155 00A4 C mmov Vbat0h_old,Vbat0h
155 00A4 0760 C mov a, Vbat0h
155 00A5 00E2 C mov Vbat0h_old,a
156 00A6 20AC C call adc_on
157 00A7 C mmov mp0,offset bat0_voltage_low
157 00A7 0F47 C mov a, offset bat0_voltage_low
157 00A8 0081 C mov [01h],a
158 00A9 211F C call adc_9bit_conver
159 00AA 20E6 C call check_battery0_status
160 00AB 0003 C ret
161 00AC C
162 00AC C
163 00AC C adc_on:
164 00AC C
165 00AC C adc_on_again:
166 00AC C
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 17
167 00AC 20C6 C call stop_charging
168 00AD C
169 00AD C
170 00AD C adc_on_a0:
171 00AD C
172 00AD 20CC C call delay10ms
173 00AE C mmov adcr,ch3+a0
173 00AE 0F18 C mov a, 00011000b + 00h
173 00AF 00A2 C mov [22h],a
174 00B0 2098 C call madcon_macro_sub
175 00B1 C mmov bat0_low,adrl
175 00B1 0720 C mov a, [20h]
175 00B2 00C5 C mov bat0_low,a
176 00B3 C mmov bat0_high,adrh
176 00B3 0721 C mov a, [21h]
176 00B4 00C6 C mov bat0_high,a
177 00B5 0745 C mov a,bat0_low
178 00B6 00C7 C mov bat0_voltage_low,a
179 00B7 C
180 00B7 0746 C mov a,bat0_high
181 00B8 00C8 C mov bat0_voltage_high,a
182 00B9 C
183 00B9 0003 C ret
184 00BA C
185 00BA C
186 00BA C a0_discharging:
187 00BA 3418 C clr pd.0
188 00BB C
189 00BB 0712 C mov a,pa
190 00BC 0EF3 C and a,11110011b
191 00BD 0D07 C or a,00000111b
192 00BE 0092 C mov pa,a
193 00BF 0003 C ret
194 00C0 C
195 00C0 C a0_charging:
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 18
196 00C0 C
197 00C0 0712 C mov a,pa
198 00C1 0EF1 C and a,11110001b
199 00C2 0D01 C or a,00000001b
200 00C3 0092 C mov pa,a
201 00C4 C
202 00C4 3018 C set pd.0
203 00C5 0003 C ret
204 00C6 C
205 00C6 C
206 00C6 C stop_charging:
207 00C6 3418 C clr pd.0
208 00C7 0712 C mov a,pa
209 00C8 0EF3 C and a,11110011b
210 00C9 0D03 C or a,00000011b
211 00CA 0092 C mov pa,a
212 00CB 0003 C ret
213 00CC C
214 00CC C
215 00CC C
216 00CC C delay10ms:
217 00CC C
218 00CC C mmov buf0,00
218 00CC 0F00 C mov a, 00
218 00CD 00C2 C mov buf0,a
219 00CE C mmov buf1,2
219 00CE 0F02 C mov a, 2
219 00CF 00C3 C mov buf1,a
220 00D0 C
221 00D0 C delay10ms_lp:
222 00D0 17C2 C sdz buf0
223 00D1 28D0 C jmp delay10ms_lp
224 00D2 17C3 C sdz buf1
225 00D3 28D0 C jmp delay10ms_lp
226 00D4 0003 C ret
"File: sub.asm Holtek Cross-Assembler Version 2.86 Page 19
227 00D5 C
228 00D5 C
229 00D5 C
230 00D5 C
231 00D5 C
232 00D5 C ;;; macro for
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -