📄 adc.lss
字号:
184: df 93 push r29
186: cd b7 in r28, 0x3d ; 61
188: de b7 in r29, 0x3e ; 62
18a: 22 97 sbiw r28, 0x02 ; 2
18c: 0f b6 in r0, 0x3f ; 63
18e: f8 94 cli
190: de bf out 0x3e, r29 ; 62
192: 0f be out 0x3f, r0 ; 63
194: cd bf out 0x3d, r28 ; 61
196: 89 83 std Y+1, r24 ; 0x01
198: 9a 83 std Y+2, r25 ; 0x02
dtime=0;
19a: 10 92 01 01 sts 0x0101, r1
19e: 10 92 00 01 sts 0x0100, r1
TCNT2=5;
1a2: 85 e0 ldi r24, 0x05 ; 5
1a4: 80 93 b2 00 sts 0x00B2, r24
TIMSK2=0x01;//开启中断100us
1a8: 81 e0 ldi r24, 0x01 ; 1
1aa: 80 93 70 00 sts 0x0070, r24
while(dtime<time);
1ae: 29 81 ldd r18, Y+1 ; 0x01
1b0: 3a 81 ldd r19, Y+2 ; 0x02
1b2: 80 91 00 01 lds r24, 0x0100
1b6: 90 91 01 01 lds r25, 0x0101
1ba: 82 17 cp r24, r18
1bc: 93 07 cpc r25, r19
1be: 08 f4 brcc .+2 ; 0x1c2
1c0: f6 cf rjmp .-20 ; 0x1ae
TIMSK2=0;
1c2: 10 92 70 00 sts 0x0070, r1
1c6: 22 96 adiw r28, 0x02 ; 2
1c8: 0f b6 in r0, 0x3f ; 63
1ca: f8 94 cli
1cc: de bf out 0x3e, r29 ; 62
1ce: 0f be out 0x3f, r0 ; 63
1d0: cd bf out 0x3d, r28 ; 61
1d2: df 91 pop r29
1d4: cf 91 pop r28
1d6: 08 95 ret
000001d8 <putchar>:
#define fosc 20000000 //晶振8MHZ
#define baud 9600 //波特率
/* 字符输出函数 */
void putchar(unsigned char c)
{
1d8: cf 93 push r28
1da: df 93 push r29
1dc: cd b7 in r28, 0x3d ; 61
1de: de b7 in r29, 0x3e ; 62
1e0: 21 97 sbiw r28, 0x01 ; 1
1e2: 0f b6 in r0, 0x3f ; 63
1e4: f8 94 cli
1e6: de bf out 0x3e, r29 ; 62
1e8: 0f be out 0x3f, r0 ; 63
1ea: cd bf out 0x3d, r28 ; 61
1ec: 89 83 std Y+1, r24 ; 0x01
while (!(UCSR0A&(1<<UDRE0)));
1ee: 80 91 c0 00 lds r24, 0x00C0
1f2: 99 27 eor r25, r25
1f4: 96 95 lsr r25
1f6: 87 95 ror r24
1f8: 92 95 swap r25
1fa: 82 95 swap r24
1fc: 8f 70 andi r24, 0x0F ; 15
1fe: 89 27 eor r24, r25
200: 9f 70 andi r25, 0x0F ; 15
202: 89 27 eor r24, r25
204: 81 70 andi r24, 0x01 ; 1
206: 90 70 andi r25, 0x00 ; 0
208: 00 97 sbiw r24, 0x00 ; 0
20a: 09 f4 brne .+2 ; 0x20e
20c: f0 cf rjmp .-32 ; 0x1ee
UDR0=c;
20e: 89 81 ldd r24, Y+1 ; 0x01
210: 80 93 c6 00 sts 0x00C6, r24
214: 21 96 adiw r28, 0x01 ; 1
216: 0f b6 in r0, 0x3f ; 63
218: f8 94 cli
21a: de bf out 0x3e, r29 ; 62
21c: 0f be out 0x3f, r0 ; 63
21e: cd bf out 0x3d, r28 ; 61
220: df 91 pop r29
222: cf 91 pop r28
224: 08 95 ret
00000226 <getchar>:
}
/* 字符输入函数 */
unsigned char getchar(void)
{
226: cf 93 push r28
228: df 93 push r29
22a: cd b7 in r28, 0x3d ; 61
22c: de b7 in r29, 0x3e ; 62
while(!(UCSR0A& (1<<RXC0)));
22e: 80 91 c0 00 lds r24, 0x00C0
232: 88 23 and r24, r24
234: 0c f0 brlt .+2 ; 0x238
236: fb cf rjmp .-10 ; 0x22e
return UDR0;
238: 80 91 c6 00 lds r24, 0x00C6
23c: 99 27 eor r25, r25
23e: df 91 pop r29
240: cf 91 pop r28
242: 08 95 ret
00000244 <puts>:
}
/* 字符串输出函数 */
void puts(char *s,unsigned char i)
{
244: cf 93 push r28
246: df 93 push r29
248: cd b7 in r28, 0x3d ; 61
24a: de b7 in r29, 0x3e ; 62
24c: 23 97 sbiw r28, 0x03 ; 3
24e: 0f b6 in r0, 0x3f ; 63
250: f8 94 cli
252: de bf out 0x3e, r29 ; 62
254: 0f be out 0x3f, r0 ; 63
256: cd bf out 0x3d, r28 ; 61
258: 89 83 std Y+1, r24 ; 0x01
25a: 9a 83 std Y+2, r25 ; 0x02
25c: 6b 83 std Y+3, r22 ; 0x03
while (i--)
25e: 8b 81 ldd r24, Y+3 ; 0x03
260: 81 50 subi r24, 0x01 ; 1
262: 8b 83 std Y+3, r24 ; 0x03
264: 8f 3f cpi r24, 0xFF ; 255
266: 51 f0 breq .+20 ; 0x27c
{
putchar(*s);
268: e9 81 ldd r30, Y+1 ; 0x01
26a: fa 81 ldd r31, Y+2 ; 0x02
26c: 80 81 ld r24, Z
26e: b4 df rcall .-152 ; 0x1d8
s++;
270: 89 81 ldd r24, Y+1 ; 0x01
272: 9a 81 ldd r25, Y+2 ; 0x02
274: 01 96 adiw r24, 0x01 ; 1
276: 89 83 std Y+1, r24 ; 0x01
278: 9a 83 std Y+2, r25 ; 0x02
27a: f1 cf rjmp .-30 ; 0x25e
27c: 23 96 adiw r28, 0x03 ; 3
27e: 0f b6 in r0, 0x3f ; 63
280: f8 94 cli
282: de bf out 0x3e, r29 ; 62
284: 0f be out 0x3f, r0 ; 63
286: cd bf out 0x3d, r28 ; 61
288: df 91 pop r29
28a: cf 91 pop r28
28c: 08 95 ret
0000028e <uart_init>:
}
// putchar(0x0a);//回车换行
//putchar(26);
}
/* UART初始化 */
void uart_init(void)
{
28e: cf 93 push r28
290: df 93 push r29
292: cd b7 in r28, 0x3d ; 61
294: de b7 in r29, 0x3e ; 62
UCSR0B=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收
296: 88 e9 ldi r24, 0x98 ; 152
298: 80 93 c1 00 sts 0x00C1, r24
UBRR0L=(fosc/16/(baud+1))%256-1;//129;
29c: 81 e8 ldi r24, 0x81 ; 129
29e: 80 93 c4 00 sts 0x00C4, r24
UBRR0H=(fosc/16/(baud+1))/256;
2a2: 10 92 c5 00 sts 0x00C5, r1
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);//8位数据+1位STOP位
2a6: 86 e0 ldi r24, 0x06 ; 6
2a8: 80 93 c2 00 sts 0x00C2, r24
2ac: df 91 pop r29
2ae: cf 91 pop r28
2b0: 08 95 ret
000002b2 <itoa>:
2b2: e6 2f mov r30, r22
2b4: f7 2f mov r31, r23
2b6: 2e 2f mov r18, r30
2b8: 3f 2f mov r19, r31
2ba: e8 94 clt
2bc: 42 30 cpi r20, 0x02 ; 2
2be: c4 f0 brlt .+48 ; 0x2f0
2c0: 45 32 cpi r20, 0x25 ; 37
2c2: b4 f4 brge .+44 ; 0x2f0
2c4: 4a 30 cpi r20, 0x0A ; 10
2c6: 29 f4 brne .+10 ; 0x2d2
2c8: 97 fb bst r25, 7
2ca: 1e f4 brtc .+6 ; 0x2d2
2cc: 90 95 com r25
2ce: 81 95 neg r24
2d0: 9f 4f sbci r25, 0xFF ; 255
000002d2 <divide_loop>:
2d2: 64 2f mov r22, r20
2d4: 77 27 eor r23, r23
2d6: 20 d0 rcall .+64 ; 0x318
2d8: 80 5d subi r24, 0xD0 ; 208
2da: 8a 33 cpi r24, 0x3A ; 58
2dc: 0c f0 brlt .+2 ; 0x2e0
2de: 89 5d subi r24, 0xD9 ; 217
000002e0 <L_10>:
2e0: 81 93 st Z+, r24
2e2: 86 2f mov r24, r22
2e4: 97 2f mov r25, r23
2e6: 00 97 sbiw r24, 0x00 ; 0
2e8: a1 f7 brne .-24 ; 0x2d2
2ea: 16 f4 brtc .+4 ; 0x2f0
2ec: 5d e2 ldi r21, 0x2D ; 45
2ee: 51 93 st Z+, r21
000002f0 <terminate>:
2f0: 93 2f mov r25, r19
2f2: 82 2f mov r24, r18
2f4: 10 82 st Z, r1
2f6: 00 c0 rjmp .+0 ; 0x2f8
000002f8 <strrev>:
2f8: dc 01 movw r26, r24
2fa: fc 01 movw r30, r24
000002fc <.strrev_eos>:
2fc: 01 90 ld r0, Z+
2fe: 00 20 and r0, r0
300: e9 f7 brne .-6 ; 0x2fc
302: 32 97 sbiw r30, 0x02 ; 2
00000304 <.strrev_loop>:
304: ae 17 cp r26, r30
306: bf 07 cpc r27, r31
308: 30 f4 brcc .+12 ; 0x316
30a: 7c 91 ld r23, X
30c: 60 81 ld r22, Z
30e: 70 83 st Z, r23
310: 31 97 sbiw r30, 0x01 ; 1
312: 6d 93 st X+, r22
314: f7 cf rjmp .-18 ; 0x304
00000316 <.strrev_done>:
316: 08 95 ret
00000318 <__udivmodhi4>:
318: aa 1b sub r26, r26
31a: bb 1b sub r27, r27
31c: 51 e1 ldi r21, 0x11 ; 17
31e: 07 c0 rjmp .+14 ; 0x32e
00000320 <__udivmodhi4_loop>:
320: aa 1f adc r26, r26
322: bb 1f adc r27, r27
324: a6 17 cp r26, r22
326: b7 07 cpc r27, r23
328: 10 f0 brcs .+4 ; 0x32e
32a: a6 1b sub r26, r22
32c: b7 0b sbc r27, r23
0000032e <__udivmodhi4_ep>:
32e: 88 1f adc r24, r24
330: 99 1f adc r25, r25
332: 5a 95 dec r21
334: a9 f7 brne .-22 ; 0x320
336: 80 95 com r24
338: 90 95 com r25
33a: bc 01 movw r22, r24
33c: cd 01 movw r24, r26
33e: 08 95 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -