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

📄 15.3.lst

📁 中间配套传感器的测试 avr 有很多地方需要改进
💻 LST
字号:

15.3.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000000  00800100  0000018e  00000222  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         0000018e  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000003  00800100  00800100  00000222  2**0
                  ALLOC
  3 .noinit       00000000  00800103  00800103  00000222  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000222  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  00000222  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 0000006e  00000000  00000000  00000236  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   00000131  00000000  00000000  000002a4  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 000000b2  00000000  00000000  000003d5  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   0000010a  00000000  00000000  00000487  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    000000a5  00000000  00000000  00000591  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 46 00 	jmp	0x8c <__ctors_end>
   4:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
   8:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
   c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  10:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  14:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  18:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  1c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  20:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  24:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  28:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  2c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  30:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  34:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  38:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  3c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  40:	0c 94 65 00 	jmp	0xca <__vector_16>
  44:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  48:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  4c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  50:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  54:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  58:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  5c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  60:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  64:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  68:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  6c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  70:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  74:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  78:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  7c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  80:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  84:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  88:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>

0000008c <__ctors_end>:
  8c:	11 24       	eor	r1, r1
  8e:	1f be       	out	0x3f, r1	; 63
  90:	cf ef       	ldi	r28, 0xFF	; 255
  92:	d0 e1       	ldi	r29, 0x10	; 16
  94:	de bf       	out	0x3e, r29	; 62
  96:	cd bf       	out	0x3d, r28	; 61

00000098 <__do_copy_data>:
  98:	11 e0       	ldi	r17, 0x01	; 1
  9a:	a0 e0       	ldi	r26, 0x00	; 0
  9c:	b1 e0       	ldi	r27, 0x01	; 1
  9e:	ee e8       	ldi	r30, 0x8E	; 142
  a0:	f1 e0       	ldi	r31, 0x01	; 1
  a2:	00 e0       	ldi	r16, 0x00	; 0
  a4:	0b bf       	out	0x3b, r16	; 59
  a6:	02 c0       	rjmp	.+4      	; 0xac <.__do_copy_data_start>

000000a8 <.__do_copy_data_loop>:
  a8:	07 90       	elpm	r0, Z+
  aa:	0d 92       	st	X+, r0

000000ac <.__do_copy_data_start>:
  ac:	a0 30       	cpi	r26, 0x00	; 0
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8 <.__do_copy_data_loop>

000000b2 <__do_clear_bss>:
  b2:	11 e0       	ldi	r17, 0x01	; 1
  b4:	a0 e0       	ldi	r26, 0x00	; 0
  b6:	b1 e0       	ldi	r27, 0x01	; 1
  b8:	01 c0       	rjmp	.+2      	; 0xbc <.do_clear_bss_start>

000000ba <.do_clear_bss_loop>:
  ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
  bc:	a3 30       	cpi	r26, 0x03	; 3
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba <.do_clear_bss_loop>
  c2:	0c 94 b1 00 	jmp	0x162 <main>

000000c6 <__bad_interrupt>:
  c6:	0c 94 00 00 	jmp	0x0 <__heap_end>

000000ca <__vector_16>:
unsigned char tmp;
void initialize_timer(void);
void delay(int d1,int d2);
SIGNAL(SIG_OVERFLOW0)
{
  ca:	1f 92       	push	r1
  cc:	0f 92       	push	r0
  ce:	0f b6       	in	r0, 0x3f	; 63
  d0:	0f 92       	push	r0
  d2:	11 24       	eor	r1, r1
  d4:	8f 93       	push	r24
  d6:	9f 93       	push	r25
	TCNT0=141;
  d8:	8d e8       	ldi	r24, 0x8D	; 141
  da:	82 bf       	out	0x32, r24	; 50
	count++;
  dc:	80 91 02 01 	lds	r24, 0x0102
  e0:	8f 5f       	subi	r24, 0xFF	; 255
  e2:	80 93 02 01 	sts	0x0102, r24
	switch(count)
  e6:	80 91 02 01 	lds	r24, 0x0102
  ea:	99 27       	eor	r25, r25
  ec:	82 30       	cpi	r24, 0x02	; 2
  ee:	91 05       	cpc	r25, r1
  f0:	59 f0       	breq	.+22     	; 0x108 <__vector_16+0x3e>
  f2:	83 30       	cpi	r24, 0x03	; 3
  f4:	91 05       	cpc	r25, r1
  f6:	1c f0       	brlt	.+6      	; 0xfe <__vector_16+0x34>
  f8:	03 97       	sbiw	r24, 0x03	; 3
  fa:	89 f4       	brne	.+34     	; 0x11e <__vector_16+0x54>
  fc:	0e c0       	rjmp	.+28     	; 0x11a <__vector_16+0x50>
  fe:	01 97       	sbiw	r24, 0x01	; 1
 100:	71 f4       	brne	.+28     	; 0x11e <__vector_16+0x54>
	{
		case 1: 
				tmp=PINE|0x04;
 102:	81 b1       	in	r24, 0x01	; 1
 104:	84 60       	ori	r24, 0x04	; 4
 106:	02 c0       	rjmp	.+4      	; 0x10c <__vector_16+0x42>
				PORTE=tmp;//中间传感器发射
				center_sensor=PINF;//PINF=0x00
				break;
		case 2: 
				//center_sensor=PINF&0x10;
				tmp=PINE&~0x04;
 108:	81 b1       	in	r24, 0x01	; 1
 10a:	8b 7f       	andi	r24, 0xFB	; 251
 10c:	80 93 00 01 	sts	0x0100, r24
				PORTE=tmp;//停止发射
 110:	83 b9       	out	0x03, r24	; 3
				center_sensor=PINF;//0x10
 112:	80 b1       	in	r24, 0x00	; 0
 114:	80 93 01 01 	sts	0x0101, r24
 118:	02 c0       	rjmp	.+4      	; 0x11e <__vector_16+0x54>
				//count=0;
				break;
		case 3:
				count=0;
 11a:	10 92 02 01 	sts	0x0102, r1
 11e:	9f 91       	pop	r25
 120:	8f 91       	pop	r24
 122:	0f 90       	pop	r0
 124:	0f be       	out	0x3f, r0	; 63
 126:	0f 90       	pop	r0
 128:	1f 90       	pop	r1
 12a:	18 95       	reti

0000012c <initialize_timer>:
				break;
		/*default:
				break;*/
	}
}
int main()
{
	DDRD=0xf0;
	DDRE=0x04;
	DDRF=~0x10;
	initialize_timer();
	while(1)
	{
		delay(1000,1000);
		PORTD=center_sensor;
	}
}
void initialize_timer()
{
	TCNT0=141;//记数初值
 12c:	8d e8       	ldi	r24, 0x8D	; 141
 12e:	82 bf       	out	0x32, r24	; 50
	TCCR0=0x03;//时钟选择
 130:	83 e0       	ldi	r24, 0x03	; 3
 132:	83 bf       	out	0x33, r24	; 51
	TIMSK=0x01;//溢出中断使能
 134:	81 e0       	ldi	r24, 0x01	; 1
 136:	87 bf       	out	0x37, r24	; 55
	sei();//置位
 138:	78 94       	sei
 13a:	08 95       	ret

0000013c <delay>:
}
void delay(int d1,int d2)
{
	int i,j;
	for(i=0;i<d1;i++)
 13c:	40 e0       	ldi	r20, 0x00	; 0
 13e:	50 e0       	ldi	r21, 0x00	; 0
 140:	48 17       	cp	r20, r24
 142:	59 07       	cpc	r21, r25
 144:	6c f4       	brge	.+26     	; 0x160 <delay+0x24>
		for(j=0;j<d2;j++);
 146:	20 e0       	ldi	r18, 0x00	; 0
 148:	30 e0       	ldi	r19, 0x00	; 0
 14a:	02 c0       	rjmp	.+4      	; 0x150 <delay+0x14>
 14c:	2f 5f       	subi	r18, 0xFF	; 255
 14e:	3f 4f       	sbci	r19, 0xFF	; 255
 150:	26 17       	cp	r18, r22
 152:	37 07       	cpc	r19, r23
 154:	dc f3       	brlt	.-10     	; 0x14c <delay+0x10>
 156:	4f 5f       	subi	r20, 0xFF	; 255
 158:	5f 4f       	sbci	r21, 0xFF	; 255
 15a:	48 17       	cp	r20, r24
 15c:	59 07       	cpc	r21, r25
 15e:	9c f3       	brlt	.-26     	; 0x146 <delay+0xa>
 160:	08 95       	ret

00000162 <main>:
 162:	cf ef       	ldi	r28, 0xFF	; 255
 164:	d0 e1       	ldi	r29, 0x10	; 16
 166:	de bf       	out	0x3e, r29	; 62
 168:	cd bf       	out	0x3d, r28	; 61
 16a:	80 ef       	ldi	r24, 0xF0	; 240
 16c:	81 bb       	out	0x11, r24	; 17
 16e:	84 e0       	ldi	r24, 0x04	; 4
 170:	82 b9       	out	0x02, r24	; 2
 172:	8f ee       	ldi	r24, 0xEF	; 239
 174:	80 93 61 00 	sts	0x0061, r24
 178:	0e 94 96 00 	call	0x12c <initialize_timer>
 17c:	68 ee       	ldi	r22, 0xE8	; 232
 17e:	73 e0       	ldi	r23, 0x03	; 3
 180:	cb 01       	movw	r24, r22
 182:	0e 94 9e 00 	call	0x13c <delay>
 186:	80 91 01 01 	lds	r24, 0x0101
 18a:	82 bb       	out	0x12, r24	; 18
 18c:	f7 cf       	rjmp	.-18     	; 0x17c <main+0x1a>

⌨️ 快捷键说明

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