📄 m16_ad.lss
字号:
PORTB=0x00; //B口初始化输出1;C口初始化输出0;点亮全部数码管;
218: 18 ba out 0x18, r1 ; 24
PORTD=0xff;
21a: 82 bb out 0x12, r24 ; 18
ADMUX=0x01; //选择第二通道ADC1;AREF
21c: 81 e0 ldi r24, 0x01 ; 1
21e: 87 b9 out 0x07, r24 ; 7
ADCSRA=0xe6; //125K转换速率,自由转换模式;启动AD转换器;
220: 86 ee ldi r24, 0xE6 ; 230
222: 86 b9 out 0x06, r24 ; 6
224: 80 e7 ldi r24, 0x70 ; 112
226: 97 e1 ldi r25, 0x17 ; 23
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
228: 28 eb ldi r18, 0xB8 ; 184
22a: 30 e0 ldi r19, 0x00 ; 0
22c: f9 01 movw r30, r18
22e: 31 97 sbiw r30, 0x01 ; 1
230: f1 f7 brne .-4 ; 0x22e <main+0x28>
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
{
// wait 1/10 ms
_delay_loop_2(((F_CPU) / 4e3) / 10);
__ticks --;
232: 01 97 sbiw r24, 0x01 ; 1
__ticks = 1;
else if (__tmp > 65535)
{
// __ticks = requested delay in 1/10 ms
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
234: d9 f7 brne .-10 ; 0x22c <main+0x26>
236: c0 e0 ldi r28, 0x00 ; 0
238: d8 e4 ldi r29, 0x48 ; 72
//ADCSRA = (1<<ADEN) | (1<<ADSC) | (1<<ADATE)| (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0) ;
_delay_ms(600); //延时待系统稳定;
//DelayMs(3000);
while(1)
{
ret = ADC_Convert();
23a: 0e 94 65 00 call 0xca ; 0xca <ADC_Convert>
//i = (i*5.0/1024)*1000; // 此处浮点也,MCU开支可不小!
ret *= 4.88; // 输出原值
23e: a0 e0 ldi r26, 0x00 ; 0
240: b0 e0 ldi r27, 0x00 ; 0
242: bc 01 movw r22, r24
244: cd 01 movw r24, r26
246: 0e 94 73 01 call 0x2e6 ; 0x2e6 <__floatunsisf>
24a: 26 ef ldi r18, 0xF6 ; 246
24c: 38 e2 ldi r19, 0x28 ; 40
24e: 4c e9 ldi r20, 0x9C ; 156
250: 50 e4 ldi r21, 0x40 ; 64
252: 0e 94 d9 01 call 0x3b2 ; 0x3b2 <__mulsf3>
Process(ret,Data);
256: 0e 94 47 01 call 0x28e ; 0x28e <__fixunssfsi>
25a: dc 01 movw r26, r24
25c: cb 01 movw r24, r22
25e: 64 e7 ldi r22, 0x74 ; 116
260: 70 e0 ldi r23, 0x00 ; 0
262: 0e 94 df 00 call 0x1be ; 0x1be <Process>
266: a4 e7 ldi r26, 0x74 ; 116
268: b0 e0 ldi r27, 0x00 ; 0
26a: 21 e0 ldi r18, 0x01 ; 1
void Display(uint8_t *p) //间隔5ms显示
{
uint8_t i,sel=0x01;
for(i=0;i<4;i++)
{
PORTD=sel;
26c: 22 bb out 0x12, r18 ; 18
PORTB=0xff-Table[p[i]];
26e: ed 91 ld r30, X+
270: f0 e0 ldi r31, 0x00 ; 0
272: e0 5a subi r30, 0xA0 ; 160
274: ff 4f sbci r31, 0xFF ; 255
276: 80 81 ld r24, Z
278: 80 95 com r24
27a: 88 bb out 0x18, r24 ; 24
27c: ce 01 movw r24, r28
27e: 01 97 sbiw r24, 0x01 ; 1
280: f1 f7 brne .-4 ; 0x27e <main+0x78>
_delay_ms(10);
//DelayMs(10);
sel=sel<<1;
282: 22 0f add r18, r18
}
void Display(uint8_t *p) //间隔5ms显示
{
uint8_t i,sel=0x01;
for(i=0;i<4;i++)
284: 80 e0 ldi r24, 0x00 ; 0
286: a8 37 cpi r26, 0x78 ; 120
288: b8 07 cpc r27, r24
28a: 81 f7 brne .-32 ; 0x26c <main+0x66>
28c: d6 cf rjmp .-84 ; 0x23a <main+0x34>
0000028e <__fixunssfsi>:
28e: 70 d0 rcall .+224 ; 0x370 <__fp_splitA>
290: 88 f0 brcs .+34 ; 0x2b4 <__fixunssfsi+0x26>
292: 9f 57 subi r25, 0x7F ; 127
294: 90 f0 brcs .+36 ; 0x2ba <__fixunssfsi+0x2c>
296: b9 2f mov r27, r25
298: 99 27 eor r25, r25
29a: b7 51 subi r27, 0x17 ; 23
29c: a0 f0 brcs .+40 ; 0x2c6 <__fixunssfsi+0x38>
29e: d1 f0 breq .+52 ; 0x2d4 <__fixunssfsi+0x46>
2a0: 66 0f add r22, r22
2a2: 77 1f adc r23, r23
2a4: 88 1f adc r24, r24
2a6: 99 1f adc r25, r25
2a8: 1a f0 brmi .+6 ; 0x2b0 <__fixunssfsi+0x22>
2aa: ba 95 dec r27
2ac: c9 f7 brne .-14 ; 0x2a0 <__fixunssfsi+0x12>
2ae: 12 c0 rjmp .+36 ; 0x2d4 <__fixunssfsi+0x46>
2b0: b1 30 cpi r27, 0x01 ; 1
2b2: 81 f0 breq .+32 ; 0x2d4 <__fixunssfsi+0x46>
2b4: 77 d0 rcall .+238 ; 0x3a4 <__fp_zero>
2b6: b1 e0 ldi r27, 0x01 ; 1
2b8: 08 95 ret
2ba: 74 c0 rjmp .+232 ; 0x3a4 <__fp_zero>
2bc: 67 2f mov r22, r23
2be: 78 2f mov r23, r24
2c0: 88 27 eor r24, r24
2c2: b8 5f subi r27, 0xF8 ; 248
2c4: 39 f0 breq .+14 ; 0x2d4 <__fixunssfsi+0x46>
2c6: b9 3f cpi r27, 0xF9 ; 249
2c8: cc f3 brlt .-14 ; 0x2bc <__fixunssfsi+0x2e>
2ca: 86 95 lsr r24
2cc: 77 95 ror r23
2ce: 67 95 ror r22
2d0: b3 95 inc r27
2d2: d9 f7 brne .-10 ; 0x2ca <__fixunssfsi+0x3c>
2d4: 3e f4 brtc .+14 ; 0x2e4 <__fixunssfsi+0x56>
2d6: 90 95 com r25
2d8: 80 95 com r24
2da: 70 95 com r23
2dc: 61 95 neg r22
2de: 7f 4f sbci r23, 0xFF ; 255
2e0: 8f 4f sbci r24, 0xFF ; 255
2e2: 9f 4f sbci r25, 0xFF ; 255
2e4: 08 95 ret
000002e6 <__floatunsisf>:
2e6: e8 94 clt
2e8: 09 c0 rjmp .+18 ; 0x2fc <__floatsisf+0x12>
000002ea <__floatsisf>:
2ea: 97 fb bst r25, 7
2ec: 3e f4 brtc .+14 ; 0x2fc <__floatsisf+0x12>
2ee: 90 95 com r25
2f0: 80 95 com r24
2f2: 70 95 com r23
2f4: 61 95 neg r22
2f6: 7f 4f sbci r23, 0xFF ; 255
2f8: 8f 4f sbci r24, 0xFF ; 255
2fa: 9f 4f sbci r25, 0xFF ; 255
2fc: 99 23 and r25, r25
2fe: a9 f0 breq .+42 ; 0x32a <__floatsisf+0x40>
300: f9 2f mov r31, r25
302: 96 e9 ldi r25, 0x96 ; 150
304: bb 27 eor r27, r27
306: 93 95 inc r25
308: f6 95 lsr r31
30a: 87 95 ror r24
30c: 77 95 ror r23
30e: 67 95 ror r22
310: b7 95 ror r27
312: f1 11 cpse r31, r1
314: f8 cf rjmp .-16 ; 0x306 <__floatsisf+0x1c>
316: fa f4 brpl .+62 ; 0x356 <__floatsisf+0x6c>
318: bb 0f add r27, r27
31a: 11 f4 brne .+4 ; 0x320 <__floatsisf+0x36>
31c: 60 ff sbrs r22, 0
31e: 1b c0 rjmp .+54 ; 0x356 <__floatsisf+0x6c>
320: 6f 5f subi r22, 0xFF ; 255
322: 7f 4f sbci r23, 0xFF ; 255
324: 8f 4f sbci r24, 0xFF ; 255
326: 9f 4f sbci r25, 0xFF ; 255
328: 16 c0 rjmp .+44 ; 0x356 <__floatsisf+0x6c>
32a: 88 23 and r24, r24
32c: 11 f0 breq .+4 ; 0x332 <__floatsisf+0x48>
32e: 96 e9 ldi r25, 0x96 ; 150
330: 11 c0 rjmp .+34 ; 0x354 <__floatsisf+0x6a>
332: 77 23 and r23, r23
334: 21 f0 breq .+8 ; 0x33e <__floatsisf+0x54>
336: 9e e8 ldi r25, 0x8E ; 142
338: 87 2f mov r24, r23
33a: 76 2f mov r23, r22
33c: 05 c0 rjmp .+10 ; 0x348 <__floatsisf+0x5e>
33e: 66 23 and r22, r22
340: 71 f0 breq .+28 ; 0x35e <__floatsisf+0x74>
342: 96 e8 ldi r25, 0x86 ; 134
344: 86 2f mov r24, r22
346: 70 e0 ldi r23, 0x00 ; 0
348: 60 e0 ldi r22, 0x00 ; 0
34a: 2a f0 brmi .+10 ; 0x356 <__floatsisf+0x6c>
34c: 9a 95 dec r25
34e: 66 0f add r22, r22
350: 77 1f adc r23, r23
352: 88 1f adc r24, r24
354: da f7 brpl .-10 ; 0x34c <__floatsisf+0x62>
356: 88 0f add r24, r24
358: 96 95 lsr r25
35a: 87 95 ror r24
35c: 97 f9 bld r25, 7
35e: 08 95 ret
00000360 <__fp_split3>:
360: 57 fd sbrc r21, 7
362: 90 58 subi r25, 0x80 ; 128
364: 44 0f add r20, r20
366: 55 1f adc r21, r21
368: 59 f0 breq .+22 ; 0x380 <__fp_splitA+0x10>
36a: 5f 3f cpi r21, 0xFF ; 255
36c: 71 f0 breq .+28 ; 0x38a <__fp_splitA+0x1a>
36e: 47 95 ror r20
00000370 <__fp_splitA>:
370: 88 0f add r24, r24
372: 97 fb bst r25, 7
374: 99 1f adc r25, r25
376: 61 f0 breq .+24 ; 0x390 <__fp_splitA+0x20>
378: 9f 3f cpi r25, 0xFF ; 255
37a: 79 f0 breq .+30 ; 0x39a <__fp_splitA+0x2a>
37c: 87 95 ror r24
37e: 08 95 ret
380: 12 16 cp r1, r18
382: 13 06 cpc r1, r19
384: 14 06 cpc r1, r20
386: 55 1f adc r21, r21
388: f2 cf rjmp .-28 ; 0x36e <__fp_split3+0xe>
38a: 46 95 lsr r20
38c: f1 df rcall .-30 ; 0x370 <__fp_splitA>
38e: 08 c0 rjmp .+16 ; 0x3a0 <__fp_splitA+0x30>
390: 16 16 cp r1, r22
392: 17 06 cpc r1, r23
394: 18 06 cpc r1, r24
396: 99 1f adc r25, r25
398: f1 cf rjmp .-30 ; 0x37c <__fp_splitA+0xc>
39a: 86 95 lsr r24
39c: 71 05 cpc r23, r1
39e: 61 05 cpc r22, r1
3a0: 08 94 sec
3a2: 08 95 ret
000003a4 <__fp_zero>:
3a4: e8 94 clt
000003a6 <__fp_szero>:
3a6: bb 27 eor r27, r27
3a8: 66 27 eor r22, r22
3aa: 77 27 eor r23, r23
3ac: cb 01 movw r24, r22
3ae: 97 f9 bld r25, 7
3b0: 08 95 ret
000003b2 <__mulsf3>:
3b2: 0b d0 rcall .+22 ; 0x3ca <__mulsf3x>
3b4: 78 c0 rjmp .+240 ; 0x4a6 <__fp_round>
3b6: 69 d0 rcall .+210 ; 0x48a <__fp_pscA>
3b8: 28 f0 brcs .+10 ; 0x3c4 <__mulsf3+0x12>
3ba: 6e d0 rcall .+220 ; 0x498 <__fp_pscB>
3bc: 18 f0 brcs .+6 ; 0x3c4 <__mulsf3+0x12>
3be: 95 23 and r25, r21
3c0: 09 f0 breq .+2 ; 0x3c4 <__mulsf3+0x12>
3c2: 5a c0 rjmp .+180 ; 0x478 <__fp_inf>
3c4: 5f c0 rjmp .+190 ; 0x484 <__fp_nan>
3c6: 11 24 eor r1, r1
3c8: ee cf rjmp .-36 ; 0x3a6 <__fp_szero>
000003ca <__mulsf3x>:
3ca: ca df rcall .-108 ; 0x360 <__fp_split3>
3cc: a0 f3 brcs .-24 ; 0x3b6 <__mulsf3+0x4>
000003ce <__mulsf3_pse>:
3ce: 95 9f mul r25, r21
3d0: d1 f3 breq .-12 ; 0x3c6 <__mulsf3+0x14>
3d2: 95 0f add r25, r21
3d4: 50 e0 ldi r21, 0x00 ; 0
3d6: 55 1f adc r21, r21
3d8: 62 9f mul r22, r18
3da: f0 01 movw r30, r0
3dc: 72 9f mul r23, r18
3de: bb 27 eor r27, r27
3e0: f0 0d add r31, r0
3e2: b1 1d adc r27, r1
3e4: 63 9f mul r22, r19
3e6: aa 27 eor r26, r26
3e8: f0 0d add r31, r0
3ea: b1 1d adc r27, r1
3ec: aa 1f adc r26, r26
3ee: 64 9f mul r22, r20
3f0: 66 27 eor r22, r22
3f2: b0 0d add r27, r0
3f4: a1 1d adc r26, r1
3f6: 66 1f adc r22, r22
3f8: 82 9f mul r24, r18
3fa: 22 27 eor r18, r18
3fc: b0 0d add r27, r0
3fe: a1 1d adc r26, r1
400: 62 1f adc r22, r18
402: 73 9f mul r23, r19
404: b0 0d add r27, r0
406: a1 1d adc r26, r1
408: 62 1f adc r22, r18
40a: 83 9f mul r24, r19
40c: a0 0d add r26, r0
40e: 61 1d adc r22, r1
410: 22 1f adc r18, r18
412: 74 9f mul r23, r20
414: 33 27 eor r19, r19
416: a0 0d add r26, r0
418: 61 1d adc r22, r1
41a: 23 1f adc r18, r19
41c: 84 9f mul r24, r20
41e: 60 0d add r22, r0
420: 21 1d adc r18, r1
422: 82 2f mov r24, r18
424: 76 2f mov r23, r22
426: 6a 2f mov r22, r26
428: 11 24 eor r1, r1
42a: 9f 57 subi r25, 0x7F ; 127
42c: 50 40 sbci r21, 0x00 ; 0
42e: 8a f0 brmi .+34 ; 0x452 <__mulsf3_pse+0x84>
430: e1 f0 breq .+56 ; 0x46a <__stack+0xb>
432: 88 23 and r24, r24
434: 4a f0 brmi .+18 ; 0x448 <__mulsf3_pse+0x7a>
436: ee 0f add r30, r30
438: ff 1f adc r31, r31
43a: bb 1f adc r27, r27
43c: 66 1f adc r22, r22
43e: 77 1f adc r23, r23
440: 88 1f adc r24, r24
442: 91 50 subi r25, 0x01 ; 1
444: 50 40 sbci r21, 0x00 ; 0
446: a9 f7 brne .-22 ; 0x432 <__mulsf3_pse+0x64>
448: 9e 3f cpi r25, 0xFE ; 254
44a: 51 05 cpc r21, r1
44c: 70 f0 brcs .+28 ; 0x46a <__stack+0xb>
44e: 14 c0 rjmp .+40 ; 0x478 <__fp_inf>
450: aa cf rjmp .-172 ; 0x3a6 <__fp_szero>
452: 5f 3f cpi r21, 0xFF ; 255
454: ec f3 brlt .-6 ; 0x450 <__mulsf3_pse+0x82>
456: 98 3e cpi r25, 0xE8 ; 232
458: dc f3 brlt .-10 ; 0x450 <__mulsf3_pse+0x82>
45a: 86 95 lsr r24
45c: 77 95 ror r23
45e: 67 95 ror r22
460: b7 95 ror r27
462: f7 95 ror r31
464: e7 95 ror r30
466: 9f 5f subi r25, 0xFF ; 255
468: c1 f7 brne .-16 ; 0x45a <__mulsf3_pse+0x8c>
46a: fe 2b or r31, r30
46c: 88 0f add r24, r24
46e: 91 1d adc r25, r1
470: 96 95 lsr r25
472: 87 95 ror r24
474: 97 f9 bld r25, 7
476: 08 95 ret
00000478 <__fp_inf>:
478: 97 f9 bld r25, 7
47a: 9f 67 ori r25, 0x7F ; 127
47c: 80 e8 ldi r24, 0x80 ; 128
47e: 70 e0 ldi r23, 0x00 ; 0
480: 60 e0 ldi r22, 0x00 ; 0
482: 08 95 ret
00000484 <__fp_nan>:
484: 9f ef ldi r25, 0xFF ; 255
486: 80 ec ldi r24, 0xC0 ; 192
488: 08 95 ret
0000048a <__fp_pscA>:
48a: 00 24 eor r0, r0
48c: 0a 94 dec r0
48e: 16 16 cp r1, r22
490: 17 06 cpc r1, r23
492: 18 06 cpc r1, r24
494: 09 06 cpc r0, r25
496: 08 95 ret
00000498 <__fp_pscB>:
498: 00 24 eor r0, r0
49a: 0a 94 dec r0
49c: 12 16 cp r1, r18
49e: 13 06 cpc r1, r19
4a0: 14 06 cpc r1, r20
4a2: 05 06 cpc r0, r21
4a4: 08 95 ret
000004a6 <__fp_round>:
4a6: 09 2e mov r0, r25
4a8: 03 94 inc r0
4aa: 00 0c add r0, r0
4ac: 11 f4 brne .+4 ; 0x4b2 <__fp_round+0xc>
4ae: 88 23 and r24, r24
4b0: 52 f0 brmi .+20 ; 0x4c6 <__fp_round+0x20>
4b2: bb 0f add r27, r27
4b4: 40 f4 brcc .+16 ; 0x4c6 <__fp_round+0x20>
4b6: bf 2b or r27, r31
4b8: 11 f4 brne .+4 ; 0x4be <__fp_round+0x18>
4ba: 60 ff sbrs r22, 0
4bc: 04 c0 rjmp .+8 ; 0x4c6 <__fp_round+0x20>
4be: 6f 5f subi r22, 0xFF ; 255
4c0: 7f 4f sbci r23, 0xFF ; 255
4c2: 8f 4f sbci r24, 0xFF ; 255
4c4: 9f 4f sbci r25, 0xFF ; 255
4c6: 08 95 ret
000004c8 <__udivmodhi4>:
4c8: aa 1b sub r26, r26
4ca: bb 1b sub r27, r27
4cc: 51 e1 ldi r21, 0x11 ; 17
4ce: 07 c0 rjmp .+14 ; 0x4de <__udivmodhi4_ep>
000004d0 <__udivmodhi4_loop>:
4d0: aa 1f adc r26, r26
4d2: bb 1f adc r27, r27
4d4: a6 17 cp r26, r22
4d6: b7 07 cpc r27, r23
4d8: 10 f0 brcs .+4 ; 0x4de <__udivmodhi4_ep>
4da: a6 1b sub r26, r22
4dc: b7 0b sbc r27, r23
000004de <__udivmodhi4_ep>:
4de: 88 1f adc r24, r24
4e0: 99 1f adc r25, r25
4e2: 5a 95 dec r21
4e4: a9 f7 brne .-22 ; 0x4d0 <__udivmodhi4_loop>
4e6: 80 95 com r24
4e8: 90 95 com r25
4ea: bc 01 movw r22, r24
4ec: cd 01 movw r24, r26
4ee: 08 95 ret
000004f0 <_exit>:
4f0: f8 94 cli
000004f2 <__stop_program>:
4f2: ff cf rjmp .-2 ; 0x4f2 <__stop_program>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -