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

📄 timer.lss

📁 AVR Devolpment Board
💻 LSS
字号:

timer.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000202  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000202  00000296  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000001  00800060  00800060  00000296  2**0
                  ALLOC
  3 .noinit       00000000  00800061  00800061  00000296  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000296  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  00000298  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000604  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  00000688  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000043  00000000  00000000  0000069c  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   0000016a  00000000  00000000  000006df  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000c9  00000000  00000000  00000849  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000145  00000000  00000000  00000912  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000f0  00000000  00000000  00000a57  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 aa 00 	jmp	0x154 <__init>
   4:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
   8:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
   c:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  10:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  14:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  18:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  1c:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  20:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  24:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  28:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  2c:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  30:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  34:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  38:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  3c:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  40:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  44:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  48:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>
  4c:	0c 94 e6 00 	jmp	0x1cc <__vector_19>
  50:	0c 94 c5 00 	jmp	0x18a <__bad_interrupt>

00000054 <SIN>:
  54:	80 83 86 89 8c 8f 92 95 98 9b 9e a2 a5 a7 aa ad     ................
  64:	b0 b3 b6 b9 bc be c1 c4 c6 c9 cb ce d0 d3 d5 d7     ................
  74:	da dc de e0 e2 e4 e6 e8 ea eb ed ee f0 f1 f3 f4     ................
  84:	f5 f6 f8 f9 fa fa fb fc fd fd fe fe fe ff ff ff     ................
  94:	ff ff ff ff fe fe fe fd fd fc fb fa fa f9 f8 f6     ................
  a4:	f5 f4 f3 f1 f0 ee ed eb ea e8 e6 e4 e2 e0 de dc     ................
  b4:	da d7 d5 d3 d0 ce cb c9 c6 c4 c1 be bc b9 b6 b3     ................
  c4:	b0 ad aa a7 a5 a2 9e 9b 98 95 92 8f 8c 89 86 83     ................
  d4:	80 7c 79 76 73 70 6d 6a 67 64 61 5d 5a 58 55 52     .|yvspmjgda]ZXUR
  e4:	4f 4c 49 46 43 41 3e 3b 39 36 34 31 2f 2c 2a 28     OLIFCA>;9641/,*(
  f4:	25 23 21 1f 1d 1b 19 17 15 14 12 11 0f 0e 0c 0b     %#!.............
 104:	0a 09 07 06 05 05 04 03 02 02 01 01 01 00 00 00     ................
 114:	00 00 00 00 01 01 01 02 02 03 04 05 05 06 07 09     ................
 124:	0a 0b 0c 0e 0f 11 12 14 15 17 19 1b 1d 1f 21 23     ..............!#
 134:	25 28 2a 2c 2f 31 34 36 39 3b 3e 41 43 46 49 4c     %(*,/1469;>ACFIL
 144:	4f 52 55 58 5a 5d 61 64 67 6a 6d 70 73 76 79 7c     ORUXZ]adgjmpsvy|

00000154 <__init>:
 154:	11 24       	eor	r1, r1
 156:	1f be       	out	0x3f, r1	; 63
 158:	cf e5       	ldi	r28, 0x5F	; 95
 15a:	d4 e0       	ldi	r29, 0x04	; 4
 15c:	de bf       	out	0x3e, r29	; 62
 15e:	cd bf       	out	0x3d, r28	; 61

00000160 <__do_copy_data>:
 160:	10 e0       	ldi	r17, 0x00	; 0
 162:	a0 e6       	ldi	r26, 0x60	; 96
 164:	b0 e0       	ldi	r27, 0x00	; 0
 166:	e2 e0       	ldi	r30, 0x02	; 2
 168:	f2 e0       	ldi	r31, 0x02	; 2
 16a:	02 c0       	rjmp	.+4      	; 0x170 <.do_copy_data_start>

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

00000170 <.do_copy_data_start>:
 170:	a0 36       	cpi	r26, 0x60	; 96
 172:	b1 07       	cpc	r27, r17
 174:	d9 f7       	brne	.-10     	; 0x16c <.do_copy_data_loop>

00000176 <__do_clear_bss>:
 176:	10 e0       	ldi	r17, 0x00	; 0
 178:	a0 e6       	ldi	r26, 0x60	; 96
 17a:	b0 e0       	ldi	r27, 0x00	; 0
 17c:	01 c0       	rjmp	.+2      	; 0x180 <.do_clear_bss_start>

0000017e <.do_clear_bss_loop>:
 17e:	1d 92       	st	X+, r1

00000180 <.do_clear_bss_start>:
 180:	a1 36       	cpi	r26, 0x61	; 97
 182:	b1 07       	cpc	r27, r17
 184:	e1 f7       	brne	.-8      	; 0x17e <.do_clear_bss_loop>
 186:	0c 94 d1 00 	jmp	0x1a2 <main>

0000018a <__bad_interrupt>:
 18a:	0c 94 00 00 	jmp	0x0 <__vectors>

0000018e <TimerConfig>:
{
	/* WGM[1;0]=[1,1] : Fast PWM
	 * COM[1;0]=[1,1] : Set OC0 on compare match, clear OC0 at BOTTOM
	 * CS0[2:0]=[0,1,0] : Clock=FCPU/8 (From prescaler) */
	TCCR0=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(0<<CS00);
 18e:	8a e7       	ldi	r24, 0x7A	; 122
 190:	83 bf       	out	0x33, r24	; 51

	/* Set the value of Timer/Counter Register to 0 */
	TCNT0= 0x00;
 192:	12 be       	out	0x32, r1	; 50

	/* Set the value of Output Compare Register to half of the top(255) value */
	OCR0 = 127;
 194:	8f e7       	ldi	r24, 0x7F	; 127
 196:	8c bf       	out	0x3c, r24	; 60

	/* Enable the tim0 ISR */
	TIMSK|=(1<<OCIE0);
 198:	89 b7       	in	r24, 0x39	; 57
 19a:	82 60       	ori	r24, 0x02	; 2
 19c:	89 bf       	out	0x39, r24	; 57

	/* Enable the ISR */
	sei();
 19e:	78 94       	sei
 1a0:	08 95       	ret

000001a2 <main>:
}


int main(void)
{
 1a2:	cf e5       	ldi	r28, 0x5F	; 95
 1a4:	d4 e0       	ldi	r29, 0x04	; 4
 1a6:	de bf       	out	0x3e, r29	; 62
 1a8:	cd bf       	out	0x3d, r28	; 61
	/* Set LED and Seg LE pin as output , databus as output */
	DDRA |=(1<<PA4)|(1<<PA5)|(1<<PA6); 
 1aa:	8a b3       	in	r24, 0x1a	; 26
 1ac:	80 67       	ori	r24, 0x70	; 112
 1ae:	8a bb       	out	0x1a, r24	; 26
	DDRB  = 0xFF;
 1b0:	9f ef       	ldi	r25, 0xFF	; 255
 1b2:	97 bb       	out	0x17, r25	; 23

	/* Off the Seg display */
	PORTB = 0x00;
 1b4:	18 ba       	out	0x18, r1	; 24
	PORTA|=  (1<<PA4)|(1<<PA5);
 1b6:	8b b3       	in	r24, 0x1b	; 27
 1b8:	80 63       	ori	r24, 0x30	; 48
 1ba:	8b bb       	out	0x1b, r24	; 27
	PORTA&=~((1<<PA6)|(1<<PA5));
 1bc:	8b b3       	in	r24, 0x1b	; 27
 1be:	8f 79       	andi	r24, 0x9F	; 159
 1c0:	8b bb       	out	0x1b, r24	; 27

	/* Off the led and enable the Led LE */
	PORTB = 0xFF;
 1c2:	98 bb       	out	0x18, r25	; 24
	PORTA|= (1<<PA6);
 1c4:	de 9a       	sbi	0x1b, 6	; 27

	TimerConfig();
 1c6:	0e 94 c7 00 	call	0x18e <TimerConfig>
	while(1)
 1ca:	ff cf       	rjmp	.-2      	; 0x1ca <main+0x28>

000001cc <__vector_19>:
	{
		;
	}
	return 0;
}

SIGNAL(TIMER0_COMP_vect)
{
 1cc:	1f 92       	push	r1
 1ce:	0f 92       	push	r0
 1d0:	0f b6       	in	r0, 0x3f	; 63
 1d2:	0f 92       	push	r0
 1d4:	11 24       	eor	r1, r1
 1d6:	8f 93       	push	r24
 1d8:	ef 93       	push	r30
 1da:	ff 93       	push	r31
	static unsigned char x_LUT=0;
	OCR0=pgm_read_byte(&SIN[x_LUT++]);	
 1dc:	80 91 60 00 	lds	r24, 0x0060
 1e0:	e8 2f       	mov	r30, r24
 1e2:	ff 27       	eor	r31, r31
 1e4:	ec 5a       	subi	r30, 0xAC	; 172
 1e6:	ff 4f       	sbci	r31, 0xFF	; 255
 1e8:	8f 5f       	subi	r24, 0xFF	; 255
 1ea:	80 93 60 00 	sts	0x0060, r24
 1ee:	84 91       	lpm	r24, Z
 1f0:	8c bf       	out	0x3c, r24	; 60
 1f2:	ff 91       	pop	r31
 1f4:	ef 91       	pop	r30
 1f6:	8f 91       	pop	r24
 1f8:	0f 90       	pop	r0
 1fa:	0f be       	out	0x3f, r0	; 63
 1fc:	0f 90       	pop	r0
 1fe:	1f 90       	pop	r1
 200:	18 95       	reti

⌨️ 快捷键说明

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