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

📄 task2.lss

📁 ATMEL XMEGA ADC Compare Function program.
💻 LSS
📖 第 1 页 / 共 2 页
字号:

task2.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000434  00000000  00000000  00000074  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .bss          00000003  00802000  00000434  000004a8  2**0
                  ALLOC
  2 .debug_aranges 00000040  00000000  00000000  000004a8  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_pubnames 0000011a  00000000  00000000  000004e8  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_info   0000104d  00000000  00000000  00000602  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_abbrev 00000323  00000000  00000000  0000164f  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_line   00000412  00000000  00000000  00001972  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_frame  000000c0  00000000  00000000  00001d84  2**2
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_str    0000096c  00000000  00000000  00001e44  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_loc    00000143  00000000  00000000  000027b0  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 fa 00 	jmp	0x1f4	; 0x1f4 <__ctors_end>
   4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
   8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
   c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  10:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  14:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  18:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  1c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  20:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  24:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  28:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  2c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  30:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  34:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  38:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  3c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  40:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  44:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  48:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  4c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  50:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  54:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  58:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  5c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  60:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  64:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  68:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  6c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  70:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  74:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  78:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  7c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  80:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  84:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  88:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  8c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  90:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  94:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  98:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  9c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  ac:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  bc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  cc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  dc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  ec:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  fc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 100:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 104:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 108:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 10c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 110:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 114:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 118:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 11c:	0c 94 1d 01 	jmp	0x23a	; 0x23a <__vector_71>
 120:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 124:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 128:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 12c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 130:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 134:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 138:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 13c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 140:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 144:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 148:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 14c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 150:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 154:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 158:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 15c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 160:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 164:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 168:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 16c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 170:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 174:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 178:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 17c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 180:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 184:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 188:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 18c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 190:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 194:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 198:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 19c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1ac:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1bc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1cc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1dc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1ec:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1f0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>

000001f4 <__ctors_end>:
 1f4:	11 24       	eor	r1, r1
 1f6:	1f be       	out	0x3f, r1	; 63
 1f8:	cf ef       	ldi	r28, 0xFF	; 255
 1fa:	df e3       	ldi	r29, 0x3F	; 63
 1fc:	de bf       	out	0x3e, r29	; 62
 1fe:	cd bf       	out	0x3d, r28	; 61
 200:	00 e0       	ldi	r16, 0x00	; 0
 202:	0c bf       	out	0x3c, r16	; 60

00000204 <__do_copy_data>:
 204:	10 e2       	ldi	r17, 0x20	; 32
 206:	a0 e0       	ldi	r26, 0x00	; 0
 208:	b0 e2       	ldi	r27, 0x20	; 32
 20a:	e4 e3       	ldi	r30, 0x34	; 52
 20c:	f4 e0       	ldi	r31, 0x04	; 4
 20e:	00 e0       	ldi	r16, 0x00	; 0
 210:	0b bf       	out	0x3b, r16	; 59
 212:	02 c0       	rjmp	.+4      	; 0x218 <__do_copy_data+0x14>
 214:	07 90       	elpm	r0, Z+
 216:	0d 92       	st	X+, r0
 218:	a0 30       	cpi	r26, 0x00	; 0
 21a:	b1 07       	cpc	r27, r17
 21c:	d9 f7       	brne	.-10     	; 0x214 <__do_copy_data+0x10>

0000021e <__do_clear_bss>:
 21e:	10 e2       	ldi	r17, 0x20	; 32
 220:	a0 e0       	ldi	r26, 0x00	; 0
 222:	b0 e2       	ldi	r27, 0x20	; 32
 224:	01 c0       	rjmp	.+2      	; 0x228 <.do_clear_bss_start>

00000226 <.do_clear_bss_loop>:
 226:	1d 92       	st	X+, r1

00000228 <.do_clear_bss_start>:
 228:	a3 30       	cpi	r26, 0x03	; 3
 22a:	b1 07       	cpc	r27, r17
 22c:	e1 f7       	brne	.-8      	; 0x226 <.do_clear_bss_loop>
 22e:	0e 94 58 01 	call	0x2b0	; 0x2b0 <main>
 232:	0c 94 18 02 	jmp	0x430	; 0x430 <_exit>

00000236 <__bad_interrupt>:
 236:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

0000023a <__vector_71>:

volatile uint8_t offset;
volatile uint16_t ADC_result;

ISR(ADCA_CH0_vect)
{   
 23a:	1f 92       	push	r1
 23c:	0f 92       	push	r0
 23e:	0f b6       	in	r0, 0x3f	; 63
 240:	0f 92       	push	r0
 242:	00 90 5b 00 	lds	r0, 0x005B
 246:	0f 92       	push	r0
 248:	11 24       	eor	r1, r1
 24a:	2f 93       	push	r18
 24c:	8f 93       	push	r24
 24e:	9f 93       	push	r25
 250:	ef 93       	push	r30
 252:	ff 93       	push	r31
    // Getting the 8MSB of the result 
    ADC_result = ADCA.CH0.RES;
 254:	e0 e0       	ldi	r30, 0x00	; 0
 256:	f2 e0       	ldi	r31, 0x02	; 2
 258:	84 a1       	ldd	r24, Z+36	; 0x24
 25a:	95 a1       	ldd	r25, Z+37	; 0x25
 25c:	80 93 00 20 	sts	0x2000, r24
 260:	90 93 01 20 	sts	0x2001, r25
    // Ignore negative results
    if(ADC_result > 0x07FF)
 264:	80 91 00 20 	lds	r24, 0x2000
 268:	90 91 01 20 	lds	r25, 0x2001
 26c:	80 50       	subi	r24, 0x00	; 0
 26e:	98 40       	sbci	r25, 0x08	; 8
 270:	20 f0       	brcs	.+8      	; 0x27a <__vector_71+0x40>
    {
        ADC_result = 0;
 272:	10 92 00 20 	sts	0x2000, r1
 276:	10 92 01 20 	sts	0x2001, r1
    }
    ADC_result = (ADC_result >> 4);
 27a:	80 91 00 20 	lds	r24, 0x2000
 27e:	90 91 01 20 	lds	r25, 0x2001
 282:	92 95       	swap	r25
 284:	82 95       	swap	r24
 286:	8f 70       	andi	r24, 0x0F	; 15
 288:	89 27       	eor	r24, r25
 28a:	9f 70       	andi	r25, 0x0F	; 15
 28c:	89 27       	eor	r24, r25
 28e:	80 93 00 20 	sts	0x2000, r24
 292:	90 93 01 20 	sts	0x2001, r25
}
 296:	ff 91       	pop	r31
 298:	ef 91       	pop	r30
 29a:	9f 91       	pop	r25
 29c:	8f 91       	pop	r24
 29e:	2f 91       	pop	r18
 2a0:	0f 90       	pop	r0
 2a2:	00 92 5b 00 	sts	0x005B, r0
 2a6:	0f 90       	pop	r0
 2a8:	0f be       	out	0x3f, r0	; 63
 2aa:	0f 90       	pop	r0
 2ac:	1f 90       	pop	r1
 2ae:	18 95       	reti

000002b0 <main>:

int main( void )
{
 2b0:	ef 92       	push	r14
 2b2:	ff 92       	push	r15
 2b4:	0f 93       	push	r16
 2b6:	1f 93       	push	r17
  	/* Move stored calibration values to ADC A. */
	ADC_CalibrationValues_Set(&ADCA);
 2b8:	80 e0       	ldi	r24, 0x00	; 0
 2ba:	92 e0       	ldi	r25, 0x02	; 2
 2bc:	0e 94 03 02 	call	0x406	; 0x406 <ADC_CalibrationValues_Set>

	/* Get offset value for ADC A. */
 	offset = ADC_Offset_Get(&ADCA);
 2c0:	80 e0       	ldi	r24, 0x00	; 0
 2c2:	92 e0       	ldi	r25, 0x02	; 2
 2c4:	0e 94 d6 01 	call	0x3ac	; 0x3ac <ADC_Offset_Get>
 2c8:	80 93 02 20 	sts	0x2002, r24

    // Set as output, the 8 MSB of the ADC result is output here
    LEDPORT.DIR = 0xFF; 
 2cc:	e0 e6       	ldi	r30, 0x60	; 96
 2ce:	f6 e0       	ldi	r31, 0x06	; 6
 2d0:	8f ef       	ldi	r24, 0xFF	; 255
 2d2:	80 83       	st	Z, r24
    // Turn off the LEDs as Default
    LEDPORT.OUT = 0xFF; 
 2d4:	84 83       	std	Z+4, r24	; 0x04

	// Set up ADC A to have signed conversion mode and a adjusted 12 bit resolution
  	ADC_ConvMode_and_Resolution_Config(&ADCA, true, ADC_RESOLUTION_12BIT_gc);
 2d6:	00 e0       	ldi	r16, 0x00	; 0
 2d8:	12 e0       	ldi	r17, 0x02	; 2
 2da:	f8 01       	movw	r30, r16
 2dc:	81 81       	ldd	r24, Z+1	; 0x01
 2de:	89 7e       	andi	r24, 0xE9	; 233
 2e0:	80 61       	ori	r24, 0x10	; 16
 2e2:	81 83       	std	Z+1, r24	; 0x01

	// Sample rate is CPUFREQ/8. Allow time for storing data
	ADC_Prescaler_Config(&ADCA, ADC_PRESCALER_DIV8_gc);
 2e4:	84 81       	ldd	r24, Z+4	; 0x04
 2e6:	88 7f       	andi	r24, 0xF8	; 248
 2e8:	81 60       	ori	r24, 0x01	; 1
 2ea:	84 83       	std	Z+4, r24	; 0x04

	// Set reference voltage on ADC A to be VCC-0.6 V
	ADC_Reference_Config(&ADCA, ADC_REFSEL_VCC_gc);
 2ec:	82 81       	ldd	r24, Z+2	; 0x02
 2ee:	8f 7c       	andi	r24, 0xCF	; 207
 2f0:	80 61       	ori	r24, 0x10	; 16
 2f2:	82 83       	std	Z+2, r24	; 0x02

	// Setup channel 0, 1, 2 and 3 to have single ended input
	ADC_Ch_InputMode_and_Gain_Config(&ADCA.CH0,
 2f4:	0f 2e       	mov	r0, r31
 2f6:	f0 e2       	ldi	r31, 0x20	; 32
 2f8:	ef 2e       	mov	r14, r31
 2fa:	f2 e0       	ldi	r31, 0x02	; 2
 2fc:	ff 2e       	mov	r15, r31
 2fe:	f0 2d       	mov	r31, r0
 300:	f7 01       	movw	r30, r14
 302:	80 81       	ld	r24, Z
 304:	80 7e       	andi	r24, 0xE0	; 224
 306:	81 60       	ori	r24, 0x01	; 1
 308:	80 83       	st	Z, r24
	                                 ADC_CH_INPUTMODE_SINGLEENDED_gc,
	                                 ADC_CH_GAIN_1X_gc);
 
    // Set input to the channels in ADC A to be PIN 1
	ADC_Ch_InputMux_Config( &ADCA.CH0, 
 30a:	88 e0       	ldi	r24, 0x08	; 8
 30c:	81 83       	std	Z+1, r24	; 0x01
                            0);   

    // The ADC Compare (CMP) register must be set with the threshold value when

⌨️ 快捷键说明

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