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

📄 main.lss

📁 avr NRF驱动 编程.里面有NRF驱动说明.新手可以参考.
💻 LSS
📖 第 1 页 / 共 4 页
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000004  00800100  00000834  000008c8  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000834  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000021  00800104  00800104  000008cc  2**0
                  ALLOC
  3 .noinit       00000000  00800125  00800125  000008cc  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000008cc  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  000008cc  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000c38  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  00000cbc  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000190  00000000  00000000  00000cd0  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   0000038b  00000000  00000000  00000e60  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 0000013c  00000000  00000000  000011eb  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   0000046f  00000000  00000000  00001327  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    00000163  00000000  00000000  00001796  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	19 c0       	rjmp	.+50     	; 0x34 <__ctors_end>
   2:	32 c0       	rjmp	.+100    	; 0x68 <__bad_interrupt>
   4:	31 c0       	rjmp	.+98     	; 0x68 <__bad_interrupt>
   6:	30 c0       	rjmp	.+96     	; 0x68 <__bad_interrupt>
   8:	2f c0       	rjmp	.+94     	; 0x68 <__bad_interrupt>
   a:	2e c0       	rjmp	.+92     	; 0x68 <__bad_interrupt>
   c:	2d c0       	rjmp	.+90     	; 0x68 <__bad_interrupt>
   e:	2c c0       	rjmp	.+88     	; 0x68 <__bad_interrupt>
  10:	2b c0       	rjmp	.+86     	; 0x68 <__bad_interrupt>
  12:	2a c0       	rjmp	.+84     	; 0x68 <__bad_interrupt>
  14:	29 c0       	rjmp	.+82     	; 0x68 <__bad_interrupt>
  16:	28 c0       	rjmp	.+80     	; 0x68 <__bad_interrupt>
  18:	27 c0       	rjmp	.+78     	; 0x68 <__bad_interrupt>
  1a:	26 c0       	rjmp	.+76     	; 0x68 <__bad_interrupt>
  1c:	25 c0       	rjmp	.+74     	; 0x68 <__bad_interrupt>
  1e:	24 c0       	rjmp	.+72     	; 0x68 <__bad_interrupt>
  20:	90 c0       	rjmp	.+288    	; 0x142 <__vector_16>
  22:	22 c0       	rjmp	.+68     	; 0x68 <__bad_interrupt>
  24:	21 c0       	rjmp	.+66     	; 0x68 <__bad_interrupt>
  26:	20 c0       	rjmp	.+64     	; 0x68 <__bad_interrupt>
  28:	1f c0       	rjmp	.+62     	; 0x68 <__bad_interrupt>
  2a:	1e c0       	rjmp	.+60     	; 0x68 <__bad_interrupt>
  2c:	1d c0       	rjmp	.+58     	; 0x68 <__bad_interrupt>
  2e:	1c c0       	rjmp	.+56     	; 0x68 <__bad_interrupt>
  30:	1b c0       	rjmp	.+54     	; 0x68 <__bad_interrupt>
  32:	1a c0       	rjmp	.+52     	; 0x68 <__bad_interrupt>

00000034 <__ctors_end>:
  34:	11 24       	eor	r1, r1
  36:	1f be       	out	0x3f, r1	; 63
  38:	cf ef       	ldi	r28, 0xFF	; 255
  3a:	d2 e0       	ldi	r29, 0x02	; 2
  3c:	de bf       	out	0x3e, r29	; 62
  3e:	cd bf       	out	0x3d, r28	; 61

00000040 <__do_copy_data>:
  40:	11 e0       	ldi	r17, 0x01	; 1
  42:	a0 e0       	ldi	r26, 0x00	; 0
  44:	b1 e0       	ldi	r27, 0x01	; 1
  46:	e4 e3       	ldi	r30, 0x34	; 52
  48:	f8 e0       	ldi	r31, 0x08	; 8
  4a:	02 c0       	rjmp	.+4      	; 0x50 <.do_copy_data_start>

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

00000050 <.do_copy_data_start>:
  50:	a4 30       	cpi	r26, 0x04	; 4
  52:	b1 07       	cpc	r27, r17
  54:	d9 f7       	brne	.-10     	; 0x4c <.do_copy_data_loop>

00000056 <__do_clear_bss>:
  56:	11 e0       	ldi	r17, 0x01	; 1
  58:	a4 e0       	ldi	r26, 0x04	; 4
  5a:	b1 e0       	ldi	r27, 0x01	; 1
  5c:	01 c0       	rjmp	.+2      	; 0x60 <.do_clear_bss_start>

0000005e <.do_clear_bss_loop>:
  5e:	1d 92       	st	X+, r1

00000060 <.do_clear_bss_start>:
  60:	a5 32       	cpi	r26, 0x25	; 37
  62:	b1 07       	cpc	r27, r17
  64:	e1 f7       	brne	.-8      	; 0x5e <.do_clear_bss_loop>
  66:	97 c2       	rjmp	.+1326   	; 0x596 <main>

00000068 <__bad_interrupt>:
  68:	cb cf       	rjmp	.-106    	; 0x0 <__vectors>

0000006a <AD>:
 
//****************AD
unsigned char adjs=0;
void AD(unsigned int *adsj)
{
  6a:	fc 01       	movw	r30, r24


  if(ADCSRA&16)
  6c:	80 91 7a 00 	lds	r24, 0x007A
  70:	84 ff       	sbrs	r24, 4
  72:	3e c0       	rjmp	.+124    	; 0xf0 <AD+0x86>
  {
  asm("WDR");
  74:	a8 95       	wdr
    switch(adjs)
  76:	80 91 1a 01 	lds	r24, 0x011A
  7a:	99 27       	eor	r25, r25
  7c:	81 30       	cpi	r24, 0x01	; 1
  7e:	91 05       	cpc	r25, r1
  80:	a1 f0       	breq	.+40     	; 0xaa <AD+0x40>
  82:	82 30       	cpi	r24, 0x02	; 2
  84:	91 05       	cpc	r25, r1
  86:	1c f4       	brge	.+6      	; 0x8e <AD+0x24>
  88:	89 2b       	or	r24, r25
  8a:	21 f0       	breq	.+8      	; 0x94 <AD+0x2a>
  8c:	27 c0       	rjmp	.+78     	; 0xdc <AD+0x72>
  8e:	02 97       	sbiw	r24, 0x02	; 2
  90:	c9 f0       	breq	.+50     	; 0xc4 <AD+0x5a>
  92:	24 c0       	rjmp	.+72     	; 0xdc <AD+0x72>
    {
      case 0:
      {
      *adsj=ADC;	//读取AD0
  94:	80 91 78 00 	lds	r24, 0x0078
  98:	90 91 79 00 	lds	r25, 0x0079
  9c:	91 83       	std	Z+1, r25	; 0x01
  9e:	80 83       	st	Z, r24
	  ADMUX=0B11000001;
  a0:	81 ec       	ldi	r24, 0xC1	; 193
  a2:	80 93 7c 00 	sts	0x007C, r24

      adjs=1;
  a6:	81 e0       	ldi	r24, 0x01	; 1
  a8:	0a c0       	rjmp	.+20     	; 0xbe <AD+0x54>
      }
      break;
      
      case 1:
      {
      *(adsj+1)=ADC;	//AD1
  aa:	80 91 78 00 	lds	r24, 0x0078
  ae:	90 91 79 00 	lds	r25, 0x0079
  b2:	93 83       	std	Z+3, r25	; 0x03
  b4:	82 83       	std	Z+2, r24	; 0x02
	  ADMUX=0B11000010;
  b6:	82 ec       	ldi	r24, 0xC2	; 194
  b8:	80 93 7c 00 	sts	0x007C, r24

      adjs=2;
  bc:	82 e0       	ldi	r24, 0x02	; 2
  be:	80 93 1a 01 	sts	0x011A, r24
      
      }
      break;
  c2:	11 c0       	rjmp	.+34     	; 0xe6 <AD+0x7c>

       case 2:
      {
      *(adsj+2)=ADC;	//AD1
  c4:	80 91 78 00 	lds	r24, 0x0078
  c8:	90 91 79 00 	lds	r25, 0x0079
  cc:	95 83       	std	Z+5, r25	; 0x05
  ce:	84 83       	std	Z+4, r24	; 0x04
	  ADMUX=0B11000000;
  d0:	80 ec       	ldi	r24, 0xC0	; 192
  d2:	80 93 7c 00 	sts	0x007C, r24

      adjs=0;
  d6:	10 92 1a 01 	sts	0x011A, r1
      
      }
      break;
  da:	05 c0       	rjmp	.+10     	; 0xe6 <AD+0x7c>



 

   
    
    
      default: {adjs=0; ADMUX=0B11000000; }
  dc:	10 92 1a 01 	sts	0x011A, r1
  e0:	80 ec       	ldi	r24, 0xC0	; 192
  e2:	80 93 7c 00 	sts	0x007C, r24
    }
  
  ADCSRA|=16+64;	//清除完成标志 同时启动转换开始
  e6:	80 91 7a 00 	lds	r24, 0x007A
  ea:	80 65       	ori	r24, 0x50	; 80
  ec:	80 93 7a 00 	sts	0x007A, r24
  f0:	08 95       	ret

000000f2 <yanshi>:

void yanshi(unsigned int x)
{
unsigned int y;
for(y=0;y<x;y++);
  f2:	20 e0       	ldi	r18, 0x00	; 0
  f4:	30 e0       	ldi	r19, 0x00	; 0
  f6:	28 17       	cp	r18, r24
  f8:	39 07       	cpc	r19, r25
  fa:	18 f4       	brcc	.+6      	; 0x102 <yanshi+0x10>
  fc:	2f 5f       	subi	r18, 0xFF	; 255
  fe:	3f 4f       	sbci	r19, 0xFF	; 255
 100:	fa cf       	rjmp	.-12     	; 0xf6 <yanshi+0x4>
 102:	08 95       	ret

00000104 <shengyin>:

}


void shengyin(unsigned char x)
{
 104:	0f 93       	push	r16
 106:	1f 93       	push	r17
 108:	cf 93       	push	r28
 10a:	df 93       	push	r29
 10c:	08 2f       	mov	r16, r24
unsigned char cishu=0;
 10e:	10 e0       	ldi	r17, 0x00	; 0
unsigned int changdu=0;



	for(cishu=0;cishu<x;cishu++)
 110:	18 17       	cp	r17, r24
 112:	90 f4       	brcc	.+36     	; 0x138 <shengyin+0x34>
 114:	c7 e5       	ldi	r28, 0x57	; 87
 116:	d2 e0       	ldi	r29, 0x02	; 2
	{
		for(changdu=0;changdu<600;changdu++)
		{
		
		yanshi(31);
 118:	8f e1       	ldi	r24, 0x1F	; 31
 11a:	90 e0       	ldi	r25, 0x00	; 0
 11c:	ea df       	rcall	.-44     	; 0xf2 <yanshi>
		PORTD^=32;	//声音
 11e:	8b b1       	in	r24, 0x0b	; 11
 120:	90 e2       	ldi	r25, 0x20	; 32
 122:	89 27       	eor	r24, r25
 124:	8b b9       	out	0x0b, r24	; 11
 126:	21 97       	sbiw	r28, 0x01	; 1
 128:	d7 ff       	sbrs	r29, 7
 12a:	f6 cf       	rjmp	.-20     	; 0x118 <shengyin+0x14>
		
		}
		
		yanshi(40000);
 12c:	80 e4       	ldi	r24, 0x40	; 64
 12e:	9c e9       	ldi	r25, 0x9C	; 156
 130:	e0 df       	rcall	.-64     	; 0xf2 <yanshi>
 132:	1f 5f       	subi	r17, 0xFF	; 255
 134:	10 17       	cp	r17, r16
 136:	70 f3       	brcs	.-36     	; 0x114 <shengyin+0x10>
 138:	df 91       	pop	r29
 13a:	cf 91       	pop	r28
 13c:	1f 91       	pop	r17
 13e:	0f 91       	pop	r16
 140:	08 95       	ret

00000142 <__vector_16>:
	 
	
	}


}









unsigned char tem=0,tem10=0,tem100=0,tem1000=0;


unsigned char x=0;

SIGNAL(SIG_OVERFLOW0)		//TO中断服务程序
{
 142:	1f 92       	push	r1
 144:	0f 92       	push	r0
 146:	0f b6       	in	r0, 0x3f	; 63
 148:	0f 92       	push	r0
 14a:	11 24       	eor	r1, r1
 14c:	8f 93       	push	r24

TCNT0=255-78;  		// 10MS
 14e:	81 eb       	ldi	r24, 0xB1	; 177
 150:	86 bd       	out	0x26, r24	; 38
tem+=1;
 152:	80 91 19 01 	lds	r24, 0x0119
 156:	8f 5f       	subi	r24, 0xFF	; 255
 158:	80 93 19 01 	sts	0x0119, r24
 15c:	8f 91       	pop	r24
 15e:	0f 90       	pop	r0
 160:	0f be       	out	0x3f, r0	; 63
 162:	0f 90       	pop	r0
 164:	1f 90       	pop	r1
 166:	18 95       	reti

00000168 <chushi>:


}

/*
SIGNAL(SIG_OVERFLOW2)		//T2中断服务程序
{

}


SIGNAL(SIG_UART_RECV)		//接收中断
{



} 




SIGNAL(SIG_UART_TRANS)		//发送完成中断
{


} 

*/

void chushi(void)
{



	//CLKPR=128;
	//CLKPR=0;
	
	
	WDTCSR=0B00011000;//KANMENGOU
 168:	88 e1       	ldi	r24, 0x18	; 24
 16a:	80 93 60 00 	sts	0x0060, r24
	WDTCSR=0B00101000;//4sKANMENGOU 启动看门狗 4秒方式
 16e:	88 e2       	ldi	r24, 0x28	; 40
 170:	80 93 60 00 	sts	0x0060, r24
			asm("WDR");
 174:	a8 95       	wdr

	DDRB=14+16;	//pb =in 无上拉
 176:	8e e1       	ldi	r24, 0x1E	; 30
 178:	84 b9       	out	0x04, r24	; 4
	PORTB=255-6;	
 17a:	89 ef       	ldi	r24, 0xF9	; 249
 17c:	85 b9       	out	0x05, r24	; 5
	
	DDRD=0;	//
 17e:	1a b8       	out	0x0a, r1	; 10
	PORTD=255;	//
 180:	8f ef       	ldi	r24, 0xFF	; 255
 182:	8b b9       	out	0x0b, r24	; 11
	
	DDRC=0;	//ADC
 184:	17 b8       	out	0x07, r1	; 7
	PORTC=255-7;
 186:	88 ef       	ldi	r24, 0xF8	; 248
 188:	88 b9       	out	0x08, r24	; 8
	
	
	
	
	

⌨️ 快捷键说明

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