?? ad.lss
字號:
AD.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 000003fc 00000490 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 000003fc 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000002 00800100 00800100 00000490 2**0
ALLOC
3 .noinit 00000000 00800102 00800102 00000490 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000490 2**0
CONTENTS
5 .stab 000007b0 00000000 00000000 00000490 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000a97 00000000 00000000 00000c40 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c
4: 0c 94 63 00 jmp 0xc6
8: 0c 94 63 00 jmp 0xc6
c: 0c 94 63 00 jmp 0xc6
10: 0c 94 63 00 jmp 0xc6
14: 0c 94 63 00 jmp 0xc6
18: 0c 94 63 00 jmp 0xc6
1c: 0c 94 63 00 jmp 0xc6
20: 0c 94 63 00 jmp 0xc6
24: 0c 94 63 00 jmp 0xc6
28: 0c 94 63 00 jmp 0xc6
2c: 0c 94 63 00 jmp 0xc6
30: 0c 94 63 00 jmp 0xc6
34: 0c 94 63 00 jmp 0xc6
38: 0c 94 63 00 jmp 0xc6
3c: 0c 94 63 00 jmp 0xc6
40: 0c 94 63 00 jmp 0xc6
44: 0c 94 63 00 jmp 0xc6
48: 0c 94 63 00 jmp 0xc6
4c: 0c 94 63 00 jmp 0xc6
50: 0c 94 63 00 jmp 0xc6
54: 0c 94 63 00 jmp 0xc6
58: 0c 94 63 00 jmp 0xc6
5c: 0c 94 63 00 jmp 0xc6
60: 0c 94 63 00 jmp 0xc6
64: 0c 94 63 00 jmp 0xc6
68: 0c 94 63 00 jmp 0xc6
6c: 0c 94 63 00 jmp 0xc6
70: 0c 94 63 00 jmp 0xc6
74: 0c 94 63 00 jmp 0xc6
78: 0c 94 63 00 jmp 0xc6
7c: 0c 94 63 00 jmp 0xc6
80: 0c 94 63 00 jmp 0xc6
84: 0c 94 63 00 jmp 0xc6
88: 0c 94 63 00 jmp 0xc6
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: ec ef ldi r30, 0xFC ; 252
a0: f3 e0 ldi r31, 0x03 ; 3
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac
000000a8 <.__do_copy_data_loop>:
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
000000ac <.__do_copy_data_start>:
ac: a0 30 cpi r26, 0x00 ; 0
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a0 e0 ldi r26, 0x00 ; 0
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a2 30 cpi r26, 0x02 ; 2
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba
c2: 0c 94 3b 01 jmp 0x276
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0
000000ca <delay_us>:
//******************************延時子程序*****************************************
void delay_us(uint16_t u) //延時2us左右,delay(240)=100us;
{
while(u)
ca: 00 97 sbiw r24, 0x00 ; 0
cc: 11 f0 breq .+4 ; 0xd2
{
u--;
ce: 01 97 sbiw r24, 0x01 ; 1
d0: f1 f7 brne .-4 ; 0xce
}
}
d2: 08 95 ret
000000d4 <delay_ms>:
// 延時nms
void delay_ms(uint16_t m)
{
d4: 0f 93 push r16
d6: 1f 93 push r17
d8: cf 93 push r28
da: df 93 push r29
dc: 8c 01 movw r16, r24
uint16_t i;
for(i=0;i<m;i++)
de: c0 e0 ldi r28, 0x00 ; 0
e0: d0 e0 ldi r29, 0x00 ; 0
e2: c8 17 cp r28, r24
e4: d9 07 cpc r29, r25
e6: 40 f4 brcc .+16 ; 0xf8
{
delay_us(2400); //延時1ms
e8: 80 e6 ldi r24, 0x60 ; 96
ea: 99 e0 ldi r25, 0x09 ; 9
ec: 0e 94 65 00 call 0xca
f0: 21 96 adiw r28, 0x01 ; 1
f2: c0 17 cp r28, r16
f4: d1 07 cpc r29, r17
f6: c0 f3 brcs .-16 ; 0xe8
}
}
f8: df 91 pop r29
fa: cf 91 pop r28
fc: 1f 91 pop r17
fe: 0f 91 pop r16
100: 08 95 ret
00000102 <delay_s>:
//延時ns
void delay_s(uint16_t n)
{
102: 0f 93 push r16
104: 1f 93 push r17
106: cf 93 push r28
108: df 93 push r29
10a: 8c 01 movw r16, r24
uint16_t j;
for(j=0;j<n;j++)
10c: c0 e0 ldi r28, 0x00 ; 0
10e: d0 e0 ldi r29, 0x00 ; 0
110: c8 17 cp r28, r24
112: d9 07 cpc r29, r25
114: 40 f4 brcc .+16 ; 0x126
{
delay_ms(1000); //延時1s
116: 88 ee ldi r24, 0xE8 ; 232
118: 93 e0 ldi r25, 0x03 ; 3
11a: 0e 94 6a 00 call 0xd4
11e: 21 96 adiw r28, 0x01 ; 1
120: c0 17 cp r28, r16
122: d1 07 cpc r29, r17
124: c0 f3 brcs .-16 ; 0x116
}
}
126: df 91 pop r29
128: cf 91 pop r28
12a: 1f 91 pop r17
12c: 0f 91 pop r16
12e: 08 95 ret
00000130 <AD0_SETTING_AND_START>:
//================================AD轉(zhuǎn)換設(shè)置,并啟動轉(zhuǎn)換=========================
void AD0_SETTING_AND_START()
{
//Avcc作為基準電壓源,AREF引腳外加濾波電容,通道0
ADMUX = 0x00;
130: 17 b8 out 0x07, r1 ; 7
//AD時鐘的分頻因子為128(AD轉(zhuǎn)換頻率為115.2k),啟動AD轉(zhuǎn)換
ADCSRA=0x87;
132: 87 e8 ldi r24, 0x87 ; 135
134: 86 b9 out 0x06, r24 ; 6
}
136: 08 95 ret
00000138 <AD0_RESULT_FILTER>:
//=================================AD轉(zhuǎn)換濾波====================================
// AD轉(zhuǎn)換 采樣10次 去首尾求平均濾波
void AD0_RESULT_FILTER(void)
{
138: ef 92 push r14
13a: ff 92 push r15
13c: 0f 93 push r16
13e: 1f 93 push r17
140: cf 93 push r28
142: df 93 push r29
144: cd b7 in r28, 0x3d ; 61
146: de b7 in r29, 0x3e ; 62
148: 64 97 sbiw r28, 0x14 ; 20
14a: 0f b6 in r0, 0x3f ; 63
14c: f8 94 cli
14e: de bf out 0x3e, r29 ; 62
150: 0f be out 0x3f, r0 ; 63
152: cd bf out 0x3d, r28 ; 61
uint8_t i,index1,index2,low;
uint16_t result_array[10],sum,temp=0x00;
float ad0_average;
//Avcc作為基準電壓源,AREF引腳外加濾波電容,通道0
ADMUX=0x00;
154: 17 b8 out 0x07, r1 ; 7
for(i=0;i<10;i++)
156: 00 e0 ldi r16, 0x00 ; 0
{
//AD時鐘的分頻因子128
ADCSRA=0x87;
158: 87 e8 ldi r24, 0x87 ; 135
15a: 86 b9 out 0x06, r24 ; 6
ADCSRA|=1<<ADSC;
15c: 36 9a sbi 0x06, 6 ; 6
loop_until_bit_is_set(ADCSRA,ADIF); //等待AD轉(zhuǎn)換結(jié)束
15e: 34 9b sbis 0x06, 4 ; 6
160: fe cf rjmp .-4 ; 0x15e
ADCSRA=ADCSRA|(1<<ADIF);
162: 34 9a sbi 0x06, 4 ; 6
low=ADCL;
164: 24 b1 in r18, 0x04 ; 4
temp=ADCH;
166: 85 b1 in r24, 0x05 ; 5
168: 99 27 eor r25, r25
temp=temp<<8;
16a: 98 2f mov r25, r24
16c: 88 27 eor r24, r24
temp=temp+low;
16e: 82 0f add r24, r18
170: 91 1d adc r25, r1
result_array[i]=temp;//AD轉(zhuǎn)換結(jié)果
172: e0 2f mov r30, r16
174: ff 27 eor r31, r31
176: ee 0f add r30, r30
178: ff 1f adc r31, r31
17a: 7e 01 movw r14, r28
17c: 08 94 sec
17e: e1 1c adc r14, r1
180: f1 1c adc r15, r1
182: ee 0d add r30, r14
184: ff 1d adc r31, r15
186: 80 83 st Z, r24
188: 91 83 std Z+1, r25 ; 0x01
ADCSRA=ADCSRA &(~(1<<ADEN));
18a: 37 98 cbi 0x06, 7 ; 6
delay_us(100);
18c: 84 e6 ldi r24, 0x64 ; 100
18e: 90 e0 ldi r25, 0x00 ; 0
190: 0e 94 65 00 call 0xca
194: 0f 5f subi r16, 0xFF ; 255
196: 0a 30 cpi r16, 0x0A ; 10
198: f8 f2 brcs .-66 ; 0x158
19a: 40 e0 ldi r20, 0x00 ; 0
}
index1=0;//最大數(shù)對應序號
index2=0;//最小數(shù)對應序號
19c: 54 2f mov r21, r20
for(i=0;i<10;i++)
19e: 04 2f mov r16, r20
1a0: d7 01 movw r26, r14
{
if(result_array[i]>result_array[index1])
1a2: e4 2f mov r30, r20
1a4: ff 27 eor r31, r31
1a6: ee 0f add r30, r30
1a8: ff 1f adc r31, r31
1aa: ee 0d add r30, r14
1ac: ff 1d adc r31, r15
1ae: 2d 91 ld r18, X+
1b0: 3d 91 ld r19, X+
1b2: 80 81 ld r24, Z
1b4: 91 81 ldd r25, Z+1 ; 0x01
1b6: 82 17 cp r24, r18
1b8: 93 07 cpc r25, r19
1ba: 08 f4 brcc .+2 ; 0x1be
{
index1=i;
1bc: 40 2f mov r20, r16
}
if(result_array[i]<result_array[index2])
1be: e5 2f mov r30, r21
1c0: ff 27 eor r31, r31
1c2: ee 0f add r30, r30
1c4: ff 1f adc r31, r31
1c6: ee 0d add r30, r14
1c8: ff 1d adc r31, r15
1ca: 80 81 ld r24, Z
1cc: 91 81 ldd r25, Z+1 ; 0x01
1ce: 28 17 cp r18, r24
1d0: 39 07 cpc r19, r25
1d2: 08 f4 brcc .+2 ; 0x1d6
{
index2=i;
1d4: 50 2f mov r21, r16
1d6: 0f 5f subi r16, 0xFF ; 255
1d8: 0a 30 cpi r16, 0x0A ; 10
1da: 18 f3 brcs .-58 ; 0x1a2
}
}
sum=0;
1dc: 20 e0 ldi r18, 0x00 ; 0
1de: 30 e0 ldi r19, 0x00 ; 0
for(i=0;i<10;i++)
1e0: 00 e0 ldi r16, 0x00 ; 0
1e2: f7 01 movw r30, r14
{
if((i==index1)||(i==index2))
1e4: 04 17 cp r16, r20
1e6: 31 f0 breq .+12 ; 0x1f4
1e8: 05 17 cp r16, r21
1ea: 21 f0 breq .+8 ; 0x1f4
continue;
sum=sum+result_array[i];
1ec: 80 81 ld r24, Z
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -