⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 利用AVR单片机的I/O口来实现LED的亮灭
💻 LST
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000150  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         0000000e  00800060  00000150  000001e4  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000001  0080006e  0080006e  000001f2  2**0
                  ALLOC
  3 .stab         00000378  00000000  00000000  000001f4  2**2
                  CONTENTS, READONLY, DEBUGGING
  4 .stabstr      00000071  00000000  00000000  0000056c  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_aranges 00000020  00000000  00000000  000005dd  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 0000004f  00000000  00000000  000005fd  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   0000021d  00000000  00000000  0000064c  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 00000141  00000000  00000000  00000869  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   00000197  00000000  00000000  000009aa  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_frame  00000050  00000000  00000000  00000b44  2**2
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_str    000000c0  00000000  00000000  00000b94  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_loc    00000028  00000000  00000000  00000c54  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <__ctors_end>
   2:	2c c0       	rjmp	.+88     	; 0x5c <__bad_interrupt>
   4:	2b c0       	rjmp	.+86     	; 0x5c <__bad_interrupt>
   6:	2a c0       	rjmp	.+84     	; 0x5c <__bad_interrupt>
   8:	29 c0       	rjmp	.+82     	; 0x5c <__bad_interrupt>
   a:	28 c0       	rjmp	.+80     	; 0x5c <__bad_interrupt>
   c:	27 c0       	rjmp	.+78     	; 0x5c <__bad_interrupt>
   e:	26 c0       	rjmp	.+76     	; 0x5c <__bad_interrupt>
  10:	25 c0       	rjmp	.+74     	; 0x5c <__bad_interrupt>
  12:	24 c0       	rjmp	.+72     	; 0x5c <__bad_interrupt>
  14:	23 c0       	rjmp	.+70     	; 0x5c <__bad_interrupt>
  16:	22 c0       	rjmp	.+68     	; 0x5c <__bad_interrupt>
  18:	21 c0       	rjmp	.+66     	; 0x5c <__bad_interrupt>
  1a:	20 c0       	rjmp	.+64     	; 0x5c <__bad_interrupt>
  1c:	1f c0       	rjmp	.+62     	; 0x5c <__bad_interrupt>
  1e:	1e c0       	rjmp	.+60     	; 0x5c <__bad_interrupt>
  20:	1d c0       	rjmp	.+58     	; 0x5c <__bad_interrupt>
  22:	1c c0       	rjmp	.+56     	; 0x5c <__bad_interrupt>
  24:	1b c0       	rjmp	.+54     	; 0x5c <__bad_interrupt>

00000026 <__ctors_end>:
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf e5       	ldi	r28, 0x5F	; 95
  2c:	d4 e0       	ldi	r29, 0x04	; 4
  2e:	de bf       	out	0x3e, r29	; 62
  30:	cd bf       	out	0x3d, r28	; 61

00000032 <__do_copy_data>:
  32:	10 e0       	ldi	r17, 0x00	; 0
  34:	a0 e6       	ldi	r26, 0x60	; 96
  36:	b0 e0       	ldi	r27, 0x00	; 0
  38:	e0 e5       	ldi	r30, 0x50	; 80
  3a:	f1 e0       	ldi	r31, 0x01	; 1
  3c:	02 c0       	rjmp	.+4      	; 0x42 <.do_copy_data_start>

0000003e <.do_copy_data_loop>:
  3e:	05 90       	lpm	r0, Z+
  40:	0d 92       	st	X+, r0

00000042 <.do_copy_data_start>:
  42:	ae 36       	cpi	r26, 0x6E	; 110
  44:	b1 07       	cpc	r27, r17
  46:	d9 f7       	brne	.-10     	; 0x3e <.do_copy_data_loop>

00000048 <__do_clear_bss>:
  48:	10 e0       	ldi	r17, 0x00	; 0
  4a:	ae e6       	ldi	r26, 0x6E	; 110
  4c:	b0 e0       	ldi	r27, 0x00	; 0
  4e:	01 c0       	rjmp	.+2      	; 0x52 <.do_clear_bss_start>

00000050 <.do_clear_bss_loop>:
  50:	1d 92       	st	X+, r1

00000052 <.do_clear_bss_start>:
  52:	af 36       	cpi	r26, 0x6F	; 111
  54:	b1 07       	cpc	r27, r17
  56:	e1 f7       	brne	.-8      	; 0x50 <.do_clear_bss_loop>
  58:	4c d0       	rcall	.+152    	; 0xf2 <main>
  5a:	79 c0       	rjmp	.+242    	; 0x14e <_exit>

0000005c <__bad_interrupt>:
  5c:	d1 cf       	rjmp	.-94     	; 0x0 <__vectors>

0000005e <QDD>:

}

 void QDD()//检测有键按下并去抖动
{
  5e:	9b 99       	sbic	0x13, 3	; 19
  60:	04 c0       	rjmp	.+8      	; 0x6a <QDD+0xc>
	char i,k;
	k=PINC;
	if((k&0x08)==0)//有键按下
	{
		for(i=0;i<10;i++)
		{
			if((k&0x08)!=0)//无键按下
			{
				AJ=0;
			  return;
			}
		}
       AJ=1;
  62:	81 e0       	ldi	r24, 0x01	; 1
  64:	80 93 6e 00 	sts	0x006E, r24
  68:	08 95       	ret
	}
	else
	{
		AJ=0;
  6a:	10 92 6e 00 	sts	0x006E, r1
  6e:	08 95       	ret

00000070 <in>:
	}
}



 
  
void show1()
{   
    int i,j,k;
	k=(key%10);
	for(i=0;i<180;i++)
	{
		PORTB=PORTB&(~4);
		in(b[0]);
		for(j=0;j<3;j++)
		{
			in(a[k]);
		}
		PORTB=PORTB|4;
		_delay_ms(1);
	}
}

void in(char data )
{
  70:	8f b9       	out	0x0f, r24	; 15
    SPDR=data;
	while(!(SPSR & (1<<SPIF)))
  72:	77 9b       	sbis	0x0e, 7	; 14
  74:	fe cf       	rjmp	.-4      	; 0x72 <in+0x2>
  76:	08 95       	ret

00000078 <show1>:
  78:	af 92       	push	r10
  7a:	bf 92       	push	r11
  7c:	cf 92       	push	r12
  7e:	df 92       	push	r13
  80:	ef 92       	push	r14
  82:	ff 92       	push	r15
  84:	1f 93       	push	r17
  86:	cf 93       	push	r28
  88:	df 93       	push	r29
  8a:	80 91 60 00 	lds	r24, 0x0060
  8e:	6a e0       	ldi	r22, 0x0A	; 10
  90:	45 d0       	rcall	.+138    	; 0x11c <__divmodqi4>
  92:	c9 2e       	mov	r12, r25
  94:	dd 24       	eor	r13, r13
  96:	c7 fc       	sbrc	r12, 7
  98:	d0 94       	com	r13
  9a:	ee 24       	eor	r14, r14
  9c:	ff 24       	eor	r15, r15
  9e:	81 e6       	ldi	r24, 0x61	; 97
  a0:	90 e0       	ldi	r25, 0x00	; 0
  a2:	c8 0e       	add	r12, r24
  a4:	d9 1e       	adc	r13, r25
  a6:	80 ed       	ldi	r24, 0xD0	; 208
  a8:	a8 2e       	mov	r10, r24
  aa:	87 e0       	ldi	r24, 0x07	; 7
  ac:	b8 2e       	mov	r11, r24
  ae:	c2 98       	cbi	0x18, 2	; 24
  b0:	80 ec       	ldi	r24, 0xC0	; 192
  b2:	de df       	rcall	.-68     	; 0x70 <in>
  b4:	f6 01       	movw	r30, r12
  b6:	10 81       	ld	r17, Z
  b8:	c0 e0       	ldi	r28, 0x00	; 0
  ba:	d0 e0       	ldi	r29, 0x00	; 0
  bc:	81 2f       	mov	r24, r17
  be:	d8 df       	rcall	.-80     	; 0x70 <in>
  c0:	21 96       	adiw	r28, 0x01	; 1
  c2:	c3 30       	cpi	r28, 0x03	; 3
  c4:	d1 05       	cpc	r29, r1
  c6:	d1 f7       	brne	.-12     	; 0xbc <show1+0x44>
  c8:	c2 9a       	sbi	0x18, 2	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  ca:	c5 01       	movw	r24, r10
  cc:	01 97       	sbiw	r24, 0x01	; 1
  ce:	f1 f7       	brne	.-4      	; 0xcc <show1+0x54>
  d0:	08 94       	sec
  d2:	e1 1c       	adc	r14, r1
  d4:	f1 1c       	adc	r15, r1
  d6:	f4 eb       	ldi	r31, 0xB4	; 180
  d8:	ef 16       	cp	r14, r31
  da:	f1 04       	cpc	r15, r1
  dc:	41 f7       	brne	.-48     	; 0xae <show1+0x36>
  de:	df 91       	pop	r29
  e0:	cf 91       	pop	r28
  e2:	1f 91       	pop	r17
  e4:	ff 90       	pop	r15
  e6:	ef 90       	pop	r14
  e8:	df 90       	pop	r13
  ea:	cf 90       	pop	r12
  ec:	bf 90       	pop	r11
  ee:	af 90       	pop	r10
  f0:	08 95       	ret

000000f2 <main>:
  f2:	81 e5       	ldi	r24, 0x51	; 81
  f4:	8d b9       	out	0x0d, r24	; 13
  f6:	8c e2       	ldi	r24, 0x2C	; 44
  f8:	87 bb       	out	0x17, r24	; 23
  fa:	14 ba       	out	0x14, r1	; 20
  fc:	88 e0       	ldi	r24, 0x08	; 8
  fe:	85 bb       	out	0x15, r24	; 21
 100:	01 c0       	rjmp	.+2      	; 0x104 <main+0x12>
 102:	ba df       	rcall	.-140    	; 0x78 <show1>
 104:	ac df       	rcall	.-168    	; 0x5e <QDD>
 106:	80 91 6e 00 	lds	r24, 0x006E
 10a:	81 30       	cpi	r24, 0x01	; 1
 10c:	d1 f7       	brne	.-12     	; 0x102 <main+0x10>
 10e:	80 91 60 00 	lds	r24, 0x0060
 112:	8f 5f       	subi	r24, 0xFF	; 255
 114:	80 93 60 00 	sts	0x0060, r24
 118:	af df       	rcall	.-162    	; 0x78 <show1>
 11a:	f4 cf       	rjmp	.-24     	; 0x104 <main+0x12>

0000011c <__divmodqi4>:
 11c:	87 fb       	bst	r24, 7
 11e:	08 2e       	mov	r0, r24
 120:	06 26       	eor	r0, r22
 122:	87 fd       	sbrc	r24, 7
 124:	81 95       	neg	r24
 126:	67 fd       	sbrc	r22, 7
 128:	61 95       	neg	r22
 12a:	05 d0       	rcall	.+10     	; 0x136 <__udivmodqi4>
 12c:	0e f4       	brtc	.+2      	; 0x130 <__divmodqi4_1>
 12e:	91 95       	neg	r25

00000130 <__divmodqi4_1>:
 130:	07 fc       	sbrc	r0, 7
 132:	81 95       	neg	r24

00000134 <__divmodqi4_exit>:
 134:	08 95       	ret

00000136 <__udivmodqi4>:
 136:	99 1b       	sub	r25, r25
 138:	79 e0       	ldi	r23, 0x09	; 9
 13a:	04 c0       	rjmp	.+8      	; 0x144 <__udivmodqi4_ep>

0000013c <__udivmodqi4_loop>:
 13c:	99 1f       	adc	r25, r25
 13e:	96 17       	cp	r25, r22
 140:	08 f0       	brcs	.+2      	; 0x144 <__udivmodqi4_ep>
 142:	96 1b       	sub	r25, r22

00000144 <__udivmodqi4_ep>:
 144:	88 1f       	adc	r24, r24
 146:	7a 95       	dec	r23
 148:	c9 f7       	brne	.-14     	; 0x13c <__udivmodqi4_loop>
 14a:	80 95       	com	r24
 14c:	08 95       	ret

0000014e <_exit>:
 14e:	ff cf       	rjmp	.-2      	; 0x14e <_exit>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -