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

📄 main.lss

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

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000a6  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  000000a6  0000013a  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  000000a6  0000013a  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  0000013a  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000013a  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  0000013c  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000531  00000000  00000000  000004a8  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	4a c0       	rjmp	.+148    	; 0x96
   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:	1e c0       	rjmp	.+60     	; 0x4a
   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:	e6 ea       	ldi	r30, 0xA6	; 166
  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:	0b c0       	rjmp	.+22     	; 0x5e

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

0000004a <__vector_6>:
//unsigned char count=0;
//unsigned char direction=0;

SIGNAL(SIG_OVERFLOW0)
{/*
  4a:	1f 92       	push	r1
  4c:	0f 92       	push	r0
  4e:	0f b6       	in	r0, 0x3f	; 63
  50:	0f 92       	push	r0
  52:	11 24       	eor	r1, r1
  54:	8f 93       	push	r24
	if(count++>15)
	{
		if(direction)
		{
			SET_LED;
			direction=0;
		}
		else
		{
			CLR_LED;
			direction=1;
		}
		count=0;

	}
	TCNT0=0;*/
	SET_LED;
  56:	80 e1       	ldi	r24, 0x10	; 16
  58:	82 bb       	out	0x12, r24	; 18
	cli();
  5a:	f8 94       	cli
	while(1);
  5c:	ff cf       	rjmp	.-2      	; 0x5c

0000005e <main>:
}

int main(void)
{
  5e:	cf ed       	ldi	r28, 0xDF	; 223
  60:	d0 e0       	ldi	r29, 0x00	; 0
  62:	de bf       	out	0x3e, r29	; 62
  64:	cd bf       	out	0x3d, r28	; 61
  66:	40 e1       	ldi	r20, 0x10	; 16
  68:	23 ef       	ldi	r18, 0xF3	; 243
  6a:	31 e0       	ldi	r19, 0x01	; 1

/* 16-bit count, 4 cycles/loop */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
  6c:	88 ee       	ldi	r24, 0xE8	; 232
  6e:	93 e0       	ldi	r25, 0x03	; 3
	asm volatile (
  70:	01 97       	sbiw	r24, 0x01	; 1
  72:	f1 f7       	brne	.-4      	; 0x70
	unsigned int i;	

	while(1)
	{
		for(i=0;i<500;i++)
  74:	21 50       	subi	r18, 0x01	; 1
  76:	30 40       	sbci	r19, 0x00	; 0
  78:	37 ff       	sbrs	r19, 7
  7a:	f8 cf       	rjmp	.-16     	; 0x6c
			_delay_loop_2(1000);

		SET_LED;
  7c:	42 bb       	out	0x12, r20	; 18
  7e:	23 ef       	ldi	r18, 0xF3	; 243
  80:	31 e0       	ldi	r19, 0x01	; 1

/* 16-bit count, 4 cycles/loop */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
  82:	88 ee       	ldi	r24, 0xE8	; 232
  84:	93 e0       	ldi	r25, 0x03	; 3
	asm volatile (
  86:	01 97       	sbiw	r24, 0x01	; 1
  88:	f1 f7       	brne	.-4      	; 0x86

		for(i=0;i<500;i++)
  8a:	21 50       	subi	r18, 0x01	; 1
  8c:	30 40       	sbci	r19, 0x00	; 0
  8e:	37 ff       	sbrs	r19, 7
  90:	f8 cf       	rjmp	.-16     	; 0x82
			_delay_loop_2(1000);

		CLR_LED;
  92:	12 ba       	out	0x12, r1	; 18
  94:	e9 cf       	rjmp	.-46     	; 0x68

00000096 <__init>:
	}
	return 0;
}

 __init()   //重载函数,复位后main前执行
{
	DDRD=0X10;
  96:	80 e1       	ldi	r24, 0x10	; 16
  98:	81 bb       	out	0x11, r24	; 17
	PORTD=0X00;
  9a:	12 ba       	out	0x12, r1	; 18
	
	TCCR0=5;
  9c:	85 e0       	ldi	r24, 0x05	; 5
  9e:	83 bf       	out	0x33, r24	; 51
	TIMSK=_BV(TOIE0);
  a0:	82 e0       	ldi	r24, 0x02	; 2
  a2:	89 bf       	out	0x39, r24	; 57
  a4:	08 95       	ret

⌨️ 快捷键说明

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