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

📄 main.lss

📁 avr单片机的一些实际应用源码
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000a0  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  000000a0  00000134  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  000000a0  00000134  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  00000134  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000134  2**0
                  CONTENTS
  5 .stab         00000300  00000000  00000000  00000134  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      000003d1  00000000  00000000  00000434  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0a c0       	rjmp	.+20     	; 0x16
   2:	22 c0       	rjmp	.+68     	; 0x48
   4:	21 c0       	rjmp	.+66     	; 0x48
   6:	20 c0       	rjmp	.+64     	; 0x48
   8:	1f c0       	rjmp	.+62     	; 0x48
   a:	1e c0       	rjmp	.+60     	; 0x48
   c:	1d c0       	rjmp	.+58     	; 0x48
   e:	1c c0       	rjmp	.+56     	; 0x48
  10:	1b c0       	rjmp	.+54     	; 0x48
  12:	1a c0       	rjmp	.+52     	; 0x48
  14:	19 c0       	rjmp	.+50     	; 0x48

00000016 <__ctors_end>:
  16:	11 24       	eor	r1, r1
  18:	1f be       	out	0x3f, r1	; 63
  1a:	cf ed       	ldi	r28, 0xDF	; 223
  1c:	cd bf       	out	0x3d, r28	; 61

0000001e <__do_copy_data>:
  1e:	10 e0       	ldi	r17, 0x00	; 0
  20:	a0 e6       	ldi	r26, 0x60	; 96
  22:	b0 e0       	ldi	r27, 0x00	; 0
  24:	e0 ea       	ldi	r30, 0xA0	; 160
  26:	f0 e0       	ldi	r31, 0x00	; 0
  28:	03 c0       	rjmp	.+6      	; 0x30

0000002a <.do_copy_data_loop>:
  2a:	c8 95       	lpm
  2c:	31 96       	adiw	r30, 0x01	; 1
  2e:	0d 92       	st	X+, r0

00000030 <.do_copy_data_start>:
  30:	a0 36       	cpi	r26, 0x60	; 96
  32:	b1 07       	cpc	r27, r17
  34:	d1 f7       	brne	.-12     	; 0x2a

00000036 <__do_clear_bss>:
  36:	10 e0       	ldi	r17, 0x00	; 0
  38:	a0 e6       	ldi	r26, 0x60	; 96
  3a:	b0 e0       	ldi	r27, 0x00	; 0
  3c:	01 c0       	rjmp	.+2      	; 0x40

0000003e <.do_clear_bss_loop>:
  3e:	1d 92       	st	X+, r1

00000040 <.do_clear_bss_start>:
  40:	a0 36       	cpi	r26, 0x60	; 96
  42:	b1 07       	cpc	r27, r17
  44:	e1 f7       	brne	.-8      	; 0x3e
  46:	12 c0       	rjmp	.+36     	; 0x6c

00000048 <__bad_interrupt>:
  48:	db cf       	rjmp	.-74     	; 0x0

0000004a <DelayMs>:


//误差不会太大的延时1ms函数  
void DelayMs(uint ms)
{
  4a:	48 2f       	mov	r20, r24
  4c:	59 2f       	mov	r21, r25
	uint i;
	for(i=0;i<ms;i++)
  4e:	20 e0       	ldi	r18, 0x00	; 0
  50:	30 e0       	ldi	r19, 0x00	; 0
  52:	28 17       	cp	r18, r24
  54:	39 07       	cpc	r19, r25
  56:	48 f4       	brcc	.+18     	; 0x6a

/* 16-bit count, 4 cycles/loop */
static inline void
_delay_loop_2(unsigned int __count)
{
  58:	88 ee       	ldi	r24, 0xE8	; 232
  5a:	93 e0       	ldi	r25, 0x03	; 3
	asm volatile (
  5c:	01 97       	sbiw	r24, 0x01	; 1
  5e:	f1 f7       	brne	.-4      	; 0x5c
  60:	2f 5f       	subi	r18, 0xFF	; 255
  62:	3f 4f       	sbci	r19, 0xFF	; 255
  64:	24 17       	cp	r18, r20
  66:	35 07       	cpc	r19, r21
  68:	b8 f3       	brcs	.-18     	; 0x58
		_delay_loop_2(4 *250);
}
  6a:	08 95       	ret

0000006c <main>:

int main(void)
{
  6c:	cf ed       	ldi	r28, 0xDF	; 223
  6e:	d0 e0       	ldi	r29, 0x00	; 0
  70:	de bf       	out	0x3e, r29	; 62
  72:	cd bf       	out	0x3d, r28	; 61
	DDRD=0X10;
  74:	80 e1       	ldi	r24, 0x10	; 16
  76:	81 bb       	out	0x11, r24	; 17
	PORTD=0X10; 
  78:	82 bb       	out	0x12, r24	; 18
	
	wdt_enable(WDTO_1S);
  7a:	88 e1       	ldi	r24, 0x18	; 24
  7c:	90 e0       	ldi	r25, 0x00	; 0
  7e:	2e e0       	ldi	r18, 0x0E	; 14
  80:	0f b6       	in	r0, 0x3f	; 63
  82:	f8 94       	cli
  84:	a8 95       	wdr
  86:	81 bd       	out	0x21, r24	; 33
  88:	0f be       	out	0x3f, r0	; 63
  8a:	21 bd       	out	0x21, r18	; 33
	wdt_reset();
  8c:	a8 95       	wdr
	
	DelayMs(500);
  8e:	84 ef       	ldi	r24, 0xF4	; 244
  90:	91 e0       	ldi	r25, 0x01	; 1
  92:	db df       	rcall	.-74     	; 0x4a
	
	CLR_LED;
  94:	94 98       	cbi	0x12, 4	; 18
	
	DelayMs(5000);
  96:	88 e8       	ldi	r24, 0x88	; 136
  98:	93 e1       	ldi	r25, 0x13	; 19
  9a:	d7 df       	rcall	.-82     	; 0x4a
		
	SET_LED;
  9c:	94 9a       	sbi	0x12, 4	; 18
	while(1);
  9e:	ff cf       	rjmp	.-2      	; 0x9e

⌨️ 快捷键说明

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