📄 main.lss
字号:
1cc: 90 93 3c 01 sts 0x013C, r25
1d0: 80 93 3b 01 sts 0x013B, r24
line4 = "";
1d4: 90 93 37 01 sts 0x0137, r25
1d8: 80 93 36 01 sts 0x0136, r24
initlcd();
1dc: 8a df rcall .-236 ; 0xf2 <initlcd>
clear();
1de: 96 df rcall .-212 ; 0x10c <clear>
1e0: 08 95 ret
000001e2 <get_ad>:
}
uchar get_ad(void)
{ uchar i;
1e2: 80 e6 ldi r24, 0x60 ; 96
1e4: 80 93 7c 00 sts 0x007C, r24
ADMUX = 0x60; /*基准AVCC、左对齐、通0*/
ADCSRA = 0xC2; /*使能、开启、4分频*/
1e8: 92 ec ldi r25, 0xC2 ; 194
1ea: 90 93 7a 00 sts 0x007A, r25
ADMUX = 0x67; /*基准AVCC、左对齐、通道7*/
1ee: 87 e6 ldi r24, 0x67 ; 103
1f0: 80 93 7c 00 sts 0x007C, r24
ADCSRA = 0xC2; /*使能、开启、4分频*/
1f4: 90 93 7a 00 sts 0x007A, r25
while(!(ADCSRA & (1 << ADIF))); /*等待*/
1f8: 80 91 7a 00 lds r24, 0x007A
1fc: 84 ff sbrs r24, 4
1fe: fc cf rjmp .-8 ; 0x1f8 <get_ad+0x16>
i=ADCH;
200: 80 91 79 00 lds r24, 0x0079
ADCSRA &= ~(1 << ADIF); /*清标志*/
204: 90 91 7a 00 lds r25, 0x007A
208: 9f 7e andi r25, 0xEF ; 239
20a: 90 93 7a 00 sts 0x007A, r25
ADCSRA &= ~(1 << ADEN); /*关闭转换*/
20e: 90 91 7a 00 lds r25, 0x007A
212: 9f 77 andi r25, 0x7F ; 127
214: 90 93 7a 00 sts 0x007A, r25
return i;
}
218: 99 27 eor r25, r25
21a: 08 95 ret
0000021c <__vector_4>:
int main(void)
{
uchar i;
IO_INT();
system_init();
PCICR=0x03;
PCIFR=0x03;
PCMSK1=0x02;
PCMSK0=0x40;
sei();
while(1)
{
get_ad();
i=get_ad();
v=i;
num_do(v);
wcom(0x94);
wdata(table[nb]);
wcom(0x95);
wdata(table[ns]);
wcom(0x96);
wdata(table[ng]);
line1 = "AVR_ATmega48 PRO";
line2 = "ADC-7 V=";
display();
PORTB |=(1 << PB7);
_delay_ms(255);
_delay_ms(255);
PORTB &=~(1 << PB7);
}
}
ISR(PCINT1_vect)
{
21c: 1f 92 push r1
21e: 0f 92 push r0
220: 0f b6 in r0, 0x3f ; 63
222: 0f 92 push r0
224: 11 24 eor r1, r1
226: 0f 93 push r16
228: 1f 93 push r17
22a: 2f 93 push r18
22c: 3f 93 push r19
22e: 4f 93 push r20
230: 5f 93 push r21
232: 6f 93 push r22
234: 7f 93 push r23
236: 8f 93 push r24
238: 9f 93 push r25
23a: af 93 push r26
23c: bf 93 push r27
23e: ef 93 push r30
240: ff 93 push r31
line3 = "写入V=";
242: 81 e0 ldi r24, 0x01 ; 1
244: 91 e0 ldi r25, 0x01 ; 1
246: 90 93 3c 01 sts 0x013C, r25
24a: 80 93 3b 01 sts 0x013B, r24
display();
24e: 63 df rcall .-314 ; 0x116 <display>
num_do(v);
250: 80 91 38 01 lds r24, 0x0138
254: 0b df rcall .-490 ; 0x6c <num_do>
wcom(0x8b);
256: 8b e8 ldi r24, 0x8B ; 139
258: 34 df rcall .-408 ; 0xc2 <wcom>
wdata(table[nb]);
25a: 80 91 3f 01 lds r24, 0x013F
25e: 09 e2 ldi r16, 0x29 ; 41
260: 11 e0 ldi r17, 0x01 ; 1
262: f8 01 movw r30, r16
264: e8 0f add r30, r24
266: f1 1d adc r31, r1
268: 80 81 ld r24, Z
26a: 37 df rcall .-402 ; 0xda <wdata>
wcom(0x8c);
26c: 8c e8 ldi r24, 0x8C ; 140
26e: 29 df rcall .-430 ; 0xc2 <wcom>
wdata(table[ns]);
270: 80 91 34 01 lds r24, 0x0134
274: f8 01 movw r30, r16
276: e8 0f add r30, r24
278: f1 1d adc r31, r1
27a: 80 81 ld r24, Z
27c: 2e df rcall .-420 ; 0xda <wdata>
wcom(0x8d);
27e: 8d e8 ldi r24, 0x8D ; 141
280: 20 df rcall .-448 ; 0xc2 <wcom>
wdata(table[ng]);
282: 80 91 35 01 lds r24, 0x0135
286: 08 0f add r16, r24
288: 11 1d adc r17, r1
28a: f8 01 movw r30, r16
28c: 80 81 ld r24, Z
28e: 25 df rcall .-438 ; 0xda <wdata>
void
eeprom_write_byte (uint8_t *addr,uint8_t value)
{
__asm__ __volatile__ (
290: 80 91 38 01 lds r24, 0x0138
294: a0 e0 ldi r26, 0x00 ; 0
296: b0 e0 ldi r27, 0x00 ; 0
298: 08 2e mov r0, r24
29a: ba d0 rcall .+372 ; 0x410 <__eeprom_write_byte_1F2021>
29c: ff 91 pop r31
29e: ef 91 pop r30
2a0: bf 91 pop r27
2a2: af 91 pop r26
2a4: 9f 91 pop r25
2a6: 8f 91 pop r24
2a8: 7f 91 pop r23
2aa: 6f 91 pop r22
2ac: 5f 91 pop r21
2ae: 4f 91 pop r20
2b0: 3f 91 pop r19
2b2: 2f 91 pop r18
2b4: 1f 91 pop r17
2b6: 0f 91 pop r16
2b8: 0f 90 pop r0
2ba: 0f be out 0x3f, r0 ; 63
2bc: 0f 90 pop r0
2be: 1f 90 pop r1
2c0: 18 95 reti
000002c2 <__vector_3>:
eeprom_write_byte (0x00,v);
}
ISR(PCINT0_vect)
{
2c2: 1f 92 push r1
2c4: 0f 92 push r0
2c6: 0f b6 in r0, 0x3f ; 63
2c8: 0f 92 push r0
2ca: 11 24 eor r1, r1
2cc: 0f 93 push r16
2ce: 1f 93 push r17
2d0: 2f 93 push r18
2d2: 3f 93 push r19
2d4: 4f 93 push r20
2d6: 5f 93 push r21
2d8: 6f 93 push r22
2da: 7f 93 push r23
2dc: 8f 93 push r24
2de: 9f 93 push r25
2e0: af 93 push r26
2e2: bf 93 push r27
2e4: ef 93 push r30
2e6: ff 93 push r31
uchar i;
line4 = "读出V=";
2e8: 88 e0 ldi r24, 0x08 ; 8
2ea: 91 e0 ldi r25, 0x01 ; 1
2ec: 90 93 37 01 sts 0x0137, r25
2f0: 80 93 36 01 sts 0x0136, r24
display();
2f4: 10 df rcall .-480 ; 0x116 <display>
uint8_t
eeprom_read_byte (const uint8_t *addr)
{
uint8_t result;
__asm__ __volatile__
2f6: a0 e0 ldi r26, 0x00 ; 0
2f8: b0 e0 ldi r27, 0x00 ; 0
2fa: 82 d0 rcall .+260 ; 0x400 <__eeprom_read_byte_1F2021>
2fc: 80 2d mov r24, r0
i=eeprom_read_byte (0x00);
num_do(i);
2fe: b6 de rcall .-660 ; 0x6c <num_do>
wcom(0x9b);
300: 8b e9 ldi r24, 0x9B ; 155
302: df de rcall .-578 ; 0xc2 <wcom>
wdata(table[nb]);
304: 80 91 3f 01 lds r24, 0x013F
308: 09 e2 ldi r16, 0x29 ; 41
30a: 11 e0 ldi r17, 0x01 ; 1
30c: f8 01 movw r30, r16
30e: e8 0f add r30, r24
310: f1 1d adc r31, r1
312: 80 81 ld r24, Z
314: e2 de rcall .-572 ; 0xda <wdata>
wcom(0x9c);
316: 8c e9 ldi r24, 0x9C ; 156
318: d4 de rcall .-600 ; 0xc2 <wcom>
wdata(table[ns]);
31a: 80 91 34 01 lds r24, 0x0134
31e: f8 01 movw r30, r16
320: e8 0f add r30, r24
322: f1 1d adc r31, r1
324: 80 81 ld r24, Z
326: d9 de rcall .-590 ; 0xda <wdata>
wcom(0x9d);
328: 8d e9 ldi r24, 0x9D ; 157
32a: cb de rcall .-618 ; 0xc2 <wcom>
wdata(table[ng]);
32c: 80 91 35 01 lds r24, 0x0135
330: 08 0f add r16, r24
332: 11 1d adc r17, r1
334: f8 01 movw r30, r16
336: 80 81 ld r24, Z
338: d0 de rcall .-608 ; 0xda <wdata>
33a: ff 91 pop r31
33c: ef 91 pop r30
33e: bf 91 pop r27
340: af 91 pop r26
342: 9f 91 pop r25
344: 8f 91 pop r24
346: 7f 91 pop r23
348: 6f 91 pop r22
34a: 5f 91 pop r21
34c: 4f 91 pop r20
34e: 3f 91 pop r19
350: 2f 91 pop r18
352: 1f 91 pop r17
354: 0f 91 pop r16
356: 0f 90 pop r0
358: 0f be out 0x3f, r0 ; 63
35a: 0f 90 pop r0
35c: 1f 90 pop r1
35e: 18 95 reti
00000360 <main>:
360: 97 de rcall .-722 ; 0x90 <IO_INT>
362: 2a df rcall .-428 ; 0x1b8 <system_init>
364: 83 e0 ldi r24, 0x03 ; 3
366: 80 93 68 00 sts 0x0068, r24
36a: 8b bb out 0x1b, r24 ; 27
36c: 82 e0 ldi r24, 0x02 ; 2
36e: 80 93 6c 00 sts 0x006C, r24
372: 80 e4 ldi r24, 0x40 ; 64
374: 80 93 6b 00 sts 0x006B, r24
378: 78 94 sei
37a: 33 df rcall .-410 ; 0x1e2 <get_ad>
37c: 32 df rcall .-412 ; 0x1e2 <get_ad>
37e: 80 93 38 01 sts 0x0138, r24
382: 74 de rcall .-792 ; 0x6c <num_do>
384: 84 e9 ldi r24, 0x94 ; 148
386: 9d de rcall .-710 ; 0xc2 <wcom>
388: e0 91 3f 01 lds r30, 0x013F
38c: ff 27 eor r31, r31
38e: e7 5d subi r30, 0xD7 ; 215
390: fe 4f sbci r31, 0xFE ; 254
392: 80 81 ld r24, Z
394: a2 de rcall .-700 ; 0xda <wdata>
396: 85 e9 ldi r24, 0x95 ; 149
398: 94 de rcall .-728 ; 0xc2 <wcom>
39a: e0 91 34 01 lds r30, 0x0134
39e: ff 27 eor r31, r31
3a0: e7 5d subi r30, 0xD7 ; 215
3a2: fe 4f sbci r31, 0xFE ; 254
3a4: 80 81 ld r24, Z
3a6: 99 de rcall .-718 ; 0xda <wdata>
3a8: 86 e9 ldi r24, 0x96 ; 150
3aa: 8b de rcall .-746 ; 0xc2 <wcom>
3ac: e0 91 35 01 lds r30, 0x0135
3b0: ff 27 eor r31, r31
3b2: e7 5d subi r30, 0xD7 ; 215
3b4: fe 4f sbci r31, 0xFE ; 254
3b6: 80 81 ld r24, Z
3b8: 90 de rcall .-736 ; 0xda <wdata>
3ba: 8f e0 ldi r24, 0x0F ; 15
3bc: 91 e0 ldi r25, 0x01 ; 1
3be: 90 93 3a 01 sts 0x013A, r25
3c2: 80 93 39 01 sts 0x0139, r24
3c6: 80 e2 ldi r24, 0x20 ; 32
3c8: 91 e0 ldi r25, 0x01 ; 1
3ca: 90 93 3e 01 sts 0x013E, r25
3ce: 80 93 3d 01 sts 0x013D, r24
3d2: a1 de rcall .-702 ; 0x116 <display>
3d4: 2f 9a sbi 0x05, 7 ; 5
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
3d6: 86 e0 ldi r24, 0x06 ; 6
3d8: 99 ef ldi r25, 0xF9 ; 249
3da: fc 01 movw r30, r24
3dc: 31 97 sbiw r30, 0x01 ; 1
3de: f1 f7 brne .-4 ; 0x3dc <main+0x7c>
3e0: 01 97 sbiw r24, 0x01 ; 1
3e2: f1 f7 brne .-4 ; 0x3e0 <main+0x80>
3e4: 2f 98 cbi 0x05, 7 ; 5
3e6: c9 cf rjmp .-110 ; 0x37a <main+0x1a>
000003e8 <__udivmodqi4>:
3e8: 99 1b sub r25, r25
3ea: 79 e0 ldi r23, 0x09 ; 9
3ec: 04 c0 rjmp .+8 ; 0x3f6 <__udivmodqi4_ep>
000003ee <__udivmodqi4_loop>:
3ee: 99 1f adc r25, r25
3f0: 96 17 cp r25, r22
3f2: 08 f0 brcs .+2 ; 0x3f6 <__udivmodqi4_ep>
3f4: 96 1b sub r25, r22
000003f6 <__udivmodqi4_ep>:
3f6: 88 1f adc r24, r24
3f8: 7a 95 dec r23
3fa: c9 f7 brne .-14 ; 0x3ee <__udivmodqi4_loop>
3fc: 80 95 com r24
3fe: 08 95 ret
00000400 <__eeprom_read_byte_1F2021>:
400: f9 99 sbic 0x1f, 1 ; 31
402: fe cf rjmp .-4 ; 0x400 <__eeprom_read_byte_1F2021>
404: b2 bd out 0x22, r27 ; 34
406: a1 bd out 0x21, r26 ; 33
408: f8 9a sbi 0x1f, 0 ; 31
40a: 11 96 adiw r26, 0x01 ; 1
40c: 00 b4 in r0, 0x20 ; 32
40e: 08 95 ret
00000410 <__eeprom_write_byte_1F2021>:
410: f9 99 sbic 0x1f, 1 ; 31
412: fe cf rjmp .-4 ; 0x410 <__eeprom_write_byte_1F2021>
414: b2 bd out 0x22, r27 ; 34
416: a1 bd out 0x21, r26 ; 33
418: 00 bc out 0x20, r0 ; 32
41a: 11 96 adiw r26, 0x01 ; 1
41c: 0f b6 in r0, 0x3f ; 63
41e: f8 94 cli
420: fa 9a sbi 0x1f, 2 ; 31
422: f9 9a sbi 0x1f, 1 ; 31
424: 0f be out 0x3f, r0 ; 63
426: 08 95 ret
00000428 <_exit>:
428: ff cf rjmp .-2 ; 0x428 <_exit>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -