📄 maincharger.lst
字号:
172 0088 0080 R MOV R_ADRH_CBAK,A
173 0089 M_JLESS R_ADRL_CBAK,R_ADRH_CBAK,QCURRENTL,QCURRENTH,L_CURRENT_LESS_500MA
174 0091 109A SZ PWM
175 0092 159A DEC PWM
176 0093 2844 JMP MLP_CHARGE
177 0094 L_CURRENT_LESS_500MA:
"File: MAINCHARGER.ASM Holtek Cross-Assembler Version 2.86 Page 4
178 0094 149A INC PWM
179 0095 2844 JMP MLP_CHARGE
180 0096 ;;-----------------------------------------------------
181 0096 L_SLOWCHARGING:
182 0096 0F2C MOV A,2CH
183 0097 00A2 MOV ADCR,A ;;SELECT AN4 CHANNEL
184 0098 2380 CALL SBR_ADCONVERT
185 0099 0720 MOV A,ADRL
186 009A 0080 R MOV R_ADRL_CBAK,A
187 009B 0721 MOV A,ADRH
188 009C 0080 R MOV R_ADRH_CBAK,A
189 009D M_JLESS R_ADRL_CBAK,R_ADRH_CBAK,SCURRENTL,SCURRENTH,L_CURRENT_LESS_180MA
190 00A5 109A SZ PWM
191 00A6 159A DEC PWM
192 00A7 2844 JMP MLP_CHARGE
193 00A8 L_CURRENT_LESS_180MA:
194 00A8 149A INC PWM
195 00A9 2844 JMP MLP_CHARGE
196 00AA ;;-----------------------------------------------------
197 00AA MLP_CHARGINGEXIT:
198 00AA 3418 CLR PD.0
199 00AB 360E CLR TMRC.4
200 00AC 2822 JMP MLP_MAIN
201 00AD ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
202 00AD ;$$$$$$$$$$$$$$$$$ DISCHARGING PART $$$$$$$$$$$$$$$$$$$$
203 00AD ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
204 00AD MLP_DISCHARGING:
205 00AD 0001 CLR WDT
206 00AE 0F01 MOV A,01H
207 00AF 0496 XORM A,PC ;;CPL THE LED1
208 00B0 24C7 CALL SBR_DELAY50MS
209 00B1 ;;-----------------------------------------------------;;BATTERY 1 DISCHARGING
210 00B1 L_BAT1DISCHARGING: ;;CHECK BATTERY 1 STATUS
211 00B1 0F28 MOV A,28H
212 00B2 00A2 MOV ADCR,A
213 00B3 0FEF MOV A,0EFH
214 00B4 0692 ANDM A,PA
215 00B5 228C CALL SBR_CHECKBATSTATUS
216 00B6
217 00B6 3800 R SNZ F_BAT1ON
218 00B7 28C1 JMP L_DISC_BAT1_REMOVE
219 00B8 0FFD MOV A,0FDH
220 00B9 0696 ANDM A,PC
221 00BA 3C00 R SZ F_OLDBAT1
222 00BB 28C6 JMP L_BAT2DISCHARGING
223 00BC 3C00 R SZ F_DISCHARGEOK1
224 00BD 28C4 JMP L_BAT1DISCHARGINGOK
225 00BE 0F10 MOV A,10H ;;SET PA.4 HIGH LEVEL, BATTERY 1 DISCHARGING
226 00BF 0592 ORM A,PA
227 00C0 28C6 JMP L_BAT2DISCHARGING
228 00C1 L_DISC_BAT1_REMOVE:
229 00C1 0F02 MOV A,02H
230 00C2 0596 ORM A,PC ;;SET PC.1, IF THERE IS NO BATTERY 1 IN THE PACK
231 00C3 28C6 JMP L_BAT2DISCHARGING
232 00C4 L_BAT1DISCHARGINGOK:
233 00C4 0FEF MOV A,0EFH
234 00C5 0692 ANDM A,PA
235 00C6 ;;-----------------------------------------------------;;BATTERY 2 DISCHARGING
236 00C6 L_BAT2DISCHARGING: ;;CHECK BATTERY 2 STATUS
237 00C6 0F29 MOV A,29H
"File: MAINCHARGER.ASM Holtek Cross-Assembler Version 2.86 Page 5
238 00C7 00A2 MOV ADCR,A
239 00C8 0FDF MOV A,0DFH
240 00C9 0692 ANDM A,PA
241 00CA 228C CALL SBR_CHECKBATSTATUS
242 00CB
243 00CB 3800 R SNZ F_BAT2ON
244 00CC 28D6 JMP L_DISC_BAT2_REMOVE
245 00CD 0FFB MOV A,0FBH
246 00CE 0696 ANDM A,PC
247 00CF 3C00 R SZ F_OLDBAT2
248 00D0 28DB JMP L_BAT3DISCHARGING
249 00D1 3C00 R SZ F_DISCHARGEOK2
250 00D2 28D9 JMP L_BAT2DISCHARGEOK
251 00D3 0F20 MOV A,20H ;;SET PA.5 HIGH LEVEL,BATTERY 2 DISCHARGING
252 00D4 0592 ORM A,PA
253 00D5 28DB JMP L_BAT3DISCHARGING
254 00D6 L_DISC_BAT2_REMOVE:
255 00D6 0F04 MOV A,04H
256 00D7 0596 ORM A,PC ;;SET PC.2 HIGH LEVEL, IF THERE IS NO BATTERY 2 IN HTE PACK
257 00D8 28DB JMP L_BAT3DISCHARGING
258 00D9 L_BAT2DISCHARGEOK:
259 00D9 0FDF MOV A,0DFH
260 00DA 0692 ANDM A,PA
261 00DB ;;-----------------------------------------------------;;BATTERY 3 DISCHARGING
262 00DB L_BAT3DISCHARGING: ;;CHECK BATTERY 3 STATUS
263 00DB 0F2A MOV A,2AH
264 00DC 00A2 MOV ADCR,A
265 00DD 0FBF MOV A,0BFH
266 00DE 0692 ANDM A,PA
267 00DF 228C CALL SBR_CHECKBATSTATUS
268 00E0
269 00E0 3800 R SNZ F_BAT3ON
270 00E1 28EB JMP L_DISC_BAT3_REMOVE
271 00E2 0FF7 MOV A,0F7H
272 00E3 0696 ANDM A,PC
273 00E4 3C00 R SZ F_OLDBAT3
274 00E5 28F0 JMP L_BAT4DISCHARGING
275 00E6 3C00 R SZ F_DISCHARGEOK3
276 00E7 28EE JMP L_BAT3DISCHARGINGOK
277 00E8 0F40 MOV A,40H ;;SET PA.6 HIGH LEVEL,BATTERY 3 DISCHARGING
278 00E9 0592 ORM A,PA
279 00EA 28F0 JMP L_BAT4DISCHARGING
280 00EB L_DISC_BAT3_REMOVE:
281 00EB 0F08 MOV A,08H
282 00EC 0596 ORM A,PC ;;SET PC.3 HIGH LEVEL, IF THERE IS NO BATTERY 3 IN THE PACK
283 00ED 28F0 JMP L_BAT4DISCHARGING
284 00EE L_BAT3DISCHARGINGOK:
285 00EE 0FBF MOV A,0BFH
286 00EF 0692 ANDM A,PA
287 00F0 ;;-----------------------------------------------------;;BATTERY 4 DISCHARGING
288 00F0 L_BAT4DISCHARGING: ;;CHECK BATTERY 4 STATUS
289 00F0 0F2B MOV A,2BH
290 00F1 00A2 MOV ADCR,A
291 00F2 0F7F MOV A,07FH
292 00F3 0692 ANDM A,PA
293 00F4 228C CALL SBR_CHECKBATSTATUS
294 00F5 3800 R SNZ F_BAT4ON
295 00F6 2900 JMP L_DISC_BAT4_REMOVE
296 00F7 0FEF MOV A,0EFH
297 00F8 0696 ANDM A,PC
"File: MAINCHARGER.ASM Holtek Cross-Assembler Version 2.86 Page 6
298 00F9 3C00 R SZ F_OLDBAT4
299 00FA 2906 JMP L_CHECK_DISC_BATSTATUS
300 00FB 3C00 R SZ F_DISCHARGEOK4
301 00FC 2903 JMP L_BAT4DISCHARGEOK
302 00FD 0F80 MOV A,80H ;;SET PA.7 HIGH LEVEL, BATTERY 4 DISCHARGING
303 00FE 0592 ORM A,PA
304 00FF 2906 JMP L_CHECK_DISC_BATSTATUS
305 0100 L_DISC_BAT4_REMOVE:
306 0100 0F10 MOV A,10H
307 0101 0596 ORM A,PC ;;SET PC.5 HIGH LEVEL, IF THERE IS NO BATTERY 4 IN THE PACK
308 0102 2906 JMP L_CHECK_DISC_BATSTATUS
309 0103 L_BAT4DISCHARGEOK:
310 0103 0F7F MOV A,7FH
311 0104 0692 ANDM A,PA
312 0105 2906 JMP L_CHECK_DISC_BATSTATUS
313 0106 L_CHECK_DISC_BATSTATUS:
314 0106 0700 R MOV A,R_FLAG
315 0107 0E0F AND A,0FH
316 0108 3D0A SZ Z
317 0109 2912 JMP L_DISC_BATS_REMOVED ;;IF THERE IS NOT BATTERIES IN THE PACK,THEN JMP TO MLP_MAIN
318 010A 0080 R MOV R_TEMP3,A ;;JUDGE BATTERIES DISCHARGING FINISHED OR NOT
319 010B 0700 R MOV A,R_FLAG ;;IF THE R_FLAG HIGH NIBBLE EQU LOW NIBBLE THAT INDICATED DISCHARGING FINISHED
320 010C 0EF0 AND A,0F0H
321 010D 1185 SWAP ACC
322 010E 0400 R XOR A,R_TEMP3
323 010F 3D0A SZ Z
324 0110 2915 JMP L_DISCHARGINGEFINISHED
325 0111 28AD JMP MLP_DISCHARGING
326 0112 L_DISC_BATS_REMOVED:
327 0112 0F1F MOV A,1FH
328 0113 0596 ORM A,PC
329 0114 2822 JMP MLP_MAIN
330 0115
331 0115 L_DISCHARGINGEFINISHED:
332 0115 0F0F MOV A,0FH
333 0116 0692 ANDM A,PA
334 0117 0F01 MOV A,01H
335 0118 0596 ORM A,PC
336 0119 283E JMP L_CHARGING
337 011A ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
338 011A #INCLUDE SUBROUTINE.ASM
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -