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

📄 dac.lss

📁 AVR Devolpment Board
💻 LSS
字号:

dac.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000112  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000112  000001a6  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  00000112  000001a6  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  000001a6  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000001a6  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  000001a8  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000514  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000028  00000000  00000000  00000598  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000054  00000000  00000000  000005c0  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   0000014a  00000000  00000000  00000614  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000db  00000000  00000000  0000075e  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   000001c8  00000000  00000000  00000839  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000b8  00000000  00000000  00000a01  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54 <__ctors_end>
   4:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   8:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  10:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  14:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  18:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  1c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  20:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  24:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  28:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  2c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  30:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  34:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  38:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  3c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  40:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  44:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  48:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  4c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  50:	0c 94 45 00 	jmp	0x8a <__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:	e2 e1       	ldi	r30, 0x12	; 18
  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:	0c 94 6a 00 	jmp	0xd4 <main>

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

0000008e <SPI_Init>:


void SPI_Init(void)
{
	DDRB|= (1<<PB4)|(1<<PB5)|(1<<PB7);    /* PB4:SS  PB5:MOSI  PB6:MISO  PB7:SCK */
  8e:	87 b3       	in	r24, 0x17	; 23
  90:	80 6b       	ori	r24, 0xB0	; 176
  92:	87 bb       	out	0x17, r24	; 23
	DDRB&=~(1<<PB6);
  94:	be 98       	cbi	0x17, 6	; 23
	SPCR=(1<<SPE)|(1<<MSTR)|(1<<CPOL)|(1<<CPHA)|(0<<SPR1)|(SPR0);
  96:	8c e5       	ldi	r24, 0x5C	; 92
  98:	8d b9       	out	0x0d, r24	; 13
	SPSR = (1<<SPI2X);
  9a:	81 e0       	ldi	r24, 0x01	; 1
  9c:	8e b9       	out	0x0e, r24	; 14
  9e:	08 95       	ret

000000a0 <SPI_RW>:
}

unsigned char SPI_RW(unsigned char Data)
{
	SPDR=Data;
  a0:	8f b9       	out	0x0f, r24	; 15
	while(!(SPSR&0x80));
  a2:	77 9b       	sbis	0x0e, 7	; 14
  a4:	fe cf       	rjmp	.-4      	; 0xa2 <SPI_RW+0x2>
	Data=SPDR;
  a6:	8f b1       	in	r24, 0x0f	; 15
	return Data;			
}
  a8:	99 27       	eor	r25, r25
  aa:	08 95       	ret

000000ac <DA_Convert>:
#define RTC_CE_RESET() PORTC&=~(1<<PC7)


void DA_Convert(unsigned int DAVal)
{
  ac:	0f 93       	push	r16
  ae:	1f 93       	push	r17
  b0:	8c 01       	movw	r16, r24
	DA_CS_RESET();
  b2:	da 98       	cbi	0x1b, 2	; 27
	SPI_RW((DAVal>>6)&0xFF);
  b4:	26 e0       	ldi	r18, 0x06	; 6
  b6:	96 95       	lsr	r25
  b8:	87 95       	ror	r24
  ba:	2a 95       	dec	r18
  bc:	e1 f7       	brne	.-8      	; 0xb6 <DA_Convert+0xa>
  be:	0e 94 50 00 	call	0xa0 <SPI_RW>
	SPI_RW((DAVal<<2)&0xFF);
  c2:	80 2f       	mov	r24, r16
  c4:	88 0f       	add	r24, r24
  c6:	88 0f       	add	r24, r24
  c8:	0e 94 50 00 	call	0xa0 <SPI_RW>
	DA_CS_SET();
  cc:	da 9a       	sbi	0x1b, 2	; 27
  ce:	1f 91       	pop	r17
  d0:	0f 91       	pop	r16
  d2:	08 95       	ret

000000d4 <main>:
}


int main(void)
{
  d4:	cf e5       	ldi	r28, 0x5F	; 95
  d6:	d4 e0       	ldi	r29, 0x04	; 4
  d8:	de bf       	out	0x3e, r29	; 62
  da:	cd bf       	out	0x3d, r28	; 61
	int i=0;

	/* Set LED and Smg LE pin as output , databus as output */
	DDRA |=(1<<PA4)|(1<<PA5)|(1<<PA6); 
  dc:	8a b3       	in	r24, 0x1a	; 26
  de:	80 67       	ori	r24, 0x70	; 112
  e0:	8a bb       	out	0x1a, r24	; 26
	DDRB  = 0xFF;
  e2:	8f ef       	ldi	r24, 0xFF	; 255
  e4:	87 bb       	out	0x17, r24	; 23

	/* Off the Smg display */
	PORTA|= (1<<PA5);
  e6:	dd 9a       	sbi	0x1b, 5	; 27
	PORTB = 0x00;
  e8:	18 ba       	out	0x18, r1	; 24
	PORTA&=~(1<<PA5);
  ea:	dd 98       	cbi	0x1b, 5	; 27

	/* Off the LED display */
	PORTA|= (1<<PA6);
  ec:	de 9a       	sbi	0x1b, 6	; 27
	PORTB = 0xFF;
  ee:	88 bb       	out	0x18, r24	; 24
	PORTA&=~(1<<PA6);
  f0:	de 98       	cbi	0x1b, 6	; 27

	DDRA |= (1<<PA2);
  f2:	d2 9a       	sbi	0x1a, 2	; 26
	DDRC |= (1<<PC7);
  f4:	a7 9a       	sbi	0x14, 7	; 20
	RTC_CE_RESET();
  f6:	af 98       	cbi	0x15, 7	; 21
	SPI_Init();
  f8:	0e 94 47 00 	call	0x8e <SPI_Init>
	while(1)
	{
		for(i=0;i<MAX;i+=8)
  fc:	c0 e0       	ldi	r28, 0x00	; 0
  fe:	d0 e0       	ldi	r29, 0x00	; 0
			DA_Convert(i);
 100:	ce 01       	movw	r24, r28
 102:	0e 94 56 00 	call	0xac <DA_Convert>
 106:	28 96       	adiw	r28, 0x08	; 8
 108:	83 e0       	ldi	r24, 0x03	; 3
 10a:	cf 3f       	cpi	r28, 0xFF	; 255
 10c:	d8 07       	cpc	r29, r24
 10e:	c4 f3       	brlt	.-16     	; 0x100 <main+0x2c>
 110:	f5 cf       	rjmp	.-22     	; 0xfc <main+0x28>

⌨️ 快捷键说明

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