📄 cs5460a.lst
字号:
87:driver/CS5460A.c **** CS_AD_A = 1;
88:driver/CS5460A.c **** CS_AD_B = 1;
89:driver/CS5460A.c **** }
90:driver/CS5460A.c ****
91:driver/CS5460A.c **** //------------------------------------------------
92:driver/CS5460A.c **** void Wr_configure(void)
93:driver/CS5460A.c **** {
94:driver/CS5460A.c **** uchar AD_Buf[4];
95:driver/CS5460A.c **** AD_Buf[0] = 0x40;
96:driver/CS5460A.c **** AD_Buf[1] = 0x04;
97:driver/CS5460A.c **** AD_Buf[2] = 0x00;
98:driver/CS5460A.c **** AD_Buf[3] = 0x61;
99:driver/CS5460A.c **** CS_AD_A = 0;
100:driver/CS5460A.c **** CS_AD_B = 0;
101:driver/CS5460A.c **** Wr5460A(AD_Buf,4);
102:driver/CS5460A.c **** CS_AD_A = 1;
103:driver/CS5460A.c **** CS_AD_B = 1;
104:driver/CS5460A.c **** }
105:driver/CS5460A.c **** //---------------------------------------------------
106:driver/CS5460A.c **** void Wr5460A(uchar *DP_Buf,uchar Buf_Count)
107:driver/CS5460A.c **** {
108:driver/CS5460A.c **** uchar i;
109:driver/CS5460A.c ****
110:driver/CS5460A.c **** SI_AD = 0;
111:driver/CS5460A.c **** CLK_AD = 0;
112:driver/CS5460A.c **** _delay_us(5);
113:driver/CS5460A.c **** for(i=0;i<Buf_Count;i++)
114:driver/CS5460A.c **** {
115:driver/CS5460A.c **** Wr_ADByte(*DP_Buf);
116:driver/CS5460A.c **** DP_Buf++;
117:driver/CS5460A.c **** }
118:driver/CS5460A.c **** }
119:driver/CS5460A.c **** //---------------------------------------------------
120:driver/CS5460A.c **** void Wr_ADByte(uchar temp)
121:driver/CS5460A.c **** {
152 .LM6:
153 /* prologue: frame size=0 */
154 /* prologue end (size=0) */
155 000e 982F mov r25,r24
122:driver/CS5460A.c **** uchar i;
123:driver/CS5460A.c ****
124:driver/CS5460A.c **** OS_CLOSE_INT();
157 .LM7:
158 /* #APP */
159 0010 F894 cli
160 /* #NOAPP */
161 0012 8091 0000 lds r24,Os_Enter_Sum
162 0016 8F5F subi r24,lo8(-(1))
163 0018 8093 0000 sts Os_Enter_Sum,r24
164 001c 2CE0 ldi r18,lo8(12)
165 001e 30E0 ldi r19,hi8(12)
166 0020 40E0 ldi r20,hlo8(12)
167 0022 50E0 ldi r21,hhi8(12)
168 0024 67E0 ldi r22,lo8(7)
169 .L32:
125:driver/CS5460A.c **** for(i=0;i<8;i++)
126:driver/CS5460A.c **** {
127:driver/CS5460A.c **** if (temp & 0x80)
171 .LM8:
172 0026 97FF sbrs r25,7
173 0028 02C0 rjmp .L14
128:driver/CS5460A.c **** { SI_AD = 1; }
175 .LM9:
176 002a A99A sbi 53-0x20,1
177 002c 01C0 rjmp .L15
178 .L14:
129:driver/CS5460A.c **** else
130:driver/CS5460A.c **** { SI_AD = 0; }
180 .LM10:
181 002e A998 cbi 53-0x20,1
182 .L15:
131:driver/CS5460A.c **** temp <<= 1;
184 .LM11:
185 0030 990F lsl r25
132:driver/CS5460A.c **** CLK_AD = 1;
187 .LM12:
188 0032 AA9A sbi 53-0x20,2
189 .LBB6:
190 .LBB7:
191 .LBB8:
192 .LBB9:
194 .Ltext3:
196 .LM13:
197 0034 822F mov r24,r18
198 /* #APP */
199 0036 8A95 1: dec r24
200 0038 F1F7 brne 1b
201 /* #NOAPP */
202 .LBE9:
203 .LBE8:
204 .LBE7:
205 .LBE6:
207 .Ltext4:
133:driver/CS5460A.c **** _delay_us(5);
134:driver/CS5460A.c **** CLK_AD = 0;
209 .LM14:
210 003a AA98 cbi 53-0x20,2
211 .LBB10:
212 .LBB11:
213 .LBB12:
214 .LBB13:
216 .Ltext5:
218 .LM15:
219 003c 822F mov r24,r18
220 /* #APP */
221 003e 8A95 1: dec r24
222 0040 F1F7 brne 1b
223 /* #NOAPP */
224 .LBE13:
225 .LBE12:
226 .LBE11:
227 .LBE10:
229 .Ltext6:
231 .LM16:
232 0042 6150 subi r22,lo8(-(-1))
233 0044 67FF sbrs r22,7
234 0046 EFCF rjmp .L32
135:driver/CS5460A.c **** _delay_us(5);
136:driver/CS5460A.c **** }
137:driver/CS5460A.c **** OS_OPEN_INT();
236 .LM17:
237 0048 8091 0000 lds r24,Os_Enter_Sum
238 004c 8150 subi r24,lo8(-(-1))
239 004e 8093 0000 sts Os_Enter_Sum,r24
240 0052 8091 0000 lds r24,Os_Enter_Sum
241 0056 8823 tst r24
242 0058 09F4 brne .L10
243 /* #APP */
244 005a 7894 sei
245 /* #NOAPP */
246 .L10:
247 005c 0895 ret
248 /* epilogue: frame size=0 */
249 /* epilogue: noreturn */
250 /* epilogue end (size=0) */
251 /* function Wr_ADByte size 46 (46) */
262 .Lscope1:
266 .global Wr5460A
268 Wr5460A:
270 .LM18:
271 /* prologue: frame size=0 */
272 005e FF92 push r15
273 0060 0F93 push r16
274 0062 1F93 push r17
275 0064 CF93 push r28
276 /* prologue end (size=4) */
277 0066 8C01 movw r16,r24
278 0068 F62E mov r15,r22
280 .LM19:
281 006a A998 cbi 53-0x20,1
283 .LM20:
284 006c AA98 cbi 53-0x20,2
285 .LBB14:
286 .LBB15:
288 .Ltext7:
290 .LM21:
291 006e 8CE0 ldi r24,lo8(12)
292 .LBB16:
293 .LBB17:
295 .LM22:
296 /* #APP */
297 0070 8A95 1: dec r24
298 0072 F1F7 brne 1b
299 /* #NOAPP */
300 .LBE17:
301 .LBE16:
302 .LBE15:
303 .LBE14:
305 .Ltext8:
307 .LM23:
308 0074 C0E0 ldi r28,lo8(0)
309 0076 C617 cp r28,r22
310 0078 38F4 brsh .L50
311 .L48:
313 .LM24:
314 007a F801 movw r30,r16
315 007c 8191 ld r24,Z+
316 007e 8F01 movw r16,r30
317 0080 C6DF rcall Wr_ADByte
319 .LM25:
320 0082 CF5F subi r28,lo8(-(1))
321 0084 CF15 cp r28,r15
322 0086 C8F3 brlo .L48
323 .L50:
324 /* epilogue: frame size=0 */
325 0088 CF91 pop r28
326 008a 1F91 pop r17
327 008c 0F91 pop r16
328 008e FF90 pop r15
329 0090 0895 ret
330 /* epilogue end (size=5) */
331 /* function Wr5460A size 28 (19) */
339 .Lscope2:
341 .global Wr_configure
343 Wr_configure:
345 .LM26:
346 /* prologue: frame size=4 */
347 0092 CF93 push r28
348 0094 DF93 push r29
349 0096 CDB7 in r28,__SP_L__
350 0098 DEB7 in r29,__SP_H__
351 009a 2497 sbiw r28,4
352 009c 0FB6 in __tmp_reg__,__SREG__
353 009e F894 cli
354 00a0 DEBF out __SP_H__,r29
355 00a2 0FBE out __SREG__,__tmp_reg__
356 00a4 CDBF out __SP_L__,r28
357 /* prologue end (size=10) */
359 .LM27:
360 00a6 80E4 ldi r24,lo8(64)
361 00a8 8983 std Y+1,r24
363 .LM28:
364 00aa FE01 movw r30,r28
365 00ac 3196 adiw r30,1
366 00ae 94E0 ldi r25,lo8(4)
367 00b0 9183 std Z+1,r25
369 .LM29:
370 00b2 1B82 std Y+3,__zero_reg__
372 .LM30:
373 00b4 81E6 ldi r24,lo8(97)
374 00b6 8C83 std Y+4,r24
376 .LM31:
377 00b8 AD98 cbi 53-0x20,5
379 .LM32:
380 00ba A898 cbi 53-0x20,0
382 .LM33:
383 00bc 692F mov r22,r25
384 00be CF01 movw r24,r30
385 00c0 CEDF rcall Wr5460A
387 .LM34:
388 00c2 AD9A sbi 53-0x20,5
390 .LM35:
391 00c4 A89A sbi 53-0x20,0
392 /* epilogue: frame size=4 */
393 00c6 2496 adiw r28,4
394 00c8 0FB6 in __tmp_reg__,__SREG__
395 00ca F894 cli
396 00cc DEBF out __SP_H__,r29
397 00ce 0FBE out __SREG__,__tmp_reg__
398 00d0 CDBF out __SP_L__,r28
399 00d2 DF91 pop r29
400 00d4 CF91 pop r28
401 00d6 0895 ret
402 /* epilogue end (size=9) */
403 /* function Wr_configure size 35 (16) */
408 .Lscope3:
410 .global Wr_interrupt
412 Wr_interrupt:
414 .LM36:
415 /* prologue: frame size=4 */
416 00d8 CF93 push r28
417 00da DF93 push r29
418 00dc CDB7 in r28,__SP_L__
419 00de DEB7 in r29,__SP_H__
420 00e0 2497 sbiw r28,4
421 00e2 0FB6 in __tmp_reg__,__SREG__
422 00e4 F894 cli
423 00e6 DEBF out __SP_H__,r29
424 00e8 0FBE out __SREG__,__tmp_reg__
425 00ea CDBF out __SP_L__,r28
426 /* prologue end (size=10) */
428 .LM37:
429 00ec 84E7 ldi r24,lo8(116)
430 00ee 8983 std Y+1,r24
432 .LM38:
433 00f0 FE01 movw r30,r28
434 00f2 3196 adiw r30,1
435 00f4 80E8 ldi r24,lo8(-128)
436 00f6 8183 std Z+1,r24
438 .LM39:
439 00f8 1B82 std Y+3,__zero_reg__
441 .LM40:
442 00fa 1C82 std Y+4,__zero_reg__
444 .LM41:
445 00fc AD98 cbi 53-0x20,5
447 .LM42:
448 00fe A898 cbi 53-0x20,0
450 .LM43:
451 0100 64E0 ldi r22,lo8(4)
452 0102 CF01 movw r24,r30
453 0104 ACDF rcall Wr5460A
455 .LM44:
456 0106 AD9A sbi 53-0x20,5
458 .LM45:
459 0108 A89A sbi 53-0x20,0
460 /* epilogue: frame size=4 */
461 010a 2496 adiw r28,4
462 010c 0FB6 in __tmp_reg__,__SREG__
463 010e F894 cli
464 0110 DEBF out __SP_H__,r29
465 0112 0FBE out __SREG__,__tmp_reg__
466 0114 CDBF out __SP_L__,r28
467 0116 DF91 pop r29
468 0118 CF91 pop r28
469 011a 0895 ret
470 /* epilogue end (size=9) */
471 /* function Wr_interrupt size 34 (15) */
476 .Lscope4:
478 .global Clear5460A
480 Clear5460A:
482 .LM46:
483 /* prologue: frame size=4 */
484 011c 0F93 push r16
485 011e 1F93 push r17
486 0120 CF93 push r28
487 0122 DF93 push r29
488 0124 CDB7 in r28,__SP_L__
489 0126 DEB7 in r29,__SP_H__
490 0128 2497 sbiw r28,4
491 012a 0FB6 in __tmp_reg__,__SREG__
492 012c F894 cli
493 012e DEBF out __SP_H__,r29
494 0130 0FBE out __SREG__,__tmp_reg__
495 0132 CDBF out __SP_L__,r28
496 /* prologue end (size=12) */
498 .LM47:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -