📄 charging current.lst
字号:
"File: CHARGING CURRENT.ASM Holtek Cross-Assembler Version 2.86 Page 1
1 0000
2 0000 page 35
3 0000
4 0000 include nimh.inc
6 0000 C .listinclude
7 0000 C .listmacro
8 0000 C
9 0000 C
10 0000 C r0 equ [00h]
11 0000 C mp0 equ [01h]
12 0000 C acc equ [05h]
13 0000 C pcl equ [06h]
14 0000 C tblp equ [07h]
15 0000 C tblh equ [08h]
16 0000 C status equ [0ah]
17 0000 C intc0 equ [0bh]
18 0000 C intc equ [0bh]
19 0000 C tmrl equ [0dh]
20 0000 C tmr0l equ [0dh]
21 0000 C tmrc equ [0eh]
22 0000 C tmr0c equ [0eh]
23 0000 C pa equ [12h]
24 0000 C pac equ [13h]
25 0000 C pb equ [14h]
26 0000 C pbc equ [15h]
27 0000 C pd equ [18h]
28 0000 C pdc equ [19h]
29 0000 C pwm0 equ [1ah]
30 0000 C adrl equ [20h]
31 0000 C adrh equ [21h]
32 0000 C adcr equ [22h]
33 0000 C acsr equ [23h]
34 0000 C ;
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 2
35 0000 C c equ [0ah].0
36 0000 C ac equ [0ah].1
37 0000 C z equ [0ah].2
38 0000 C ov equ [0ah].3
39 0000 C pdf equ [0ah].4
40 0000 C to equ [0ah].5
41 0000 C ;
42 0000 C
43 0000 C EMI EQU [0BH].0
44 0000 C ETI EQU [0BH].2
45 0000 C timer_mode equ 80h
46 0000 C timer_on equ 10h
47 0000 C
48 0000 C t1_16 equ 0110b
49 0000 C
50 0000 C eoc equ adcr.6
51 0000 C start equ adcr.7
52 0000 C ;
53 0000 C
54 0000 C a0 equ 00h
55 0000 C a2 equ 02h
56 0000 C ch3 equ 00011000b
57 0000 C
58 0000 C
59 0000 C
60 0000 C mmov macro a1,b1
61 0000 C mov a,b1
62 0000 C mov a1,a
63 0000 C endm
64 0000 C
65 0000 C push macro
66 0000 C mov acc_stack,a
67 0000 C mov a,status
68 0000 C mov status_stack,a
69 0000 C endm
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 3
70 0000 C
71 0000 C
72 0000 C pop macro
73 0000 C mov a,status_stack
74 0000 C mov status,a
75 0000 C mov a,acc_stack
76 0000 C reti
77 0000 C endm
78 0000 C
79 0000 C ;;; if b1<>c1 then d1
80 0000 C mjneq macro b1,c1,d1
81 0000 C mov a,b1
82 0000 C xor a,c1
83 0000 C snz z
84 0000 C jmp d1
85 0000 C endm
86 0000 C
87 0000 C
88 0000 C ;;; if b1 > c1 then d1
89 0000 C mjbig macro b1,c1,d1
90 0000 C mov a,b1
91 0000 C sub a,c1
92 0000 C sz c
93 0000 C jmp d1
94 0000 C endm
95 0000 C
96 0000 C
97 0000 C
98 0000 C ;;; if a1 < b1 then lab
99 0000 C mjles16 macro a1l,a1h,b1l,b1h,lab
100 0000 C mov a,a1l
101 0000 C sub a,b1l
102 0000 C mmov buf0,b1h
103 0000 C mov a,a1h
104 0000 C sbc a,buf0
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 4
105 0000 C snz c
106 0000 C jmp lab
107 0000 C endm
108 0000 C
109 0000 C
110 0000 C
111 0000 C mclear_ram macro
112 0000 C LOCAL temp
113 0000 C
114 0000 C mmov mp0,040h+80h
115 0000 C
116 0000 C temp:
117 0000 C
118 0000 C clr r0
119 0000 C inc mp0
120 0000 C mov a,mp0
121 0000 C xor a,080h
122 0000 C snz z
123 0000 C jmp temp
124 0000 C
125 0000 C endm
126 0000 C
127 0000 C
128 0000 C v155 equ 1270
129 0000 C v48 equ v155
130 0000 C v48h equ high v48
131 0000 C v48l equ low v48
132 0000 C v115 equ 942
133 0000 C v125 equ 1024
134 0000 C v25 equ v125
135 0000 C v25h equ high v25
136 0000 C v25l equ low v25
137 0000 C v22 equ v115
138 0000 C v22h equ high v22
139 0000 C v22l equ low v22
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 5
140 0000 C v01 equ 82
141 0000 C v03 equ v01
142 0000 C v03h equ high v03
143 0000 C v03l equ low v03
144 0000 C
145 0000 C
146 0000 C
147 0000 C v80mv equ 1
148 0000 C v20mv equ 0180h
149 0000 C v30mv equ 0200h
150 0000 C v260mv equ 0f00h
151 0000 C v250mv equ 0e80h
152 0000 C
153 0000 C
154 0000 C charging_time equ 0240
155 0000 C Vpk_time equ 64
156 0000 C led_com equ 6
157 0000 C
158 0000 C
159 0000 C
160 0000 C ;;; RAM arrage
161 0000 C
162 0000 C data_sec .section at 040h 'data'
163 0000 C
164 0000 C
165 0000 00 C acc_stack db ?
166 0001 00 C status_stack db ?
167 0002 00 C buf0 db ?
168 0003 00 C buf1 db ?
169 0004 00 C buf2 db ?
170 0005 C
171 0005 00 C bat0_low db ?
172 0006 00 C bat0_high db ?
173 0007 C
174 0007 00 C bat0_voltage_low db ?
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 6
175 0008 00 C bat0_voltage_high db ?
176 0009 C
177 0009 00 C time_4ms db ?
178 000A 00 C time_1s db ?
179 000B 00 C time_1min db ?
180 000C 00 C Vpeak_cx db ?
181 000D 00 C charging_cx db ?
182 000E C
183 000E 00 C dis_charging_flag dbit
184 000F C
185 000E C bat0_Vpeak_charging_ok dbit
186 000F C
187 000E C bat0_on_flag dbit
188 000F C
189 000E C bat0_1c_charging_flag dbit
190 000F C
191 000E C bat0_voltage_over_flag dbit
192 000F C
193 000E C bat0_discharging_ok_flag dbit
194 000F C
195 000F C
196 000E C ch0_old dbit
197 000F C
198 000E C get_ch0_vmax_flag dbit
199 000F C
200 000F 00 C Vbat00l db ?
201 0010 00 C Vbat00h db ?
202 0011 C
203 0011 00 C Vbat01l db ?
204 0012 00 C Vbat01h db ?
205 0013 C
206 0013 00 C Vbat02l db ?
207 0014 00 C Vbat02h db ?
208 0015 C
209 0015 00 C Vbat03l db ?
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 7
210 0016 00 C Vbat03h db ?
211 0017 C
212 0017 C
213 0017 00 C Vbat04l db ?
214 0018 00 C Vbat04h db ?
215 0019 C
216 0019 00 C Vbat05l db ?
217 001A 00 C Vbat05h db ?
218 001B C
219 001B 00 C Vbat06l db ?
220 001C 00 C Vbat06h db ?
221 001D C
222 001D 00 C Vbat07l db ?
223 001E 00 C Vbat07h db ?
224 001F C
225 001F C
226 001F 00 C Vbat0l db ?
227 0020 00 C Vbat0h db ?
228 0021 C
229 0021 C
230 0021 00 C Vbat0l_old db ?
231 0022 00 C Vbat0h_old db ?
232 0023 C
233 0023 00 C Vbat0l_peak db ?
234 0024 00 C Vbat0h_peak db ?
235 0025 C
236 0025 00 C led0_on_flag dbit
237 0025 C led1_on_flag dbit
238 0025 C led2_on_flag dbit
239 0025 C led3_on_flag dbit
240 0025 C common_flag dbit
241 0026 C
242 0026 00 C total_time db ?
243 0027 00 C ram_last db ?
244 0028 C
"File: nimh.inc Holtek Cross-Assembler Version 2.86 Page 8
245 0028 C
246 0028 C
5 0028
6 0000 int_code .SECTION at 00h 'CODE'
7 0000
8 0000 org 000h
9 0000 1F66 clr total_time
10 0001 0000 nop
11 0002 280D jmp ap
12 0003
13 0003 ORG 004h
14 0004 0000 nop
15 0005 0004 reti
16 0006
17 0006 ORG 008h
18 0008 0000 nop
19 0009 2852 jmp timer_isr
20 000A
21 000A ORG 00ch
22 000C 0004 reti
23 000D
24 000D
25 000D
26 000D ap:
27 000D
28 000D 01E7 cpl ram_last
29 000E
30 000E 202D call cinitial
31 000F
32 000F nimh_battery_main:
33 000F 20A1 call madc_on_sub
34 0010 211A call show_bat0_led
35 0011
36 0011 3D4E sz bat0_on_flag
"File: CHARGING CURRENT.ASM Holtek Cross-Assembler Version 2.86 Page 9
37 0012 281B jmp ch0_battery_charging_main
38 0013
39 0013
40 0013 ch0_ch1_detect_main:
41 0013
42 0013 2027 call bat_main_sub
43 0014
44 0014 3D4E sz bat0_on_flag
45 0015 2818 jmp ch0_battery_charging_or_not
46 0016 374E clr ch0_old
47 0017
48 0017 ch1_detect_main:
49 0017
50 0017 2813 jmp ch0_ch1_detect_main
51 0018
52 0018
53 0018 ch0_battery_charging_or_not:
54 0018 3F4E sz ch0_old
55 0019 2817 jmp ch1_detect_main
56 001A 281B jmp ch0_battery_charging_main
57 001B
58 001B
59 001B ch0_battery_charging_main:
60 001B 2A34 jmp ch0_battery_charging_sub
61 001C
62 001C
63 001C ch0_charging_ok_main:
64 001C 2813 jmp ch0_ch1_detect_main
65 001D
66 001D
67 001D
68 001D bat0_1c_charging_remove:
69 001D 3465 clr led0_on_flag
70 001E 34E5 clr led1_on_flag
71 001F 374E clr ch0_old
"File: CHARGING CURRENT.ASM Holtek Cross-Assembler Version 2.86 Page 10
72 0020 281C jmp ch0_charging_ok_main
73 0021
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -