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

📄 main.lss

📁 avr单片机看门狗的演示程序
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000de  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  000000de  00000172  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  000000de  00000172  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  00000172  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000172  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  00000172  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 00000027  00000000  00000000  00000186  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   000000ea  00000000  00000000  000001ad  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 000000b5  00000000  00000000  00000297  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   000000ff  00000000  00000000  0000034c  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    0000008a  00000000  00000000  0000044b  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54
   4:	0c 94 45 00 	jmp	0x8a
   8:	0c 94 45 00 	jmp	0x8a
   c:	0c 94 45 00 	jmp	0x8a
  10:	0c 94 45 00 	jmp	0x8a
  14:	0c 94 45 00 	jmp	0x8a
  18:	0c 94 45 00 	jmp	0x8a
  1c:	0c 94 45 00 	jmp	0x8a
  20:	0c 94 45 00 	jmp	0x8a
  24:	0c 94 45 00 	jmp	0x8a
  28:	0c 94 45 00 	jmp	0x8a
  2c:	0c 94 45 00 	jmp	0x8a
  30:	0c 94 45 00 	jmp	0x8a
  34:	0c 94 45 00 	jmp	0x8a
  38:	0c 94 45 00 	jmp	0x8a
  3c:	0c 94 45 00 	jmp	0x8a
  40:	0c 94 45 00 	jmp	0x8a
  44:	0c 94 45 00 	jmp	0x8a
  48:	0c 94 45 00 	jmp	0x8a
  4c:	0c 94 45 00 	jmp	0x8a
  50:	0c 94 45 00 	jmp	0x8a

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d4 e0       	ldi	r29, 0x04	; 4
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61

00000060 <__do_copy_data>:
  60:	10 e0       	ldi	r17, 0x00	; 0
  62:	a0 e6       	ldi	r26, 0x60	; 96
  64:	b0 e0       	ldi	r27, 0x00	; 0
  66:	ee ed       	ldi	r30, 0xDE	; 222
  68:	f0 e0       	ldi	r31, 0x00	; 0
  6a:	02 c0       	rjmp	.+4      	; 0x70

0000006c <.do_copy_data_loop>:
  6c:	05 90       	lpm	r0, Z+
  6e:	0d 92       	st	X+, r0

00000070 <.do_copy_data_start>:
  70:	a0 36       	cpi	r26, 0x60	; 96
  72:	b1 07       	cpc	r27, r17
  74:	d9 f7       	brne	.-10     	; 0x6c

00000076 <__do_clear_bss>:
  76:	10 e0       	ldi	r17, 0x00	; 0
  78:	a0 e6       	ldi	r26, 0x60	; 96
  7a:	b0 e0       	ldi	r27, 0x00	; 0
  7c:	01 c0       	rjmp	.+2      	; 0x80

0000007e <.do_clear_bss_loop>:
  7e:	1d 92       	st	X+, r1

00000080 <.do_clear_bss_start>:
  80:	a0 36       	cpi	r26, 0x60	; 96
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e
  86:	0c 94 52 00 	jmp	0xa4

0000008a <__bad_interrupt>:
  8a:	0c 94 00 00 	jmp	0x0

0000008e <DelayMs>:
//误差不会太大的1ms delay
void DelayMs(uint ms)
{
	uint i;
	for(i=0;i<ms;i++)
  8e:	00 97       	sbiw	r24, 0x00	; 0
  90:	41 f0       	breq	.+16     	; 0xa2
  92:	9c 01       	movw	r18, r24
    milliseconds can be achieved.
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
  94:	88 ee       	ldi	r24, 0xE8	; 232
  96:	93 e0       	ldi	r25, 0x03	; 3
	__asm__ volatile (
  98:	01 97       	sbiw	r24, 0x01	; 1
  9a:	f1 f7       	brne	.-4      	; 0x98
  9c:	21 50       	subi	r18, 0x01	; 1
  9e:	30 40       	sbci	r19, 0x00	; 0
  a0:	c9 f7       	brne	.-14     	; 0x94
  a2:	08 95       	ret

000000a4 <main>:
		_delay_loop_2(250*4);
		
}

int main(void)
{
  a4:	cf e5       	ldi	r28, 0x5F	; 95
  a6:	d4 e0       	ldi	r29, 0x04	; 4
  a8:	de bf       	out	0x3e, r29	; 62
  aa:	cd bf       	out	0x3d, r28	; 61
	DDRA=_BV(PA0);
  ac:	81 e0       	ldi	r24, 0x01	; 1
  ae:	8a bb       	out	0x1a, r24	; 26
	PORTA=_BV(PA0);			//light off
  b0:	8b bb       	out	0x1b, r24	; 27
	
	wdt_enable(WDTO_1S);
  b2:	88 e1       	ldi	r24, 0x18	; 24
  b4:	90 e0       	ldi	r25, 0x00	; 0
  b6:	2e e0       	ldi	r18, 0x0E	; 14
  b8:	0f b6       	in	r0, 0x3f	; 63
  ba:	f8 94       	cli
  bc:	a8 95       	wdr
  be:	81 bd       	out	0x21, r24	; 33
  c0:	0f be       	out	0x3f, r0	; 63
  c2:	21 bd       	out	0x21, r18	; 33
	wdt_reset();
  c4:	a8 95       	wdr
	DelayMs(500);
  c6:	84 ef       	ldi	r24, 0xF4	; 244
  c8:	91 e0       	ldi	r25, 0x01	; 1
  ca:	0e 94 47 00 	call	0x8e
	
	SET_LED;
  ce:	d8 98       	cbi	0x1b, 0	; 27
	DelayMs(5000);
  d0:	88 e8       	ldi	r24, 0x88	; 136
  d2:	93 e1       	ldi	r25, 0x13	; 19
  d4:	0e 94 47 00 	call	0x8e
	SET_LED;
  d8:	d8 98       	cbi	0x1b, 0	; 27
	while(1)
		wdt_reset();
  da:	a8 95       	wdr
  dc:	fe cf       	rjmp	.-4      	; 0xda

⌨️ 快捷键说明

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