?? main.lst
字號:
1 .file "main.c"
2 .arch atmega8
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
124 .data
127 t_is_read:
128 0000 01 .byte 1
129 .text
131 .global main
133 main:
1:task/main.c **** #include "inc/config.h"
2:task/main.c ****
3:task/main.c ****
4:task/main.c **** static BOOL t_is_read=true;
5:task/main.c ****
6:task/main.c **** int main(void)
7:task/main.c **** {
135 .LM1:
136 /* prologue: frame size=0 */
137 0000 C0E0 ldi r28,lo8(__stack - 0)
138 0002 D0E0 ldi r29,hi8(__stack - 0)
139 0004 DEBF out __SP_H__,r29
140 0006 CDBF out __SP_L__,r28
141 /* prologue end (size=4) */
8:task/main.c **** cli() ;
143 .LM2:
144 /* #APP */
145 0008 F894 cli
9:task/main.c **** TimerInit() ;
147 .LM3:
148 /* #NOAPP */
149 000a 00D0 rcall TimerInit
10:task/main.c **** sei();
151 .LM4:
152 /* #APP */
153 000c 7894 sei
11:task/main.c **** SynRamFromE2prom();
155 .LM5:
156 /* #NOAPP */
157 000e 00D0 rcall SynRamFromE2prom
12:task/main.c **** DisplayTemperature(1300);
159 .LM6:
160 0010 84E1 ldi r24,lo8(1300)
161 0012 95E0 ldi r25,hi8(1300)
162 0014 00D0 rcall DisplayTemperature
13:task/main.c **** DisplayHumidity(101);
164 .LM7:
165 0016 85E6 ldi r24,lo8(101)
166 0018 00D0 rcall DisplayHumidity
14:task/main.c **** RelayRst();
168 .LM8:
169 001a 00D0 rcall RelayRst
15:task/main.c **** RelayJudge(AlrmStatusT,AlrmStatusH);
171 .LM9:
172 001c 6091 0000 lds r22,AlrmStatusH
173 0020 8091 0000 lds r24,AlrmStatusT
174 0024 00D0 rcall RelayJudge
16:task/main.c **** DisplayPower(ON);
176 .LM10:
177 0026 81E0 ldi r24,lo8(1)
178 0028 00D0 rcall DisplayPower
17:task/main.c ****
18:task/main.c **** wdt_enable ( WDTO_500MS);
180 .LM11:
181 002a 88E1 ldi r24,lo8(24)
182 002c 90E0 ldi r25,hi8(24)
183 002e 2DE0 ldi r18,lo8(13)
184 /* #APP */
185 0030 0FB6 in __tmp_reg__,__SREG__
186 0032 F894 cli
187 0034 A895 wdr
188 0036 81BD out 33,r24
189 0038 0FBE out __SREG__,__tmp_reg__
190 003a 21BD out 33,r18
191 /* #NOAPP */
192 .L2:
19:task/main.c ****
20:task/main.c **** /*
21:task/main.c **** while(1)
22:task/main.c **** {
23:task/main.c **** wdt_reset();
24:task/main.c **** hf3223_read();
25:task/main.c **** DisplayNum(hf3223_f);
26:task/main.c **** if(hf3223_f<8100)
27:task/main.c **** {
28:task/main.c **** f_sensor_h =false;
29:task/main.c **** DisplayHumidityAlarm(OFF);
30:task/main.c **** }
31:task/main.c **** else
32:task/main.c **** {
33:task/main.c **** f_sensor_h =true;
34:task/main.c **** DisplayHumidityAlarm(ON);
35:task/main.c **** }
36:task/main.c ****
37:task/main.c ****
38:task/main.c **** }*/
39:task/main.c ****
40:task/main.c **** while(1)
41:task/main.c **** {
42:task/main.c ****
43:task/main.c **** wdt_reset ();
194 .LM12:
195 /* #APP */
196 003c A895 wdr
44:task/main.c **** hf3223_read();
198 .LM13:
199 /* #NOAPP */
200 003e 00D0 rcall hf3223_read
45:task/main.c **** if(SystemStatus == RUN)
202 .LM14:
203 0040 9091 0000 lds r25,SystemStatus
204 0044 9923 tst r25
205 0046 09F0 breq .+2
206 0048 59C0 rjmp .L4
46:task/main.c **** {
47:task/main.c ****
48:task/main.c **** ////////////////////////////////////////
49:task/main.c **** if(f_500ms ==true && t_is_read==true)
208 .LM15:
209 004a 8091 0000 lds r24,f_500ms
210 004e 8130 cpi r24,lo8(1)
211 0050 49F4 brne .L5
212 0052 8091 0000 lds r24,t_is_read
213 0056 8130 cpi r24,lo8(1)
214 0058 29F4 brne .L5
50:task/main.c **** {
51:task/main.c **** f_500ms = false;
216 .LM16:
217 005a 9093 0000 sts f_500ms,r25
52:task/main.c **** t_is_read = false;
219 .LM17:
220 005e 9093 0000 sts t_is_read,r25
53:task/main.c **** convert_T( );
222 .LM18:
223 0062 00D0 rcall convert_T
224 .L5:
54:task/main.c **** }
55:task/main.c ****
56:task/main.c ****
57:task/main.c **** ///////////////////////////////////////////////////////////
58:task/main.c **** if(f_1s==true )
226 .LM19:
227 0064 8091 0000 lds r24,f_1s
228 0068 8130 cpi r24,lo8(1)
229 006a 09F0 breq .+2
230 006c 54C0 rjmp .L17
59:task/main.c **** {
60:task/main.c **** f_1s= false;
232 .LM20:
233 006e 1092 0000 sts f_1s,__zero_reg__
61:task/main.c ****
62:task/main.c **** if(t_is_read == false)//////////////
235 .LM21:
236 0072 C091 0000 lds r28,t_is_read
237 0076 CC23 tst r28
238 0078 D1F4 brne .L7
63:task/main.c **** {
64:task/main.c **** if(read_T()==true)
240 .LM22:
241 007a 00D0 rcall read_T
242 007c 8130 cpi r24,lo8(1)
243 007e 79F4 brne .L8
65:task/main.c **** {
66:task/main.c **** DisplayTemperature(Temperature);
245 .LM23:
246 0080 8091 0000 lds r24,Temperature
247 0084 9091 0000 lds r25,(Temperature)+1
248 0088 00D0 rcall DisplayTemperature
67:task/main.c **** AlrmStatusT =CompareTem(Temperature,AlrmStatusT);
250 .LM24:
251 008a 6091 0000 lds r22,AlrmStatusT
252 008e 8091 0000 lds r24,Temperature
253 0092 9091 0000 lds r25,(Temperature)+1
254 0096 00D0 rcall CompareTem
255 0098 8093 0000 sts AlrmStatusT,r24
256 009c 05C0 rjmp .L9
257 .L8:
68:task/main.c **** }
69:task/main.c **** else
70:task/main.c **** {
71:task/main.c **** DisplayTemperature(1300);
259 .LM25:
260 009e 84E1 ldi r24,lo8(1300)
261 00a0 95E0 ldi r25,hi8(1300)
262 00a2 00D0 rcall DisplayTemperature
72:task/main.c **** AlrmStatusT = NO_ALARM;
264 .LM26:
265 00a4 C093 0000 sts AlrmStatusT,r28
266 .L9:
73:task/main.c **** }
74:task/main.c **** t_is_read =true; //recover信號量
268 .LM27:
269 00a8 81E0 ldi r24,lo8(1)
270 00aa 8093 0000 sts t_is_read,r24
271 .L7:
75:task/main.c **** }//////////////////////////////////
76:task/main.c ****
77:task/main.c ****
78:task/main.c ****
79:task/main.c **** if(f_sensor_h==true)
273 .LM28:
274 00ae 8091 0000 lds r24,f_sensor_h
275 00b2 8130 cpi r24,lo8(1)
276 00b4 59F4 brne .L10
80:task/main.c **** {
81:task/main.c **** DisplayHumidity(Humidity);
278 .LM29:
279 00b6 8091 0000 lds r24,Humidity
280 00ba 00D0 rcall DisplayHumidity
82:task/main.c **** AlrmStatusH =CompareHum(Humidity,AlrmStatusH);
282 .LM30:
283 00bc 6091 0000 lds r22,AlrmStatusH
284 00c0 8091 0000 lds r24,Humidity
285 00c4 00D0 rcall CompareHum
286 00c6 8093 0000 sts AlrmStatusH,r24
287 00ca 04C0 rjmp .L11
288 .L10:
83:task/main.c **** }
84:task/main.c **** else
85:task/main.c **** {
86:task/main.c **** DisplayHumidity(101);
290 .LM31:
291 00cc 85E6 ldi r24,lo8(101)
292 00ce 00D0 rcall DisplayHumidity
87:task/main.c **** AlrmStatusH = NO_ALARM;
294 .LM32:
295 00d0 1092 0000 sts AlrmStatusH,__zero_reg__
296 .L11:
88:task/main.c **** }
89:task/main.c ****
90:task/main.c ****
91:task/main.c **** ///////////////////////////////////
92:task/main.c ****
93:task/main.c **** ///////////////////////////////
94:task/main.c **** if(SystemMode== AUTO_TH)
298 .LM33:
299 00d4 8091 0000 lds r24,SystemMode
300 00d8 8823 tst r24
301 00da E9F4 brne .L17
95:task/main.c **** {
96:task/main.c **** RelayJudge(AlrmStatusT,AlrmStatusH);
303 .LM34:
304 00dc 6091 0000 lds r22,AlrmStatusH
305 00e0 8091 0000 lds r24,AlrmStatusT
306 00e4 00D0 rcall RelayJudge
97:task/main.c **** ///////
98:task/main.c **** if(AlrmStatusT==NO_ALARM)
308 .LM35:
309 00e6 8091 0000 lds r24,AlrmStatusT
310 00ea 8111 cpse r24,__zero_reg__
99:task/main.c **** {
100:task/main.c **** DisplayTemperatureAlarm(OFF);
101:task/main.c **** }
102:task/main.c **** else
103:task/main.c **** {
104:task/main.c **** DisplayTemperatureAlarm(ON);
312 .LM36:
313 00ec 81E0 ldi r24,lo8(1)
314 .L19:
315 00ee 00D0 rcall DisplayTemperatureAlarm
105:task/main.c **** }
106:task/main.c **** ///////
107:task/main.c ****
108:task/main.c **** if(AlrmStatusH==NO_ALARM)
317 .LM37:
318 00f0 8091 0000 lds r24,AlrmStatusH
319 00f4 8111 cpse r24,__zero_reg__
109:task/main.c **** {
110:task/main.c **** DisplayHumidityAlarm(OFF);
111:task/main.c **** }
112:task/main.c **** else
113:task/main.c **** {
114:task/main.c **** DisplayHumidityAlarm(ON);
321 .LM38:
322 00f6 81E0 ldi r24,lo8(1)
323 .L20:
324 00f8 00D0 rcall DisplayHumidityAlarm
325 00fa 0DC0 rjmp .L17
326 .L4:
115:task/main.c **** }/////
116:task/main.c **** }
117:task/main.c **** ////////////////////////////////
118:task/main.c **** }
119:task/main.c **** //////////////////////////////////////////////////////end 1s
120:task/main.c ****
121:task/main.c **** ///////////////////////////////////
122:task/main.c ****
123:task/main.c ****
124:task/main.c ****
125:task/main.c ****
126:task/main.c ****
127:task/main.c **** }
128:task/main.c **** ///////////////////////////////////////////////////////////end run mode
129:task/main.c **** else
130:task/main.c **** {
131:task/main.c **** if(f_60s)
328 .LM39:
329 00fc 8091 0000 lds r24,f_60s
330 0100 8823 tst r24
331 0102 49F0 breq .L17
132:task/main.c **** {
133:task/main.c **** f_60s=false;
333 .LM40:
334 0104 1092 0000 sts f_60s,__zero_reg__
134:task/main.c **** FlashDigRst();
336 .LM41:
337 0108 00D0 rcall FlashDigRst
135:task/main.c **** RmvDot(5);
339 .LM42:
340 010a 85E0 ldi r24,lo8(5)
341 010c 90E0 ldi r25,hi8(5)
342 010e 00D0 rcall RmvDot
136:task/main.c **** SynRamFromE2prom(); //清除ram中被改變,而未在eeprom備份的值
344 .LM43:
345 0110 00D0 rcall SynRamFromE2prom
137:task/main.c **** SystemStatus=RUN; //系統(tǒng)狀態(tài)恢復(fù)成運(yùn)行態(tài)
347 .LM44:
348 0112 1092 0000 sts SystemStatus,__zero_reg__
349 .L17:
138:task/main.c **** }
139:task/main.c ****
140:task/main.c **** }
141:task/main.c ****
142:task/main.c **** KeyScan ( );
351 .LM45:
352 0116 00D0 rcall KeyScan
143:task/main.c **** KeyProcess ( );
354 .LM46:
355 0118 00D0 rcall KeyProcess
356 011a 90CF rjmp .L2
357 /* epilogue: frame size=0 */
358 /* epilogue: noreturn */
359 /* epilogue end (size=0) */
360 /* function main size 153 (149) */
362 .Lscope0:
364 .text
366 Letext:
367 /* File "task/main.c": code 153 = 0x0099 ( 149), prologues 4, epilogues 0 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:127 .data:00000000 t_is_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:133 .text:00000000 main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccEPaaaa.s:366 .text:0000011c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
TimerInit
SynRamFromE2prom
DisplayTemperature
DisplayHumidity
RelayRst
AlrmStatusH
AlrmStatusT
RelayJudge
DisplayPower
hf3223_read
SystemStatus
f_500ms
convert_T
f_1s
read_T
Temperature
CompareTem
f_sensor_h
Humidity
CompareHum
SystemMode
DisplayTemperatureAlarm
DisplayHumidityAlarm
f_60s
FlashDigRst
RmvDot
KeyScan
KeyProcess
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -