sysinit.lst
来自「cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表」· LST 代码 · 共 249 行
LST
249 行
1 .file "SysInit.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:
102 .global PinInit
104 PinInit:
1:avrgcc/SysInit.c **** /********************************************
2:avrgcc/SysInit.c **** 公司名称:
3:avrgcc/SysInit.c **** 文 件 名:
4:avrgcc/SysInit.c **** 版 本 号:
5:avrgcc/SysInit.c **** 程序设计:
6:avrgcc/SysInit.c **** 说 明:
7:avrgcc/SysInit.c **** 完成日期:
8:avrgcc/SysInit.c **** 修改日期:
9:avrgcc/SysInit.c **** 功能摘要:
10:avrgcc/SysInit.c **** **********************************************/
11:avrgcc/SysInit.c **** #define _SysInit
12:avrgcc/SysInit.c **** #include "includes.h"
13:avrgcc/SysInit.c ****
14:avrgcc/SysInit.c **** void Timer0Init(void);
15:avrgcc/SysInit.c **** void WatchDogInit(void);
16:avrgcc/SysInit.c **** void SysInit(void);
17:avrgcc/SysInit.c **** void PinInit(void);
18:avrgcc/SysInit.c ****
19:avrgcc/SysInit.c ****
20:avrgcc/SysInit.c ****
21:avrgcc/SysInit.c **** //----------------------------
22:avrgcc/SysInit.c **** void SysInit(void)
23:avrgcc/SysInit.c **** {
24:avrgcc/SysInit.c **** OS_CLOSE_INT();
25:avrgcc/SysInit.c **** PinInit();
26:avrgcc/SysInit.c **** Timer0Init();
27:avrgcc/SysInit.c **** WatchDogInit();
28:avrgcc/SysInit.c **** bit_shut();
29:avrgcc/SysInit.c **** LoadFunData();
30:avrgcc/SysInit.c **** UART_Init();
31:avrgcc/SysInit.c ****
32:avrgcc/SysInit.c **** Rest5460A();
33:avrgcc/SysInit.c **** Initi5460A();
34:avrgcc/SysInit.c ****
35:avrgcc/SysInit.c **** LoadCalibration();
36:avrgcc/SysInit.c **** CountLag();
37:avrgcc/SysInit.c **** OS_OPEN_INT();
38:avrgcc/SysInit.c **** }
39:avrgcc/SysInit.c **** //-------------------------------------------------
40:avrgcc/SysInit.c **** void Timer0Init(void)
41:avrgcc/SysInit.c **** {
42:avrgcc/SysInit.c **** TIMSK |= (1 << TOIE0) | (1 << TOIE1); //开定时器0\1溢出中断 TIMSK中断屏蔽寄存器
43:avrgcc/SysInit.c ****
44:avrgcc/SysInit.c **** TCCR0 |= (1 << CS00) | (1 << CS01); //64分频
45:avrgcc/SysInit.c **** TCNT0 = 256 - (uint32)((float)F_CPU * CLOCK_TIME0 / F_N_TIME0 / 1000); //1MS
46:avrgcc/SysInit.c ****
47:avrgcc/SysInit.c **** TCCR1B |= (1 << CS10) | (1 << CS11); //64分频
48:avrgcc/SysInit.c **** TCNT1 = 65536 - (uint32)((float)F_CPU * CLOCK_TIME1 / F_N_TIME1 / 1000); //10MS
49:avrgcc/SysInit.c **** }
50:avrgcc/SysInit.c **** //--------------------------------------------------
51:avrgcc/SysInit.c **** void WatchDogInit(void)
52:avrgcc/SysInit.c **** { wdt_enable(WDTO_1S); } //看门狗初始化,溢出时间为1S
53:avrgcc/SysInit.c **** //--------------------------------------------------
54:avrgcc/SysInit.c **** void PinInit(void)
55:avrgcc/SysInit.c **** {
106 .LM1:
107 /* prologue: frame size=0 */
108 /* prologue end (size=0) */
56:avrgcc/SysInit.c **** DDRB = 0xc7;
110 .LM2:
111 0000 87EC ldi r24,lo8(-57)
112 0002 87BB out 55-0x20,r24
57:avrgcc/SysInit.c **** PORTB = 0xff;
114 .LM3:
115 0004 9FEF ldi r25,lo8(-1)
116 0006 98BB out 56-0x20,r25
58:avrgcc/SysInit.c ****
59:avrgcc/SysInit.c **** DDRC = 0xf7;
118 .LM4:
119 0008 87EF ldi r24,lo8(-9)
120 000a 84BB out 52-0x20,r24
60:avrgcc/SysInit.c **** PORTC = 0xff;
122 .LM5:
123 000c 95BB out 53-0x20,r25
61:avrgcc/SysInit.c ****
62:avrgcc/SysInit.c **** DDRD = 0xff;
125 .LM6:
126 000e 91BB out 49-0x20,r25
63:avrgcc/SysInit.c **** PORTD = 0xff;
128 .LM7:
129 0010 92BB out 50-0x20,r25
64:avrgcc/SysInit.c ****
65:avrgcc/SysInit.c **** // AlarmSwitch= 0x01;
66:avrgcc/SysInit.c ****
67:avrgcc/SysInit.c **** IO_HighAlarm = ON;
131 .LM8:
132 0012 939A sbi 50-0x20,3
68:avrgcc/SysInit.c **** fH_Alarm = OFF;
134 .LM9:
135 0014 1092 0000 sts fH_Alarm,__zero_reg__
69:avrgcc/SysInit.c ****
70:avrgcc/SysInit.c **** IO_LowAlarm = ON;
137 .LM10:
138 0018 929A sbi 50-0x20,2
71:avrgcc/SysInit.c **** fL_Alarm = OFF;
140 .LM11:
141 001a 1092 0000 sts fL_Alarm,__zero_reg__
142 /* epilogue: frame size=0 */
143 001e 0895 ret
144 /* epilogue end (size=1) */
145 /* function PinInit size 16 (15) */
147 .Lscope0:
149 .global Timer0Init
151 Timer0Init:
153 .LM12:
154 /* prologue: frame size=0 */
155 /* prologue end (size=0) */
157 .LM13:
158 0020 89B7 in r24,89-0x20
159 0022 8560 ori r24,lo8(5)
160 0024 89BF out 89-0x20,r24
162 .LM14:
163 0026 83B7 in r24,83-0x20
164 0028 8360 ori r24,lo8(3)
165 002a 83BF out 83-0x20,r24
167 .LM15:
168 002c 8DE8 ldi r24,lo8(-115)
169 002e 82BF out 82-0x20,r24
171 .LM16:
172 0030 8EB5 in r24,78-0x20
173 0032 8360 ori r24,lo8(3)
174 0034 8EBD out 78-0x20,r24
176 .LM17:
177 0036 80E8 ldi r24,lo8(-1152)
178 0038 9BEF ldi r25,hi8(-1152)
179 003a 9DBD out (76)+1-0x20,r25
180 003c 8CBD out 76-0x20,r24
181 /* epilogue: frame size=0 */
182 003e 0895 ret
183 /* epilogue end (size=1) */
184 /* function Timer0Init size 16 (15) */
186 .Lscope1:
188 .global WatchDogInit
190 WatchDogInit:
192 .LM18:
193 /* prologue: frame size=0 */
194 /* prologue end (size=0) */
195 0040 88E1 ldi r24,lo8(24)
196 0042 90E0 ldi r25,hi8(24)
197 0044 2EE0 ldi r18,lo8(14)
198 /* #APP */
199 0046 0FB6 in __tmp_reg__,__SREG__
200 0048 F894 cli
201 004a A895 wdr
202 004c 81BD out 33,r24
203 004e 0FBE out __SREG__,__tmp_reg__
204 0050 21BD out 33,r18
205 /* #NOAPP */
206 /* epilogue: frame size=0 */
207 0052 0895 ret
208 /* epilogue end (size=1) */
209 /* function WatchDogInit size 16 (15) */
211 .Lscope2:
213 .global SysInit
215 SysInit:
217 .LM19:
218 /* prologue: frame size=0 */
219 /* prologue end (size=0) */
221 .LM20:
222 /* #APP */
223 0054 F894 cli
224 /* #NOAPP */
225 0056 8091 0000 lds r24,Os_Enter_Sum
226 005a 8F5F subi r24,lo8(-(1))
227 005c 8093 0000 sts Os_Enter_Sum,r24
229 .LM21:
230 0060 CFDF rcall PinInit
232 .LM22:
233 0062 DEDF rcall Timer0Init
235 .LM23:
236 0064 EDDF rcall WatchDogInit
238 .LM24:
239 0066 C298 cbi 56-0x20,2
240 0068 9698 cbi 50-0x20,6
241 006a 9798 cbi 50-0x20,7
242 006c C098 cbi 56-0x20,0
243 006e C198 cbi 56-0x20,1
245 .LM25:
246 0070 00D0 rcall LoadFunData
248 .LM26:
249 0072 00D0 rcall UART_Init
251 .LM27:
252 0074 00D0 rcall Rest5460A
254 .LM28:
255 0076 00D0 rcall Initi5460A
257 .LM29:
258 0078 00D0 rcall LoadCalibration
260 .LM30:
261 007a 00D0 rcall CountLag
263 .LM31:
264 007c 8091 0000 lds r24,Os_Enter_Sum
265 0080 8150 subi r24,lo8(-(-1))
266 0082 8093 0000 sts Os_Enter_Sum,r24
267 0086 8091 0000 lds r24,Os_Enter_Sum
268 008a 8823 tst r24
269 008c 09F4 brne .L4
271 .LM32:
272 /* #APP */
273 008e 7894 sei
274 /* #NOAPP */
275 .L4:
276 0090 0895 ret
277 /* epilogue: frame size=0 */
278 /* epilogue: noreturn */
279 /* epilogue end (size=0) */
280 /* function SysInit size 33 (33) */
282 .Lscope3:
283 .text
285 Letext:
286 /* File "avrgcc/SysInit.c": code 81 = 0x0051 ( 78), prologues 0, epilogues 3 */
DEFINED SYMBOLS
*ABS*:00000000 SysInit.c
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:104 .text:00000000 PinInit
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:151 .text:00000020 Timer0Init
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:190 .text:00000040 WatchDogInit
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:215 .text:00000054 SysInit
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccAPaaaa.s:285 .text:00000092 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
fH_Alarm
fL_Alarm
Os_Enter_Sum
LoadFunData
UART_Init
Rest5460A
Initi5460A
LoadCalibration
CountLag
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?