?? alarm.lst
字號:
86:task/Alarm.c **** fH_Alarm = OFF; //取消高報警
292 .LM28:
293 0112 3093 0000 sts fH_Alarm,r19
294 0116 03C0 rjmp .L5
295 .L20:
87:task/Alarm.c **** }
88:task/Alarm.c **** else
89:task/Alarm.c **** { H_Alarm_step = 3; }
297 .LM29:
298 0118 83E0 ldi r24,lo8(3)
299 011a 8093 0000 sts H_Alarm_step.0,r24
300 .L5:
90:task/Alarm.c **** break;
91:task/Alarm.c ****
92:task/Alarm.c **** default:
93:task/Alarm.c **** break;
94:task/Alarm.c **** }
95:task/Alarm.c **** //---------------------------
96:task/Alarm.c **** switch(L_Alarm_step)
302 .LM30:
303 011e 2091 0000 lds r18,L_Alarm_step.1
304 0122 822F mov r24,r18
305 0124 9927 clr r25
306 0126 8230 cpi r24,2
307 0128 9105 cpc r25,__zero_reg__
308 012a C9F0 breq .L30
309 012c 8330 cpi r24,3
310 012e 9105 cpc r25,__zero_reg__
311 0130 2CF4 brge .L42
312 0132 0097 sbiw r24,0
313 0134 61F0 breq .L25
314 0136 0197 sbiw r24,1
315 0138 71F0 breq .L27
316 013a 0895 ret
317 .L42:
318 013c 8430 cpi r24,4
319 013e 9105 cpc r25,__zero_reg__
320 0140 31F1 breq .L35
321 0142 8430 cpi r24,4
322 0144 9105 cpc r25,__zero_reg__
323 0146 CCF0 brlt .L33
324 0148 0597 sbiw r24,5
325 014a 81F1 breq .L38
326 014c 0895 ret
327 .L25:
97:task/Alarm.c **** {
98:task/Alarm.c **** case 0:
99:task/Alarm.c **** if (Display_V < L_Alarm)
329 .LM31:
330 014e E617 cp r30,r22
331 0150 F707 cpc r31,r23
332 0152 F0F5 brsh .L1
333 0154 25C0 rjmp .L46
334 .L27:
100:task/Alarm.c **** { L_Alarm_step++; }
101:task/Alarm.c **** break;
102:task/Alarm.c ****
103:task/Alarm.c **** case 1:
104:task/Alarm.c **** if (Display_V < L_Alarm)
336 .LM32:
337 0156 E617 cp r30,r22
338 0158 F707 cpc r31,r23
339 015a 60F4 brsh .L31
340 015c 21C0 rjmp .L46
341 .L30:
105:task/Alarm.c **** { L_Alarm_step++; } //延時,防抖動
106:task/Alarm.c **** else
107:task/Alarm.c **** { L_Alarm_step = 0; }
108:task/Alarm.c **** break;
109:task/Alarm.c ****
110:task/Alarm.c **** case 2:
111:task/Alarm.c **** if (Display_V < L_Alarm)
343 .LM33:
344 015e E617 cp r30,r22
345 0160 F707 cpc r31,r23
346 0162 40F4 brsh .L31
112:task/Alarm.c **** {
113:task/Alarm.c **** IO_LowAlarm = OFF;
348 .LM34:
349 0164 9298 cbi 50-0x20,2
114:task/Alarm.c **** fL_Alarm = ON;
351 .LM35:
352 0166 81E0 ldi r24,lo8(1)
353 0168 8093 0000 sts fL_Alarm,r24
115:task/Alarm.c **** L_Alarm_step++;
355 .LM36:
356 016c 280F add r18,r24
357 .L45:
358 016e 2093 0000 sts L_Alarm_step.1,r18
359 0172 0895 ret
360 .L31:
116:task/Alarm.c **** }
117:task/Alarm.c **** else
118:task/Alarm.c **** { L_Alarm_step = 0; }
362 .LM37:
363 0174 1092 0000 sts L_Alarm_step.1,__zero_reg__
119:task/Alarm.c **** break;
365 .LM38:
366 0178 0895 ret
367 .L33:
120:task/Alarm.c ****
121:task/Alarm.c **** case 3:
122:task/Alarm.c **** if (Display_V >(L_Alarm+LagVal ))
369 .LM39:
370 017a 8091 0000 lds r24,LagVal
371 017e 9091 0000 lds r25,(LagVal)+1
372 0182 680F add r22,r24
373 0184 791F adc r23,r25
374 0186 6E17 cp r22,r30
375 0188 7F07 cpc r23,r31
376 018a 10F5 brsh .L1
377 018c 09C0 rjmp .L46
378 .L35:
123:task/Alarm.c **** { L_Alarm_step++; }
124:task/Alarm.c **** break;
125:task/Alarm.c ****
126:task/Alarm.c **** case 4:
127:task/Alarm.c **** if (Display_V >(L_Alarm+LagVal ))
380 .LM40:
381 018e 8091 0000 lds r24,LagVal
382 0192 9091 0000 lds r25,(LagVal)+1
383 0196 680F add r22,r24
384 0198 791F adc r23,r25
385 019a 6E17 cp r22,r30
386 019c 7F07 cpc r23,r31
387 019e 10F4 brsh .L36
388 .L46:
128:task/Alarm.c **** { L_Alarm_step++; } //延時,防抖動
390 .LM41:
391 01a0 2F5F subi r18,lo8(-(1))
392 01a2 E5CF rjmp .L45
393 .L36:
129:task/Alarm.c **** else
130:task/Alarm.c **** { L_Alarm_step = 3; }
395 .LM42:
396 01a4 83E0 ldi r24,lo8(3)
397 01a6 8093 0000 sts L_Alarm_step.1,r24
131:task/Alarm.c **** break;
399 .LM43:
400 01aa 0895 ret
401 .L38:
132:task/Alarm.c ****
133:task/Alarm.c **** case 5:
134:task/Alarm.c **** if (Display_V >(L_Alarm+LagVal ))
403 .LM44:
404 01ac 8091 0000 lds r24,LagVal
405 01b0 9091 0000 lds r25,(LagVal)+1
406 01b4 680F add r22,r24
407 01b6 791F adc r23,r25
408 01b8 6E17 cp r22,r30
409 01ba 7F07 cpc r23,r31
410 01bc 30F4 brsh .L39
135:task/Alarm.c **** {
136:task/Alarm.c **** L_Alarm_step = 0;
412 .LM45:
413 01be 1092 0000 sts L_Alarm_step.1,__zero_reg__
137:task/Alarm.c **** IO_LowAlarm = ON;
415 .LM46:
416 01c2 929A sbi 50-0x20,2
138:task/Alarm.c **** fL_Alarm = OFF; //取消低報警
418 .LM47:
419 01c4 1092 0000 sts fL_Alarm,__zero_reg__
420 01c8 0895 ret
421 .L39:
139:task/Alarm.c **** }
140:task/Alarm.c **** else
141:task/Alarm.c **** { L_Alarm_step = 3; }
423 .LM48:
424 01ca 83E0 ldi r24,lo8(3)
425 01cc 8093 0000 sts L_Alarm_step.1,r24
426 .L1:
427 01d0 0895 ret
428 /* epilogue: frame size=0 */
429 /* epilogue: noreturn */
430 /* epilogue end (size=0) */
431 /* function WatchDataTask size 237 (237) */
438 .Lscope0:
440 .global CountLag
442 CountLag:
142:task/Alarm.c **** break;
143:task/Alarm.c ****
144:task/Alarm.c **** default:
145:task/Alarm.c **** break;
146:task/Alarm.c **** }
147:task/Alarm.c **** }
148:task/Alarm.c **** }
149:task/Alarm.c ****
150:task/Alarm.c **** //---------------------------------------------------
151:task/Alarm.c **** void CountLag(void)
152:task/Alarm.c **** {
444 .LM49:
445 /* prologue: frame size=0 */
446 /* prologue end (size=0) */
153:task/Alarm.c **** LagVal = (uint32) PtVal * 5; //回滯量是額定值的5%
448 .LM50:
449 01d2 8091 0000 lds r24,PtVal
450 01d6 9091 0000 lds r25,(PtVal)+1
451 01da 9C01 movw r18,r24
452 01dc 4427 clr r20
453 01de 5527 clr r21
454 01e0 DA01 movw r26,r20
455 01e2 C901 movw r24,r18
456 01e4 62E0 ldi r22,2
457 01e6 880F 1: lsl r24
458 01e8 991F rol r25
459 01ea AA1F rol r26
460 01ec BB1F rol r27
461 01ee 6A95 dec r22
462 01f0 D1F7 brne 1b
463 01f2 820F add r24,r18
464 01f4 931F adc r25,r19
465 01f6 A41F adc r26,r20
466 01f8 B51F adc r27,r21
467 01fa 9093 0000 sts (LagVal)+1,r25
468 01fe 8093 0000 sts LagVal,r24
469 /* epilogue: frame size=0 */
470 0202 0895 ret
471 /* epilogue end (size=1) */
472 /* function CountLag size 25 (24) */
474 .Lscope1:
475 .comm fH_Alarm,1,1
476 .comm fL_Alarm,1,1
477 .lcomm LagVal,2
482 .text
484 Letext:
485 /* File "task/Alarm.c": code 262 = 0x0106 ( 261), prologues 0, epilogues 1 */
DEFINED SYMBOLS
*ABS*:00000000 Alarm.c
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:105 .data:00000000 SwitchOutDelay
.bss:00000000 H_Alarm_step.0
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:108 .bss:00000001 L_Alarm_step.1
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:114 .text:00000000 WatchDataTask
*COM*:00000001 fH_Alarm
*COM*:00000001 fL_Alarm
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:109 .bss:00000002 LagVal
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:442 .text:000001d2 CountLag
C:\DOCUME~1\zgh\LOCALS~1\Temp/cci6aaaa.s:484 .text:00000204 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Ps
__udivmodsi4
Rest5460A_Time
H_Alarm
L_Alarm
AlarmSwitch
PtVal
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -