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

📄 main.lst

📁 利用AVR单片机的A/D功能来实现LED的亮灭
💻 LST
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000172  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         0000000e  00800060  00000172  00000206  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000005  0080006e  0080006e  00000214  2**0
                  ALLOC
  3 .stab         00000378  00000000  00000000  00000214  2**2
                  CONTENTS, READONLY, DEBUGGING
  4 .stabstr      00000071  00000000  00000000  0000058c  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_aranges 00000020  00000000  00000000  000005fd  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 00000076  00000000  00000000  0000061d  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   0000031f  00000000  00000000  00000693  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 00000163  00000000  00000000  000009b2  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   000001f4  00000000  00000000  00000b15  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_frame  00000060  00000000  00000000  00000d0c  2**2
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_str    00000102  00000000  00000000  00000d6c  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_loc    00000053  00000000  00000000  00000e6e  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:	e2 e7       	ldi	r30, 0x72	; 114
  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:	a3 37       	cpi	r26, 0x73	; 115
  54:	b1 07       	cpc	r27, r17
  56:	e1 f7       	brne	.-8      	; 0x50 <.do_clear_bss_loop>
  58:	46 d0       	rcall	.+140    	; 0xe6 <main>
  5a:	8a c0       	rjmp	.+276    	; 0x170 <_exit>

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

0000005e <csh>:
	}
}

void csh()
{
  5e:	81 e5       	ldi	r24, 0x51	; 81
  60:	8d b9       	out	0x0d, r24	; 13
	SPCR=0X51;//SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
	DDRB=0X2C;//(1<<DDRB5)(1<<DDRB3)|(1<<DDRB2);
  62:	8c e2       	ldi	r24, 0x2C	; 44
  64:	87 bb       	out	0x17, r24	; 23
	PORTB=0xff;
  66:	8f ef       	ldi	r24, 0xFF	; 255
  68:	88 bb       	out	0x18, r24	; 24
	ADMUX|=0x03;//设置AD口的基准电压,输入通道等
  6a:	87 b1       	in	r24, 0x07	; 7
  6c:	83 60       	ori	r24, 0x03	; 3
  6e:	87 b9       	out	0x07, r24	; 7
	//ADCSRA|=(1<<ADSC);//启动AD,启动首次转换
	ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|(1<<ADIF)|(0<<ADIE)|5;
  70:	85 ef       	ldi	r24, 0xF5	; 245
  72:	86 b9       	out	0x06, r24	; 6
  74:	08 95       	ret

00000076 <scz>:
	//DDRC=0X00;
	//PORTC=0x00;
	
}
void scz()
{
  76:	85 e0       	ldi	r24, 0x05	; 5
  78:	80 93 6f 00 	sts	0x006F, r24
key=NO_key;
KeyBuffer=NO_key;
  7c:	80 93 6e 00 	sts	0x006E, r24
AD_Data=NO_key;
  80:	80 93 70 00 	sts	0x0070, r24
  84:	08 95       	ret

00000086 <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[key]);
		}
		PORTB=PORTB|4;
		_delay_ms(1);
	}
}
void in(char data )
{
  86:	8f b9       	out	0x0f, r24	; 15
    SPDR=data;
	while(!(SPSR & (1<<SPIF)))
  88:	77 9b       	sbis	0x0e, 7	; 14
  8a:	fe cf       	rjmp	.-4      	; 0x88 <in+0x2>
  8c:	08 95       	ret

0000008e <show1>:
  8e:	ef 92       	push	r14
  90:	ff 92       	push	r15
  92:	0f 93       	push	r16
  94:	1f 93       	push	r17
  96:	cf 93       	push	r28
  98:	df 93       	push	r29
  9a:	00 e0       	ldi	r16, 0x00	; 0
  9c:	10 e0       	ldi	r17, 0x00	; 0
  9e:	80 ed       	ldi	r24, 0xD0	; 208
  a0:	e8 2e       	mov	r14, r24
  a2:	87 e0       	ldi	r24, 0x07	; 7
  a4:	f8 2e       	mov	r15, r24
  a6:	c2 98       	cbi	0x18, 2	; 24
  a8:	80 ec       	ldi	r24, 0xC0	; 192
  aa:	ed df       	rcall	.-38     	; 0x86 <in>
  ac:	c0 e0       	ldi	r28, 0x00	; 0
  ae:	d0 e0       	ldi	r29, 0x00	; 0
  b0:	e0 91 6f 00 	lds	r30, 0x006F
  b4:	ff 27       	eor	r31, r31
  b6:	e0 5a       	subi	r30, 0xA0	; 160
  b8:	ff 4f       	sbci	r31, 0xFF	; 255
  ba:	80 81       	ld	r24, Z
  bc:	e4 df       	rcall	.-56     	; 0x86 <in>
  be:	21 96       	adiw	r28, 0x01	; 1
  c0:	c3 30       	cpi	r28, 0x03	; 3
  c2:	d1 05       	cpc	r29, r1
  c4:	a9 f7       	brne	.-22     	; 0xb0 <show1+0x22>
  c6:	c2 9a       	sbi	0x18, 2	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  c8:	c7 01       	movw	r24, r14
  ca:	01 97       	sbiw	r24, 0x01	; 1
  cc:	f1 f7       	brne	.-4      	; 0xca <show1+0x3c>
  ce:	0f 5f       	subi	r16, 0xFF	; 255
  d0:	1f 4f       	sbci	r17, 0xFF	; 255
  d2:	04 3b       	cpi	r16, 0xB4	; 180
  d4:	11 05       	cpc	r17, r1
  d6:	39 f7       	brne	.-50     	; 0xa6 <show1+0x18>
  d8:	df 91       	pop	r29
  da:	cf 91       	pop	r28
  dc:	1f 91       	pop	r17
  de:	0f 91       	pop	r16
  e0:	ff 90       	pop	r15
  e2:	ef 90       	pop	r14
  e4:	08 95       	ret

000000e6 <main>:
  e6:	bb df       	rcall	.-138    	; 0x5e <csh>
  e8:	c6 df       	rcall	.-116    	; 0x76 <scz>
  ea:	86 b1       	in	r24, 0x06	; 6
  ec:	82 95       	swap	r24
  ee:	8f 70       	andi	r24, 0x0F	; 15
  f0:	80 ff       	sbrs	r24, 0
  f2:	15 c0       	rjmp	.+42     	; 0x11e <main+0x38>
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
  f4:	80 e5       	ldi	r24, 0x50	; 80
  f6:	8a 95       	dec	r24
  f8:	f1 f7       	brne	.-4      	; 0xf6 <main+0x10>
  fa:	24 b1       	in	r18, 0x04	; 4
  fc:	85 b1       	in	r24, 0x05	; 5
  fe:	99 27       	eor	r25, r25
 100:	98 2f       	mov	r25, r24
 102:	88 27       	eor	r24, r24
 104:	82 0f       	add	r24, r18
 106:	91 1d       	adc	r25, r1
 108:	90 93 72 00 	sts	0x0072, r25
 10c:	80 93 71 00 	sts	0x0071, r24
 110:	8c 59       	subi	r24, 0x9C	; 156
 112:	9f 4f       	sbci	r25, 0xFF	; 255
 114:	68 ec       	ldi	r22, 0xC8	; 200
 116:	70 e0       	ldi	r23, 0x00	; 0
 118:	17 d0       	rcall	.+46     	; 0x148 <__udivmodhi4>
 11a:	60 93 70 00 	sts	0x0070, r22
 11e:	90 91 70 00 	lds	r25, 0x0070
 122:	80 91 6e 00 	lds	r24, 0x006E
 126:	89 17       	cp	r24, r25
 128:	31 f0       	breq	.+12     	; 0x136 <main+0x50>
 12a:	90 93 6e 00 	sts	0x006E, r25
 12e:	95 30       	cpi	r25, 0x05	; 5
 130:	11 f0       	breq	.+4      	; 0x136 <main+0x50>
 132:	90 93 6f 00 	sts	0x006F, r25
 136:	ab df       	rcall	.-170    	; 0x8e <show1>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 138:	80 ea       	ldi	r24, 0xA0	; 160
 13a:	9f e0       	ldi	r25, 0x0F	; 15
 13c:	01 97       	sbiw	r24, 0x01	; 1
 13e:	f1 f7       	brne	.-4      	; 0x13c <main+0x56>
 140:	85 e0       	ldi	r24, 0x05	; 5
 142:	80 93 6f 00 	sts	0x006F, r24
 146:	d1 cf       	rjmp	.-94     	; 0xea <main+0x4>

00000148 <__udivmodhi4>:
 148:	aa 1b       	sub	r26, r26
 14a:	bb 1b       	sub	r27, r27
 14c:	51 e1       	ldi	r21, 0x11	; 17
 14e:	07 c0       	rjmp	.+14     	; 0x15e <__udivmodhi4_ep>

00000150 <__udivmodhi4_loop>:
 150:	aa 1f       	adc	r26, r26
 152:	bb 1f       	adc	r27, r27
 154:	a6 17       	cp	r26, r22
 156:	b7 07       	cpc	r27, r23
 158:	10 f0       	brcs	.+4      	; 0x15e <__udivmodhi4_ep>
 15a:	a6 1b       	sub	r26, r22
 15c:	b7 0b       	sbc	r27, r23

0000015e <__udivmodhi4_ep>:
 15e:	88 1f       	adc	r24, r24
 160:	99 1f       	adc	r25, r25
 162:	5a 95       	dec	r21
 164:	a9 f7       	brne	.-22     	; 0x150 <__udivmodhi4_loop>
 166:	80 95       	com	r24
 168:	90 95       	com	r25
 16a:	bc 01       	movw	r22, r24
 16c:	cd 01       	movw	r24, r26
 16e:	08 95       	ret

00000170 <_exit>:
 170:	ff cf       	rjmp	.-2      	; 0x170 <_exit>

⌨️ 快捷键说明

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