📄 main.lst
字号:
159:C:/WinAVR/avr/include/util/delay.h **** else
160:C:/WinAVR/avr/include/util/delay.h **** __ticks = (uint8_t)__tmp;
161:C:/WinAVR/avr/include/util/delay.h **** _delay_loop_1(__ticks);
162:C:/WinAVR/avr/include/util/delay.h **** }
163:C:/WinAVR/avr/include/util/delay.h ****
164:C:/WinAVR/avr/include/util/delay.h ****
165:C:/WinAVR/avr/include/util/delay.h **** /**
166:C:/WinAVR/avr/include/util/delay.h **** \ingroup util_delay
167:C:/WinAVR/avr/include/util/delay.h ****
168:C:/WinAVR/avr/include/util/delay.h **** Perform a delay of \c __ms milliseconds, using _delay_loop_2().
169:C:/WinAVR/avr/include/util/delay.h ****
170:C:/WinAVR/avr/include/util/delay.h **** The macro F_CPU is supposed to be defined to a
171:C:/WinAVR/avr/include/util/delay.h **** constant defining the CPU clock frequency (in Hertz).
172:C:/WinAVR/avr/include/util/delay.h ****
173:C:/WinAVR/avr/include/util/delay.h **** The maximal possible delay is 262.14 ms / F_CPU in MHz.
174:C:/WinAVR/avr/include/util/delay.h **** */
175:C:/WinAVR/avr/include/util/delay.h **** void
176:C:/WinAVR/avr/include/util/delay.h **** _delay_ms(double __ms)
177:C:/WinAVR/avr/include/util/delay.h **** {
178:C:/WinAVR/avr/include/util/delay.h **** uint16_t __ticks;
179:C:/WinAVR/avr/include/util/delay.h **** double __tmp = ((F_CPU) / 4e3) * __ms;
180:C:/WinAVR/avr/include/util/delay.h **** if (__tmp < 1.0)
181:C:/WinAVR/avr/include/util/delay.h **** __ticks = 1;
182:C:/WinAVR/avr/include/util/delay.h **** else if (__tmp > 65535)
183:C:/WinAVR/avr/include/util/delay.h **** __ticks = 0; /* i.e. 65536 */
184:C:/WinAVR/avr/include/util/delay.h **** else
185:C:/WinAVR/avr/include/util/delay.h **** __ticks = (uint16_t)__tmp;
133 .LM4:
134 000e 80E0 ldi r24,lo8(18432)
135 0010 98E4 ldi r25,hi8(18432)
136 .LBB4:
137 .LBB5:
139 .LM5:
140 /* #APP */
141 0012 0197 1: sbiw r24,1
142 0014 F1F7 brne 1b
143 /* #NOAPP */
144 .LBE5:
145 .LBE4:
146 .LBE3:
147 .LBE2:
149 .Ltext2:
26:avrgcc/main.c **** {
27:avrgcc/main.c **** _delay_ms(10);
28:avrgcc/main.c **** if (!UP_KEY)
151 .LM6:
152 0016 B49B sbis 54-0x20,4
29:avrgcc/main.c **** { Calibrate();}
154 .LM7:
155 0018 00D0 rcall Calibrate
156 .L23:
30:avrgcc/main.c **** }
31:avrgcc/main.c ****
32:avrgcc/main.c **** while (1)
33:avrgcc/main.c **** {
34:avrgcc/main.c **** wdt_reset(); //喂狗
158 .LM8:
159 /* #APP */
160 001a A895 wdr
35:avrgcc/main.c **** Timer1_MainLoop(); //定时时间
162 .LM9:
163 /* #NOAPP */
164 001c 00D0 rcall Timer1_MainLoop
36:avrgcc/main.c **** ScanKey_MainLoop(); //按键扫描
166 .LM10:
167 001e 00D0 rcall ScanKey_MainLoop
37:avrgcc/main.c **** KeyTask_MainLoop(); //按键任务处理
169 .LM11:
170 0020 00D0 rcall KeyTask_MainLoop
38:avrgcc/main.c **** WatchKey();
172 .LM12:
173 0022 00D0 rcall WatchKey
39:avrgcc/main.c **** DispProcess(); //显示数据更新
175 .LM13:
176 0024 00D0 rcall DispProcess
40:avrgcc/main.c **** if (TaskID == 0)
178 .LM14:
179 0026 C091 0000 lds r28,TaskID
180 002a CC23 tst r28
181 002c B1F7 brne .L23
41:avrgcc/main.c **** {
42:avrgcc/main.c **** DealDataMainLoop(); //cs5460数据处理
183 .LM15:
184 002e 00D0 rcall DealDataMainLoop
43:avrgcc/main.c **** WatchDataTask(); //报警处理
186 .LM16:
187 0030 00D0 rcall WatchDataTask
188 .LBB6:
189 .LBB7:
44:avrgcc/main.c **** Watch5460A(); //5460异常检测
45:avrgcc/main.c **** Process_Msg(); //通讯处理
46:avrgcc/main.c **** }
47:avrgcc/main.c **** }
48:avrgcc/main.c **** }
49:avrgcc/main.c **** //--------------------------------------------
50:avrgcc/main.c **** static void Watch5460A(void) //5460异常检测(3秒一次),加载校验值
51:avrgcc/main.c **** {
52:avrgcc/main.c **** if (WatchAd.fGetTime)
191 .LM17:
192 0032 8091 0000 lds r24,WatchAd
193 0036 8823 tst r24
194 0038 A1F1 breq .L19
53:avrgcc/main.c **** {
54:avrgcc/main.c **** WatchAd.fGetTime = 0;
196 .LM18:
197 003a C093 0000 sts WatchAd,r28
55:avrgcc/main.c **** WatchAd.WaitTime = _3S;
199 .LM19:
200 003e 8CE2 ldi r24,lo8(300)
201 0040 91E0 ldi r25,hi8(300)
202 0042 9093 0000 sts (WatchAd+1)+1,r25
203 0046 8093 0000 sts WatchAd+1,r24
56:avrgcc/main.c **** if (fAdRunning_A)
205 .LM20:
206 004a 8091 0000 lds r24,fAdRunning_A
207 004e 8823 tst r24
208 0050 61F0 breq .L16
57:avrgcc/main.c **** { fAdRunning_A=0;
210 .LM21:
211 0052 C093 0000 sts fAdRunning_A,r28
58:avrgcc/main.c **** Detect_T0++;}
213 .LM22:
214 0056 8091 0000 lds r24,Detect_T0
215 005a 9091 0000 lds r25,(Detect_T0)+1
216 005e 0196 adiw r24,1
217 0060 9093 0000 sts (Detect_T0)+1,r25
218 0064 8093 0000 sts Detect_T0,r24
219 0068 1CC0 rjmp .L19
220 .L16:
59:avrgcc/main.c **** else
60:avrgcc/main.c **** { Detect_T1++;
222 .LM23:
223 006a 8091 0000 lds r24,Detect_T1
224 006e 9091 0000 lds r25,(Detect_T1)+1
225 0072 0196 adiw r24,1
226 0074 9093 0000 sts (Detect_T1)+1,r25
227 0078 8093 0000 sts Detect_T1,r24
61:avrgcc/main.c **** OS_CLOSE_INT();
229 .LM24:
230 /* #APP */
231 007c F894 cli
232 /* #NOAPP */
233 007e 8091 0000 lds r24,Os_Enter_Sum
234 0082 8F5F subi r24,lo8(-(1))
235 0084 8093 0000 sts Os_Enter_Sum,r24
62:avrgcc/main.c **** Rest5460A();
237 .LM25:
238 0088 00D0 rcall Rest5460A
63:avrgcc/main.c **** Initi5460A();
240 .LM26:
241 008a 00D0 rcall Initi5460A
64:avrgcc/main.c **** LoadCalibration();
243 .LM27:
244 008c 00D0 rcall LoadCalibration
65:avrgcc/main.c **** OS_OPEN_INT();
246 .LM28:
247 008e 8091 0000 lds r24,Os_Enter_Sum
248 0092 8150 subi r24,lo8(-(-1))
249 0094 8093 0000 sts Os_Enter_Sum,r24
250 0098 8091 0000 lds r24,Os_Enter_Sum
251 009c 8823 tst r24
252 009e 09F4 brne .L19
253 /* #APP */
254 00a0 7894 sei
255 /* #NOAPP */
256 .L19:
257 .LBE7:
258 .LBE6:
260 .LM29:
261 00a2 00D0 rcall Process_Msg
262 00a4 BACF rjmp .L23
263 /* epilogue: frame size=0 */
264 /* epilogue: noreturn */
265 /* epilogue end (size=0) */
266 /* function main size 89 (85) */
271 .Lscope0:
272 .comm fTimer1_500ms,1,1
273 .comm P_test,4,1
277 .text
279 Letext:
280 /* File "avrgcc/main.c": code 89 = 0x0059 ( 85), prologues 4, epilogues 0 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:105 .data:00000000 WatchAd
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:112 .text:00000000 main
*COM*:00000001 fTimer1_500ms
*COM*:00000004 P_test
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccgXaaaa.s:279 .text:000000a6 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
SysInit
Calibrate
Timer1_MainLoop
ScanKey_MainLoop
KeyTask_MainLoop
WatchKey
DispProcess
TaskID
DealDataMainLoop
WatchDataTask
fAdRunning_A
Detect_T0
Detect_T1
Os_Enter_Sum
Rest5460A
Initi5460A
LoadCalibration
Process_Msg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -