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

📄 ad9850.lss

📁 最新发布AD9850模块相关资料125M参考时钟
💻 LSS
字号:

ad9850.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000015c  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .stab         000006b4  00000000  00000000  000001b0  2**2
                  CONTENTS, READONLY, DEBUGGING
  2 .stabstr      0000005f  00000000  00000000  00000864  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_aranges 00000020  00000000  00000000  000008c3  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 00000063  00000000  00000000  000008e3  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   0000017a  00000000  00000000  00000946  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 000000f9  00000000  00000000  00000ac0  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   00000216  00000000  00000000  00000bb9  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00000080  00000000  00000000  00000dd0  2**2
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000000e0  00000000  00000000  00000e50  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_loc    0000004c  00000000  00000000  00000f30  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

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

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:	ec e5       	ldi	r30, 0x5C	; 92
  68:	f1 e0       	ldi	r31, 0x01	; 1
  6a:	02 c0       	rjmp	.+4      	; 0x70 <.do_copy_data_start>

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 <.do_copy_data_loop>

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 <.do_clear_bss_start>

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 <.do_clear_bss_loop>
  86:	0e 94 a4 00 	call	0x148	; 0x148 <main>
  8a:	0c 94 ac 00 	jmp	0x158	; 0x158 <_exit>

0000008e <__bad_interrupt>:
  8e:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

00000092 <initIO>:
#define  IO_1  SET_1(IO9850,7) 
#define  IO_0  CLE_0(IO9850,7)

void initIO(void)   
{
	DDRA = 0xff;
  92:	8f ef       	ldi	r24, 0xFF	; 255
  94:	8a bb       	out	0x1a, r24	; 26
	DDRB = 0xff;
  96:	87 bb       	out	0x17, r24	; 23
}
  98:	08 95       	ret

0000009a <init9850>:


void init9850(void)  
{
    WCLK_0;
  9a:	c2 98       	cbi	0x18, 2	; 24
	FRUD_0;
  9c:	c0 98       	cbi	0x18, 0	; 24
	
	REST_0;
  9e:	c1 98       	cbi	0x18, 1	; 24
	REST_1;
  a0:	c1 9a       	sbi	0x18, 1	; 24
	REST_0;
  a2:	c1 98       	cbi	0x18, 1	; 24
	
	WCLK_0;
  a4:	c2 98       	cbi	0x18, 2	; 24
	WCLK_1;
  a6:	c2 9a       	sbi	0x18, 2	; 24
	WCLK_0;
  a8:	c2 98       	cbi	0x18, 2	; 24
	
	FRUD_0;
  aa:	c0 98       	cbi	0x18, 0	; 24
	FRUD_1;
  ac:	c0 9a       	sbi	0x18, 0	; 24
	FRUD_0;
  ae:	c0 98       	cbi	0x18, 0	; 24
	
}
  b0:	08 95       	ret

000000b2 <UPDATE>:

void UPDATE(void)  
{
	FRUD_1;
  b2:	c0 9a       	sbi	0x18, 0	; 24
	FRUD_0;
  b4:	c0 98       	cbi	0x18, 0	; 24
}
  b6:	08 95       	ret

000000b8 <sendword>:
	sendword(0);
}

void sendword(uchar dat)   
{
	if(dat)
  b8:	89 2b       	or	r24, r25
  ba:	11 f0       	breq	.+4      	; 0xc0 <sendword+0x8>
	IO_1;
  bc:	df 9a       	sbi	0x1b, 7	; 27
  be:	01 c0       	rjmp	.+2      	; 0xc2 <sendword+0xa>
	else
	IO_0;
  c0:	df 98       	cbi	0x1b, 7	; 27
	
	WCLK_1;
  c2:	c2 9a       	sbi	0x18, 2	; 24
	WCLK_0;	
  c4:	c2 98       	cbi	0x18, 2	; 24
}
  c6:	08 95       	ret

000000c8 <sentcom>:
	FRUD_0;
}

void sentcom(void)
{
    sendword(0);
  c8:	80 e0       	ldi	r24, 0x00	; 0
  ca:	90 e0       	ldi	r25, 0x00	; 0
  cc:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  d0:	80 e0       	ldi	r24, 0x00	; 0
  d2:	90 e0       	ldi	r25, 0x00	; 0
  d4:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  d8:	80 e0       	ldi	r24, 0x00	; 0
  da:	90 e0       	ldi	r25, 0x00	; 0
  dc:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  e0:	80 e0       	ldi	r24, 0x00	; 0
  e2:	90 e0       	ldi	r25, 0x00	; 0
  e4:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  e8:	80 e0       	ldi	r24, 0x00	; 0
  ea:	90 e0       	ldi	r25, 0x00	; 0
  ec:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  f0:	80 e0       	ldi	r24, 0x00	; 0
  f2:	90 e0       	ldi	r25, 0x00	; 0
  f4:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
    sendword(0);
  f8:	80 e0       	ldi	r24, 0x00	; 0
  fa:	90 e0       	ldi	r25, 0x00	; 0
  fc:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
	sendword(0);
 100:	80 e0       	ldi	r24, 0x00	; 0
 102:	90 e0       	ldi	r25, 0x00	; 0
 104:	0e 94 5c 00 	call	0xb8	; 0xb8 <sendword>
}
 108:	08 95       	ret

0000010a <startAD>:
}



void startAD(void)        
{
 10a:	20 ea       	ldi	r18, 0xA0	; 160
 10c:	30 e7       	ldi	r19, 0x70	; 112
 10e:	4d e3       	ldi	r20, 0x3D	; 61
 110:	5a e0       	ldi	r21, 0x0A	; 10
 112:	60 e0       	ldi	r22, 0x00	; 0
 114:	70 e0       	ldi	r23, 0x00	; 0
	sendword(0);
}

void sendword(uchar dat)   
{
	if(dat)
 116:	c9 01       	movw	r24, r18
 118:	81 70       	andi	r24, 0x01	; 1
 11a:	90 70       	andi	r25, 0x00	; 0
 11c:	89 2b       	or	r24, r25
 11e:	11 f0       	breq	.+4      	; 0x124 <startAD+0x1a>
	IO_1;
 120:	df 9a       	sbi	0x1b, 7	; 27
 122:	01 c0       	rjmp	.+2      	; 0x126 <startAD+0x1c>
	else
	IO_0;
 124:	df 98       	cbi	0x1b, 7	; 27
	
	WCLK_1;
 126:	c2 9a       	sbi	0x18, 2	; 24
	WCLK_0;	
 128:	c2 98       	cbi	0x18, 2	; 24
   // UPDATE();
    long uint dat;
	uchar i = 0;
	dat =(long uint ) ADout * 34.359738;
	//dat=dat>>1;
	for(;i<32;i++)
 12a:	6f 5f       	subi	r22, 0xFF	; 255
 12c:	7f 4f       	sbci	r23, 0xFF	; 255
 12e:	60 32       	cpi	r22, 0x20	; 32
 130:	71 05       	cpc	r23, r1
 132:	29 f0       	breq	.+10     	; 0x13e <startAD+0x34>
	{
		sendword((uchar) (dat&1));
		dat=dat>>1;
 134:	56 95       	lsr	r21
 136:	47 95       	ror	r20
 138:	37 95       	ror	r19
 13a:	27 95       	ror	r18
 13c:	ec cf       	rjmp	.-40     	; 0x116 <startAD+0xc>
	}
    
	sentcom();
 13e:	0e 94 64 00 	call	0xc8	; 0xc8 <sentcom>
	
}

void UPDATE(void)  
{
	FRUD_1;
 142:	c0 9a       	sbi	0x18, 0	; 24
	FRUD_0;
 144:	c0 98       	cbi	0x18, 0	; 24
	}
    
	sentcom();
	UPDATE();

}
 146:	08 95       	ret

00000148 <main>:
#define  IO_1  SET_1(IO9850,7) 
#define  IO_0  CLE_0(IO9850,7)

void initIO(void)   
{
	DDRA = 0xff;
 148:	8f ef       	ldi	r24, 0xFF	; 255
 14a:	8a bb       	out	0x1a, r24	; 26
	DDRB = 0xff;
 14c:	87 bb       	out	0x17, r24	; 23

int main(void)
{

    initIO();
	init9850();
 14e:	0e 94 4d 00 	call	0x9a	; 0x9a <init9850>
    startAD();
 152:	0e 94 85 00 	call	0x10a	; 0x10a <startAD>
 156:	ff cf       	rjmp	.-2      	; 0x156 <main+0xe>

00000158 <_exit>:
 158:	f8 94       	cli

0000015a <__stop_program>:
 15a:	ff cf       	rjmp	.-2      	; 0x15a <__stop_program>

⌨️ 快捷键说明

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