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

📄 main.lss

📁 单片机源代码
💻 LSS
📖 第 1 页 / 共 4 页
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000c78  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         0000000a  00800060  00000c78  00000d0c  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          0000000c  0080006a  0080006a  00000d16  2**0
                  ALLOC
  3 .noinit       00000000  00800076  00800076  00000d16  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000d16  2**0
                  CONTENTS
  5 .stab         00000660  00000000  00000000  00000d18  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000615  00000000  00000000  00001378  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

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

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:	e8 e7       	ldi	r30, 0x78	; 120
  3a:	fc e0       	ldi	r31, 0x0C	; 12
  3c:	02 c0       	rjmp	.+4      	; 0x42

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

00000042 <.do_copy_data_start>:
  42:	aa 36       	cpi	r26, 0x6A	; 106
  44:	b1 07       	cpc	r27, r17
  46:	d9 f7       	brne	.-10     	; 0x3e

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

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

00000052 <.do_clear_bss_start>:
  52:	a6 37       	cpi	r26, 0x76	; 118
  54:	b1 07       	cpc	r27, r17
  56:	e1 f7       	brne	.-8      	; 0x50
  58:	20 c0       	rjmp	.+64     	; 0x9a

0000005a <__bad_interrupt>:
  5a:	d2 cf       	rjmp	.-92     	; 0x0

0000005c <__vector_14>:
void IoInit(void);

//AD转换完成中断
SIGNAL(SIG_ADC)
{
  5c:	1f 92       	push	r1
  5e:	0f 92       	push	r0
  60:	0f b6       	in	r0, 0x3f	; 63
  62:	0f 92       	push	r0
  64:	11 24       	eor	r1, r1
  66:	2f 93       	push	r18
  68:	3f 93       	push	r19
  6a:	8f 93       	push	r24
  6c:	9f 93       	push	r25
	g_nAdValue=ADCL;
  6e:	84 b1       	in	r24, 0x04	; 4
  70:	28 2f       	mov	r18, r24
  72:	33 27       	eor	r19, r19
	g_nAdValue|=(uint)(ADCH<<8);		
  74:	85 b1       	in	r24, 0x05	; 5
  76:	99 27       	eor	r25, r25
  78:	98 2f       	mov	r25, r24
  7a:	88 27       	eor	r24, r24
  7c:	28 2b       	or	r18, r24
  7e:	39 2b       	or	r19, r25
  80:	30 93 6b 00 	sts	0x006B, r19
  84:	20 93 6a 00 	sts	0x006A, r18
}
  88:	9f 91       	pop	r25
  8a:	8f 91       	pop	r24
  8c:	3f 91       	pop	r19
  8e:	2f 91       	pop	r18
  90:	0f 90       	pop	r0
  92:	0f be       	out	0x3f, r0	; 63
  94:	0f 90       	pop	r0
  96:	1f 90       	pop	r1
  98:	18 95       	reti

0000009a <main>:


int main(void)
{
  9a:	cf e5       	ldi	r28, 0x5F	; 95
  9c:	d4 e0       	ldi	r29, 0x04	; 4
  9e:	de bf       	out	0x3e, r29	; 62
  a0:	cd bf       	out	0x3d, r28	; 61
	uchar i;
	
	//内部2.56V参考电压,0通道
	ADMUX=0Xc0;
  a2:	80 ec       	ldi	r24, 0xC0	; 192
  a4:	87 b9       	out	0x07, r24	; 7
	
	//使能ADC,中断允许,自由模式, 时钟:ck/8
	ADCSRA=_BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADPS1)|_BV(ADPS0);
  a6:	8b ea       	ldi	r24, 0xAB	; 171
  a8:	86 b9       	out	0x06, r24	; 6
	
	IoInit();//标准输入/输出初始化
  aa:	2d d0       	rcall	.+90     	; 0x106
	
	ADCSRA|=_BV(ADSC);//自由模式开始转换
  ac:	36 9a       	sbi	0x06, 6	; 6
	
	while(1)
	{
		//延时
		for(i=0;i<100;i++)
  ae:	20 e0       	ldi	r18, 0x00	; 0

/* 16-bit count, 4 cycles/loop */
static inline void
_delay_loop_2(unsigned int __count)
{
  b0:	80 e1       	ldi	r24, 0x10	; 16
  b2:	97 e2       	ldi	r25, 0x27	; 39
	asm volatile (
  b4:	01 97       	sbiw	r24, 0x01	; 1
  b6:	f1 f7       	brne	.-4      	; 0xb4
  b8:	2f 5f       	subi	r18, 0xFF	; 255
  ba:	24 36       	cpi	r18, 0x64	; 100
  bc:	c8 f3       	brcs	.-14     	; 0xb0
			_delay_loop_2(4 * 250 * 10);//10ms
			
		cli();
  be:	f8 94       	cli
		printf("%d\n",g_nAdValue);
  c0:	80 91 6a 00 	lds	r24, 0x006A
  c4:	90 91 6b 00 	lds	r25, 0x006B
  c8:	9f 93       	push	r25
  ca:	8f 93       	push	r24
  cc:	80 e6       	ldi	r24, 0x60	; 96
  ce:	90 e0       	ldi	r25, 0x00	; 0
  d0:	9f 93       	push	r25
  d2:	8f 93       	push	r24
  d4:	f5 d3       	rcall	.+2026   	; 0x8c0
		sei();
  d6:	78 94       	sei
  d8:	0f 90       	pop	r0
  da:	0f 90       	pop	r0
  dc:	0f 90       	pop	r0
  de:	0f 90       	pop	r0
  e0:	e6 cf       	rjmp	.-52     	; 0xae

000000e2 <usart_putchar>:
#include <stdio.h>

//uart写一字节数据
int usart_putchar(char c)
{
  e2:	cf 93       	push	r28
  e4:	c8 2f       	mov	r28, r24
	if(c=='\n')
  e6:	8a 30       	cpi	r24, 0x0A	; 10
  e8:	11 f4       	brne	.+4      	; 0xee
		usart_putchar('\r');
  ea:	8d e0       	ldi	r24, 0x0D	; 13
  ec:	fa df       	rcall	.-12     	; 0xe2
	loop_until_bit_is_set(UCSRA,UDRE);
  ee:	5d 9b       	sbis	0x0b, 5	; 11
  f0:	fe cf       	rjmp	.-4      	; 0xee
	UDR=c;
  f2:	cc b9       	out	0x0c, r28	; 12
	return 0;
}
  f4:	80 e0       	ldi	r24, 0x00	; 0
  f6:	90 e0       	ldi	r25, 0x00	; 0
  f8:	cf 91       	pop	r28
  fa:	08 95       	ret

000000fc <usart_getchar>:
//uart读一字节数据
int usart_getchar(void)
{
	loop_until_bit_is_set(UCSRA,RXC);
  fc:	5f 9b       	sbis	0x0b, 7	; 11
  fe:	fe cf       	rjmp	.-4      	; 0xfc
	return UDR;
 100:	8c b1       	in	r24, 0x0c	; 12
 102:	99 27       	eor	r25, r25
}
 104:	08 95       	ret

00000106 <IoInit>:

void IoInit(void)
{
	//初始化uart
	UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
 106:	88 e1       	ldi	r24, 0x18	; 24
 108:	8a b9       	out	0x0a, r24	; 10
	UBRRL=25;	//9600 baud 6MHz:38  4MHz:25	
 10a:	89 e1       	ldi	r24, 0x19	; 25
 10c:	89 b9       	out	0x09, r24	; 9
	
	//打开标准I/O流
	fdevopen(usart_putchar,usart_getchar,0);	
 10e:	40 e0       	ldi	r20, 0x00	; 0
 110:	50 e0       	ldi	r21, 0x00	; 0
 112:	6e e7       	ldi	r22, 0x7E	; 126
 114:	70 e0       	ldi	r23, 0x00	; 0
 116:	81 e7       	ldi	r24, 0x71	; 113
 118:	90 e0       	ldi	r25, 0x00	; 0
 11a:	25 d3       	rcall	.+1610   	; 0x766
}
 11c:	08 95       	ret

0000011e <vfprintf>:
 11e:	af e0       	ldi	r26, 0x0F	; 15
 120:	b0 e0       	ldi	r27, 0x00	; 0
 122:	e4 e9       	ldi	r30, 0x94	; 148
 124:	f0 e0       	ldi	r31, 0x00	; 0
 126:	4f c5       	rjmp	.+2718   	; 0xbc6
 128:	aa 24       	eor	r10, r10
 12a:	bb 24       	eor	r11, r11
 12c:	65 01       	movw	r12, r10
 12e:	3c 01       	movw	r6, r24
 130:	2b 01       	movw	r4, r22
 132:	4d 87       	std	Y+13, r20	; 0x0d
 134:	5e 87       	std	Y+14, r21	; 0x0e
 136:	22 24       	eor	r2, r2
 138:	fc 01       	movw	r30, r24
 13a:	16 82       	std	Z+6, r1	; 0x06
 13c:	17 82       	std	Z+7, r1	; 0x07
 13e:	83 81       	ldd	r24, Z+3	; 0x03
 140:	81 fd       	sbrc	r24, 1
 142:	50 c1       	rjmp	.+672    	; 0x3e4
 144:	8f ef       	ldi	r24, 0xFF	; 255
 146:	9f ef       	ldi	r25, 0xFF	; 255
 148:	60 c1       	rjmp	.+704    	; 0x40a
 14a:	20 fe       	sbrs	r2, 0
 14c:	3d c1       	rjmp	.+634    	; 0x3c8
 14e:	83 2d       	mov	r24, r3
 150:	80 53       	subi	r24, 0x30	; 48
 152:	8a 30       	cpi	r24, 0x0A	; 10
 154:	08 f4       	brcc	.+2      	; 0x158
 156:	46 c1       	rjmp	.+652    	; 0x3e4
 158:	83 2d       	mov	r24, r3
 15a:	99 27       	eor	r25, r25
 15c:	87 fd       	sbrc	r24, 7
 15e:	90 95       	com	r25
 160:	88 36       	cpi	r24, 0x68	; 104
 162:	91 05       	cpc	r25, r1
 164:	3c f5       	brge	.+78     	; 0x1b4
 166:	85 36       	cpi	r24, 0x65	; 101
 168:	91 05       	cpc	r25, r1
 16a:	0c f0       	brlt	.+2      	; 0x16e
 16c:	4d c0       	rjmp	.+154    	; 0x208
 16e:	88 35       	cpi	r24, 0x58	; 88
 170:	91 05       	cpc	r25, r1
 172:	09 f4       	brne	.+2      	; 0x176
 174:	a2 c0       	rjmp	.+324    	; 0x2ba
 176:	89 35       	cpi	r24, 0x59	; 89
 178:	91 05       	cpc	r25, r1
 17a:	a4 f4       	brge	.+40     	; 0x1a4
 17c:	8b 32       	cpi	r24, 0x2B	; 43
 17e:	91 05       	cpc	r25, r1
 180:	09 f4       	brne	.+2      	; 0x184
 182:	30 c1       	rjmp	.+608    	; 0x3e4
 184:	8c 32       	cpi	r24, 0x2C	; 44
 186:	91 05       	cpc	r25, r1
 188:	44 f4       	brge	.+16     	; 0x19a
 18a:	80 32       	cpi	r24, 0x20	; 32
 18c:	91 05       	cpc	r25, r1
 18e:	09 f4       	brne	.+2      	; 0x192
 190:	29 c1       	rjmp	.+594    	; 0x3e4
 192:	83 97       	sbiw	r24, 0x23	; 35
 194:	09 f4       	brne	.+2      	; 0x198
 196:	26 c1       	rjmp	.+588    	; 0x3e4
 198:	0f c1       	rjmp	.+542    	; 0x3b8
 19a:	8d 97       	sbiw	r24, 0x2d	; 45
 19c:	02 97       	sbiw	r24, 0x02	; 2
 19e:	08 f0       	brcs	.+2      	; 0x1a2
 1a0:	0b c1       	rjmp	.+534    	; 0x3b8
 1a2:	20 c1       	rjmp	.+576    	; 0x3e4
 1a4:	83 36       	cpi	r24, 0x63	; 99
 1a6:	91 05       	cpc	r25, r1
 1a8:	c1 f1       	breq	.+112    	; 0x21a
 1aa:	84 36       	cpi	r24, 0x64	; 100
 1ac:	91 05       	cpc	r25, r1
 1ae:	09 f4       	brne	.+2      	; 0x1b2
 1b0:	54 c0       	rjmp	.+168    	; 0x25a
 1b2:	02 c1       	rjmp	.+516    	; 0x3b8
 1b4:	80 37       	cpi	r24, 0x70	; 112
 1b6:	91 05       	cpc	r25, r1
 1b8:	09 f4       	brne	.+2      	; 0x1bc
 1ba:	7b c0       	rjmp	.+246    	; 0x2b2
 1bc:	81 37       	cpi	r24, 0x71	; 113
 1be:	91 05       	cpc	r25, r1
 1c0:	84 f4       	brge	.+32     	; 0x1e2
 1c2:	8c 36       	cpi	r24, 0x6C	; 108
 1c4:	91 05       	cpc	r25, r1
 1c6:	e9 f0       	breq	.+58     	; 0x202
 1c8:	8d 36       	cpi	r24, 0x6D	; 109
 1ca:	91 05       	cpc	r25, r1
 1cc:	2c f4       	brge	.+10     	; 0x1d8
 1ce:	89 36       	cpi	r24, 0x69	; 105
 1d0:	91 05       	cpc	r25, r1
 1d2:	09 f4       	brne	.+2      	; 0x1d6
 1d4:	42 c0       	rjmp	.+132    	; 0x25a
 1d6:	f0 c0       	rjmp	.+480    	; 0x3b8
 1d8:	8f 36       	cpi	r24, 0x6F	; 111
 1da:	91 05       	cpc	r25, r1
 1dc:	09 f4       	brne	.+2      	; 0x1e0
 1de:	66 c0       	rjmp	.+204    	; 0x2ac
 1e0:	eb c0       	rjmp	.+470    	; 0x3b8
 1e2:	85 37       	cpi	r24, 0x75	; 117
 1e4:	91 05       	cpc	r25, r1
 1e6:	09 f4       	brne	.+2      	; 0x1ea
 1e8:	6a c0       	rjmp	.+212    	; 0x2be
 1ea:	86 37       	cpi	r24, 0x76	; 118
 1ec:	91 05       	cpc	r25, r1
 1ee:	24 f4       	brge	.+8      	; 0x1f8
 1f0:	83 37       	cpi	r24, 0x73	; 115
 1f2:	91 05       	cpc	r25, r1
 1f4:	d1 f0       	breq	.+52     	; 0x22a
 1f6:	e0 c0       	rjmp	.+448    	; 0x3b8
 1f8:	88 37       	cpi	r24, 0x78	; 120
 1fa:	91 05       	cpc	r25, r1
 1fc:	09 f4       	brne	.+2      	; 0x200
 1fe:	5d c0       	rjmp	.+186    	; 0x2ba
 200:	db c0       	rjmp	.+438    	; 0x3b8
 202:	f4 e0       	ldi	r31, 0x04	; 4
 204:	2f 2a       	or	r2, r31
 206:	ee c0       	rjmp	.+476    	; 0x3e4
 208:	0f 2e       	mov	r0, r31
 20a:	ff e3       	ldi	r31, 0x3F	; 63
 20c:	af 2e       	mov	r10, r31
 20e:	f0 2d       	mov	r31, r0
 210:	0f 2e       	mov	r0, r31
 212:	f3 e6       	ldi	r31, 0x63	; 99
 214:	3f 2e       	mov	r3, r31
 216:	f0 2d       	mov	r31, r0
 218:	9b c0       	rjmp	.+310    	; 0x350
 21a:	ed 85       	ldd	r30, Y+13	; 0x0d
 21c:	fe 85       	ldd	r31, Y+14	; 0x0e
 21e:	cf 01       	movw	r24, r30
 220:	02 96       	adiw	r24, 0x02	; 2
 222:	8d 87       	std	Y+13, r24	; 0x0d
 224:	9e 87       	std	Y+14, r25	; 0x0e
 226:	a0 80       	ld	r10, Z
 228:	93 c0       	rjmp	.+294    	; 0x350
 22a:	ed 85       	ldd	r30, Y+13	; 0x0d
 22c:	fe 85       	ldd	r31, Y+14	; 0x0e
 22e:	cf 01       	movw	r24, r30
 230:	02 96       	adiw	r24, 0x02	; 2
 232:	8d 87       	std	Y+13, r24	; 0x0d
 234:	9e 87       	std	Y+14, r25	; 0x0e
 236:	a0 80       	ld	r10, Z
 238:	b1 80       	ldd	r11, Z+1	; 0x01
 23a:	1f 86       	std	Y+15, r1	; 0x0f
 23c:	f5 01       	movw	r30, r10
 23e:	80 81       	ld	r24, Z
 240:	88 23       	and	r24, r24
 242:	09 f4       	brne	.+2      	; 0x246
 244:	85 c0       	rjmp	.+266    	; 0x350
 246:	9f 85       	ldd	r25, Y+15	; 0x0f
 248:	9f 5f       	subi	r25, 0xFF	; 255
 24a:	9f 87       	std	Y+15, r25	; 0x0f
 24c:	f5 01       	movw	r30, r10
 24e:	e9 0f       	add	r30, r25
 250:	f1 1d       	adc	r31, r1
 252:	80 81       	ld	r24, Z
 254:	88 23       	and	r24, r24
 256:	b9 f7       	brne	.-18     	; 0x246
 258:	7b c0       	rjmp	.+246    	; 0x350
 25a:	22 fe       	sbrs	r2, 2
 25c:	0b c0       	rjmp	.+22     	; 0x274
 25e:	ed 85       	ldd	r30, Y+13	; 0x0d
 260:	fe 85       	ldd	r31, Y+14	; 0x0e
 262:	cf 01       	movw	r24, r30
 264:	04 96       	adiw	r24, 0x04	; 4
 266:	8d 87       	std	Y+13, r24	; 0x0d
 268:	9e 87       	std	Y+14, r25	; 0x0e
 26a:	20 81       	ld	r18, Z
 26c:	31 81       	ldd	r19, Z+1	; 0x01
 26e:	42 81       	ldd	r20, Z+2	; 0x02
 270:	53 81       	ldd	r21, Z+3	; 0x03
 272:	0d c0       	rjmp	.+26     	; 0x28e
 274:	ed 85       	ldd	r30, Y+13	; 0x0d
 276:	fe 85       	ldd	r31, Y+14	; 0x0e
 278:	cf 01       	movw	r24, r30
 27a:	02 96       	adiw	r24, 0x02	; 2
 27c:	8d 87       	std	Y+13, r24	; 0x0d
 27e:	9e 87       	std	Y+14, r25	; 0x0e

⌨️ 快捷键说明

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