dataprotask.lst
来自「cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表」· LST 代码 · 共 556 行 · 第 1/2 页
LST
556 行
241 0086 0196 adiw r24,1
242 0088 00D0 rcall Rd5460A
158:driver/DataProTask.c **** CS_AD_B = 1;
244 .LM13:
245 008a A89A sbi 53-0x20,0
159:driver/DataProTask.c ****
160:driver/DataProTask.c **** if ((AD_Buf[0] & 0x80) && fAdRunning_A)
247 .LM14:
248 008c 8981 ldd r24,Y+1
249 008e 87FF sbrs r24,7
250 0090 13C0 rjmp .L8
251 0092 8091 0000 lds r24,fAdRunning_A
252 0096 8823 tst r24
253 0098 79F0 breq .L8
161:driver/DataProTask.c **** { Step++;
255 .LM15:
256 009a 8091 0000 lds r24,Step.0
257 009e 8F5F subi r24,lo8(-(1))
258 00a0 8093 0000 sts Step.0,r24
162:driver/DataProTask.c **** Detect_B1++;
260 .LM16:
261 00a4 8091 0000 lds r24,Detect_B1
262 00a8 9091 0000 lds r25,(Detect_B1)+1
263 00ac 0196 adiw r24,1
264 00ae 9093 0000 sts (Detect_B1)+1,r25
265 00b2 8093 0000 sts Detect_B1,r24
266 00b6 7BC0 rjmp .L1
267 .L8:
163:driver/DataProTask.c **** }
164:driver/DataProTask.c **** else
165:driver/DataProTask.c **** {
166:driver/DataProTask.c **** Detect_B0++;
269 .LM17:
270 00b8 8091 0000 lds r24,Detect_B0
271 00bc 9091 0000 lds r25,(Detect_B0)+1
272 00c0 0196 adiw r24,1
273 00c2 9093 0000 sts (Detect_B0)+1,r25
274 00c6 8093 0000 sts Detect_B0,r24
167:driver/DataProTask.c **** fAdRunning_A = 0;
276 .LM18:
277 00ca 1092 0000 sts fAdRunning_A,__zero_reg__
278 00ce 06C0 rjmp .L15
279 .L5:
168:driver/DataProTask.c **** Clear5460A();
169:driver/DataProTask.c **** ReadAD.fGetTime = 0;
170:driver/DataProTask.c **** ReadAD.WaitTime = _1S;
171:driver/DataProTask.c **** }
172:driver/DataProTask.c **** } else {
173:driver/DataProTask.c **** Rest5460A_Time--; //屏蔽前两次AD转换
281 .LM19:
282 00d0 8150 subi r24,lo8(-(-1))
283 00d2 8093 0000 sts Rest5460A_Time,r24
174:driver/DataProTask.c **** fAdRunning_A = 1;
285 .LM20:
286 00d6 81E0 ldi r24,lo8(1)
287 00d8 8093 0000 sts fAdRunning_A,r24
288 .L15:
175:driver/DataProTask.c **** Clear5460A();
290 .LM21:
291 00dc 00D0 rcall Clear5460A
292 00de 5FC0 rjmp .L14
293 .L11:
176:driver/DataProTask.c **** ReadAD.fGetTime = 0;
177:driver/DataProTask.c **** ReadAD.WaitTime = _1S;
178:driver/DataProTask.c **** }
179:driver/DataProTask.c **** break;
180:driver/DataProTask.c ****
181:driver/DataProTask.c **** case 1:
182:driver/DataProTask.c **** Sync_5460A(); /*同步命令*/
295 .LM22:
296 00e0 00D0 rcall Sync_5460A
183:driver/DataProTask.c **** Clear5460A();
298 .LM23:
299 00e2 00D0 rcall Clear5460A
184:driver/DataProTask.c ****
185:driver/DataProTask.c **** CS_AD_A = 0;
301 .LM24:
302 00e4 AD98 cbi 53-0x20,5
186:driver/DataProTask.c **** Rd5460A(AD_Buf,0x14); //读A相功率值
304 .LM25:
305 00e6 64E1 ldi r22,lo8(20)
306 00e8 CE01 movw r24,r28
307 00ea 0196 adiw r24,1
308 00ec 00D0 rcall Rd5460A
187:driver/DataProTask.c **** CS_AD_A = 1;
310 .LM26:
311 00ee AD9A sbi 53-0x20,5
188:driver/DataProTask.c **** temp1 = AD_Buf[0] << 8;
313 .LM27:
314 00f0 8981 ldd r24,Y+1
315 00f2 9927 clr r25
316 00f4 182F mov r17,r24
317 00f6 0027 clr r16
189:driver/DataProTask.c **** temp1 += AD_Buf[1];
319 .LM28:
320 00f8 7E01 movw r14,r28
321 00fa 0894 sec
322 00fc E11C adc r14,__zero_reg__
323 00fe F11C adc r15,__zero_reg__
324 0100 F701 movw r30,r14
325 0102 8181 ldd r24,Z+1
326 0104 080F add r16,r24
327 0106 111D adc r17,__zero_reg__
190:driver/DataProTask.c ****
191:driver/DataProTask.c **** CS_AD_B = 0;
329 .LM29:
330 0108 A898 cbi 53-0x20,0
192:driver/DataProTask.c **** Rd5460A(AD_Buf,0x14);
332 .LM30:
333 010a 64E1 ldi r22,lo8(20)
334 010c C701 movw r24,r14
335 010e 00D0 rcall Rd5460A
193:driver/DataProTask.c **** CS_AD_B = 1;
337 .LM31:
338 0110 A89A sbi 53-0x20,0
194:driver/DataProTask.c **** temp2 = AD_Buf[0] << 8;
340 .LM32:
341 0112 8981 ldd r24,Y+1
342 0114 9927 clr r25
343 0116 982F mov r25,r24
344 0118 8827 clr r24
195:driver/DataProTask.c **** temp2 += AD_Buf[1];
346 .LM33:
347 011a F701 movw r30,r14
348 011c 2181 ldd r18,Z+1
349 011e 820F add r24,r18
350 0120 911D adc r25,__zero_reg__
196:driver/DataProTask.c ****
197:driver/DataProTask.c **** temp1 += temp2;
352 .LM34:
353 0122 080F add r16,r24
354 0124 191F adc r17,r25
198:driver/DataProTask.c ****
199:driver/DataProTask.c **** Ps_Neg = 0;
356 .LM35:
357 0126 1092 0000 sts Ps_Neg,__zero_reg__
200:driver/DataProTask.c **** if (temp1 > 0x8000){
359 .LM36:
360 012a F0E8 ldi r31,hi8(-32767)
361 012c 0130 cpi r16,lo8(-32767)
362 012e 1F07 cpc r17,r31
363 0130 30F0 brlo .L12
201:driver/DataProTask.c **** temp1 = 0 - temp1; //功率为负
365 .LM37:
366 0132 1095 com r17
367 0134 0195 neg r16
368 0136 1F4F sbci r17,lo8(-1)
202:driver/DataProTask.c **** Ps_Neg = 1;
370 .LM38:
371 0138 81E0 ldi r24,lo8(1)
372 013a 8093 0000 sts Ps_Neg,r24
373 .L12:
203:driver/DataProTask.c **** }
204:driver/DataProTask.c **** AD_Buf[0] = temp1 >> 8;
375 .LM39:
376 013e 812F mov r24,r17
377 0140 9927 clr r25
378 0142 8983 std Y+1,r24
205:driver/DataProTask.c **** AD_Buf[1] = (uint8)temp1;
380 .LM40:
381 0144 F701 movw r30,r14
382 0146 0183 std Z+1,r16
206:driver/DataProTask.c **** temp2 = DealRms(AD_Buf,0x6F20);
384 .LM41:
385 0148 40E2 ldi r20,lo8(28448)
386 014a 5FE6 ldi r21,hi8(28448)
387 014c 60E0 ldi r22,hlo8(28448)
388 014e 70E0 ldi r23,hhi8(28448)
389 0150 C701 movw r24,r14
390 0152 00D0 rcall DealRms
207:driver/DataProTask.c **** Ps = (uint32)temp2 * PtVal * CtVal; //计算一次值功率
392 .LM42:
393 0154 7C01 movw r14,r24
394 0156 0027 clr r16
395 0158 1127 clr r17
396 015a 8091 0000 lds r24,PtVal
397 015e 9091 0000 lds r25,(PtVal)+1
398 0162 9C01 movw r18,r24
399 0164 4427 clr r20
400 0166 5527 clr r21
401 0168 C801 movw r24,r16
402 016a B701 movw r22,r14
403 016c 00D0 rcall __mulsi3
404 016e 7B01 movw r14,r22
405 0170 8C01 movw r16,r24
406 0172 8091 0000 lds r24,CtVal
407 0176 9091 0000 lds r25,(CtVal)+1
408 017a 9C01 movw r18,r24
409 017c 4427 clr r20
410 017e 5527 clr r21
411 0180 C801 movw r24,r16
412 0182 B701 movw r22,r14
413 0184 00D0 rcall __mulsi3
414 0186 DC01 movw r26,r24
415 0188 CB01 movw r24,r22
416 018a 8093 0000 sts Ps,r24
417 018e 9093 0000 sts (Ps)+1,r25
418 0192 A093 0000 sts (Ps)+2,r26
419 0196 B093 0000 sts (Ps)+3,r27
208:driver/DataProTask.c **** Step = 0;
421 .LM43:
422 019a 1092 0000 sts Step.0,__zero_reg__
423 .L14:
209:driver/DataProTask.c **** ReadAD.fGetTime = 0;
425 .LM44:
426 019e 1092 0000 sts ReadAD,__zero_reg__
210:driver/DataProTask.c **** ReadAD.WaitTime = _1S;
428 .LM45:
429 01a2 84E6 ldi r24,lo8(100)
430 01a4 90E0 ldi r25,hi8(100)
431 01a6 9093 0000 sts (ReadAD+1)+1,r25
432 01aa 8093 0000 sts ReadAD+1,r24
433 .L1:
434 /* epilogue: frame size=4 */
435 01ae 2496 adiw r28,4
436 01b0 0FB6 in __tmp_reg__,__SREG__
437 01b2 F894 cli
438 01b4 DEBF out __SP_H__,r29
439 01b6 0FBE out __SREG__,__tmp_reg__
440 01b8 CDBF out __SP_L__,r28
441 01ba DF91 pop r29
442 01bc CF91 pop r28
443 01be 1F91 pop r17
444 01c0 0F91 pop r16
445 01c2 FF90 pop r15
446 01c4 EF90 pop r14
447 01c6 0895 ret
448 /* epilogue end (size=13) */
449 /* function DealDataMainLoop size 229 (202) */
457 .Lscope0:
458 .comm fAdRunning_A,1,1
459 .comm fAdRunning_B,1,1
460 .comm V_sign_A,1,1
461 .comm I_sign_A,1,1
462 .comm V_sign_B,1,1
463 .comm I_sign_B,1,1
464 .comm Ps,4,1
480 .text
482 Letext:
483 /* File "driver/DataProTask.c": code 229 = 0x00e5 ( 202), prologues 14, epilogues 13 */
DEFINED SYMBOLS
*ABS*:00000000 DataProTask.c
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:105 .data:00000000 ReadAD
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:113 .bss:00000000 Ps_Neg
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:119 .bss:00000001 Detect_T1
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:125 .bss:00000003 Detect_T0
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:131 .bss:00000005 Detect_B0
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:137 .bss:00000007 Detect_B1
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:143 .bss:00000009 Detect_A0
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:149 .bss:0000000b Detect_A1
.bss:0000000d Step.0
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:156 .text:00000000 DealDataMainLoop
*COM*:00000001 fAdRunning_A
*COM*:00000004 Ps
*COM*:00000001 fAdRunning_B
*COM*:00000001 V_sign_A
*COM*:00000001 I_sign_A
*COM*:00000001 V_sign_B
*COM*:00000001 I_sign_B
C:\DOCUME~1\e4ee\LOCALS~1\Temp/ccARaaaa.s:482 .text:000001c8 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Rest5460A_Time
Rd5460A
Clear5460A
Sync_5460A
DealRms
PtVal
__mulsi3
CtVal
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?