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

📄 timer.lss

📁 AVR Devolpment Board
💻 LSS
字号:

timer.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000021e  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  0000021e  000002b2  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000009  00800060  00800060  000002b2  2**0
                  ALLOC
  3 .noinit       00000000  00800069  00800069  000002b2  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000002b2  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  000002b4  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000620  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000006a4  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000061  00000000  00000000  000006b8  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000259  00000000  00000000  00000719  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 00000130  00000000  00000000  00000972  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   000001ba  00000000  00000000  00000aa2  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    0000013e  00000000  00000000  00000c5c  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 32 00 	jmp	0x64 <__init>
   4:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
   8:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
   c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  10:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  14:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  18:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  1c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  20:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  24:	0c 94 57 00 	jmp	0xae <__vector_9>
  28:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  2c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  30:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  34:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  38:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  3c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  40:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  44:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  48:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  4c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  50:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>

00000054 <SegCode>:
  54:	3f 06 5b 4f 66 6d 7d 07 7f 6f 77 7c 39 5e 79 71     ?.[Ofm}..ow|9^yq

00000064 <__init>:
  64:	11 24       	eor	r1, r1
  66:	1f be       	out	0x3f, r1	; 63
  68:	cf e5       	ldi	r28, 0x5F	; 95
  6a:	d4 e0       	ldi	r29, 0x04	; 4
  6c:	de bf       	out	0x3e, r29	; 62
  6e:	cd bf       	out	0x3d, r28	; 61

00000070 <__do_copy_data>:
  70:	10 e0       	ldi	r17, 0x00	; 0
  72:	a0 e6       	ldi	r26, 0x60	; 96
  74:	b0 e0       	ldi	r27, 0x00	; 0
  76:	ee e1       	ldi	r30, 0x1E	; 30
  78:	f2 e0       	ldi	r31, 0x02	; 2
  7a:	02 c0       	rjmp	.+4      	; 0x80 <.do_copy_data_start>

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

00000080 <.do_copy_data_start>:
  80:	a0 36       	cpi	r26, 0x60	; 96
  82:	b1 07       	cpc	r27, r17
  84:	d9 f7       	brne	.-10     	; 0x7c <.do_copy_data_loop>

00000086 <__do_clear_bss>:
  86:	10 e0       	ldi	r17, 0x00	; 0
  88:	a0 e6       	ldi	r26, 0x60	; 96
  8a:	b0 e0       	ldi	r27, 0x00	; 0
  8c:	01 c0       	rjmp	.+2      	; 0x90 <.do_clear_bss_start>

0000008e <.do_clear_bss_loop>:
  8e:	1d 92       	st	X+, r1

00000090 <.do_clear_bss_start>:
  90:	a9 36       	cpi	r26, 0x69	; 105
  92:	b1 07       	cpc	r27, r17
  94:	e1 f7       	brne	.-8      	; 0x8e <.do_clear_bss_loop>
  96:	0c 94 ac 00 	jmp	0x158 <main>

0000009a <__bad_interrupt>:
  9a:	0c 94 00 00 	jmp	0x0 <__heap_end>

0000009e <TimerConfig>:


void TimerConfig(void)
{
	TCCR0=(1<<CS01)|(1<<CS00);     //控制寄存器,工作方式及时钟选择
  9e:	83 e0       	ldi	r24, 0x03	; 3
  a0:	83 bf       	out	0x33, r24	; 51
	TCNT0=(256-250);//计数值	
  a2:	86 e0       	ldi	r24, 0x06	; 6
  a4:	82 bf       	out	0x32, r24	; 50
	TIMSK=0x01;     //中断控制
  a6:	81 e0       	ldi	r24, 0x01	; 1
  a8:	89 bf       	out	0x39, r24	; 57
	sei();
  aa:	78 94       	sei
  ac:	08 95       	ret

000000ae <__vector_9>:
}

SIGNAL(TIMER0_OVF_vect)
{
  ae:	1f 92       	push	r1
  b0:	0f 92       	push	r0
  b2:	0f b6       	in	r0, 0x3f	; 63
  b4:	0f 92       	push	r0
  b6:	11 24       	eor	r1, r1
  b8:	2f 93       	push	r18
  ba:	3f 93       	push	r19
  bc:	4f 93       	push	r20
  be:	8f 93       	push	r24
  c0:	9f 93       	push	r25
  c2:	ef 93       	push	r30
  c4:	ff 93       	push	r31
	static unsigned char i=0;
	TCNT0=(256-250);
  c6:	86 e0       	ldi	r24, 0x06	; 6
  c8:	82 bf       	out	0x32, r24	; 50
	
	PORTB = pgm_read_byte(&SegCode[DisBuffer[i]]);
  ca:	40 91 60 00 	lds	r20, 0x0060
  ce:	24 2f       	mov	r18, r20
  d0:	33 27       	eor	r19, r19
  d2:	f9 01       	movw	r30, r18
  d4:	ef 59       	subi	r30, 0x9F	; 159
  d6:	ff 4f       	sbci	r31, 0xFF	; 255
  d8:	80 81       	ld	r24, Z
  da:	e8 2f       	mov	r30, r24
  dc:	ff 27       	eor	r31, r31
  de:	ec 5a       	subi	r30, 0xAC	; 172
  e0:	ff 4f       	sbci	r31, 0xFF	; 255
  e2:	84 91       	lpm	r24, Z
  e4:	88 bb       	out	0x18, r24	; 24
	PORTA|= (1<<PA4);
  e6:	dc 9a       	sbi	0x1b, 4	; 27
	PORTA&=~(1<<PA4);	
  e8:	dc 98       	cbi	0x1b, 4	; 27
				
	PORTB = (1<<i);
  ea:	81 e0       	ldi	r24, 0x01	; 1
  ec:	90 e0       	ldi	r25, 0x00	; 0
  ee:	02 c0       	rjmp	.+4      	; 0xf4 <__vector_9+0x46>
  f0:	88 0f       	add	r24, r24
  f2:	99 1f       	adc	r25, r25
  f4:	2a 95       	dec	r18
  f6:	e2 f7       	brpl	.-8      	; 0xf0 <__vector_9+0x42>
  f8:	88 bb       	out	0x18, r24	; 24
	PORTA|= (1<<PA5);
  fa:	dd 9a       	sbi	0x1b, 5	; 27
	PORTA&=~(1<<PA5);
  fc:	dd 98       	cbi	0x1b, 5	; 27

	i++;
  fe:	84 2f       	mov	r24, r20
 100:	8f 5f       	subi	r24, 0xFF	; 255
 102:	80 93 60 00 	sts	0x0060, r24
	if(i==8)
 106:	88 30       	cpi	r24, 0x08	; 8
 108:	11 f4       	brne	.+4      	; 0x10e <__vector_9+0x60>
		i=0;
 10a:	10 92 60 00 	sts	0x0060, r1
 10e:	ff 91       	pop	r31
 110:	ef 91       	pop	r30
 112:	9f 91       	pop	r25
 114:	8f 91       	pop	r24
 116:	4f 91       	pop	r20
 118:	3f 91       	pop	r19
 11a:	2f 91       	pop	r18
 11c:	0f 90       	pop	r0
 11e:	0f be       	out	0x3f, r0	; 63
 120:	0f 90       	pop	r0
 122:	1f 90       	pop	r1
 124:	18 95       	reti

00000126 <delay_ms>:
	
}	

void delay_ms(unsigned int ms)
{
 126:	cf 93       	push	r28
 128:	df 93       	push	r29
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 12a:	9c 01       	movw	r18, r24
 12c:	21 50       	subi	r18, 0x01	; 1
 12e:	30 40       	sbci	r19, 0x00	; 0
 130:	8f ef       	ldi	r24, 0xFF	; 255
 132:	2f 3f       	cpi	r18, 0xFF	; 255
 134:	38 07       	cpc	r19, r24
 136:	69 f0       	breq	.+26     	; 0x152 <delay_ms+0x2c>
 138:	a0 ed       	ldi	r26, 0xD0	; 208
 13a:	b7 e0       	ldi	r27, 0x07	; 7
 13c:	c0 e0       	ldi	r28, 0x00	; 0
 13e:	d0 e0       	ldi	r29, 0x00	; 0
 140:	cd 01       	movw	r24, r26
 142:	01 97       	sbiw	r24, 0x01	; 1
 144:	f1 f7       	brne	.-4      	; 0x142 <delay_ms+0x1c>
 146:	21 50       	subi	r18, 0x01	; 1
 148:	30 40       	sbci	r19, 0x00	; 0
 14a:	8f ef       	ldi	r24, 0xFF	; 255
 14c:	2f 3f       	cpi	r18, 0xFF	; 255
 14e:	38 07       	cpc	r19, r24
 150:	b9 f7       	brne	.-18     	; 0x140 <delay_ms+0x1a>
 152:	df 91       	pop	r29
 154:	cf 91       	pop	r28
 156:	08 95       	ret

00000158 <main>:
	while(ms--)
		_delay_ms(1);
}


int main(void)
{
 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
	unsigned int Count=0;
 160:	c0 e0       	ldi	r28, 0x00	; 0
 162:	d0 e0       	ldi	r29, 0x00	; 0

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

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

	TimerConfig();
 174:	0e 94 4f 00 	call	0x9e <TimerConfig>
	while(1)
	{
		Count++;
 178:	21 96       	adiw	r28, 0x01	; 1

		DisBuffer[0]=0;
 17a:	10 92 61 00 	sts	0x0061, r1
		DisBuffer[1]=0;
 17e:	10 92 62 00 	sts	0x0062, r1
		DisBuffer[2]=0;
 182:	10 92 63 00 	sts	0x0063, r1
		DisBuffer[3]=Count/10000%10;
 186:	ce 01       	movw	r24, r28
 188:	60 e1       	ldi	r22, 0x10	; 16
 18a:	77 e2       	ldi	r23, 0x27	; 39
 18c:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 190:	cb 01       	movw	r24, r22
 192:	6a e0       	ldi	r22, 0x0A	; 10
 194:	70 e0       	ldi	r23, 0x00	; 0
 196:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 19a:	80 93 64 00 	sts	0x0064, r24
		DisBuffer[4]=Count/1000%10;
 19e:	ce 01       	movw	r24, r28
 1a0:	68 ee       	ldi	r22, 0xE8	; 232
 1a2:	73 e0       	ldi	r23, 0x03	; 3
 1a4:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1a8:	cb 01       	movw	r24, r22
 1aa:	6a e0       	ldi	r22, 0x0A	; 10
 1ac:	70 e0       	ldi	r23, 0x00	; 0
 1ae:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1b2:	80 93 65 00 	sts	0x0065, r24
		DisBuffer[5]=Count/100%10;
 1b6:	ce 01       	movw	r24, r28
 1b8:	64 e6       	ldi	r22, 0x64	; 100
 1ba:	70 e0       	ldi	r23, 0x00	; 0
 1bc:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1c0:	cb 01       	movw	r24, r22
 1c2:	6a e0       	ldi	r22, 0x0A	; 10
 1c4:	70 e0       	ldi	r23, 0x00	; 0
 1c6:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1ca:	80 93 66 00 	sts	0x0066, r24
		DisBuffer[6]=Count/10%10;
 1ce:	ce 01       	movw	r24, r28
 1d0:	6a e0       	ldi	r22, 0x0A	; 10
 1d2:	70 e0       	ldi	r23, 0x00	; 0
 1d4:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1d8:	cb 01       	movw	r24, r22
 1da:	6a e0       	ldi	r22, 0x0A	; 10
 1dc:	70 e0       	ldi	r23, 0x00	; 0
 1de:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1e2:	80 93 67 00 	sts	0x0067, r24
		DisBuffer[7]=Count/1%10;
 1e6:	ce 01       	movw	r24, r28
 1e8:	6a e0       	ldi	r22, 0x0A	; 10
 1ea:	70 e0       	ldi	r23, 0x00	; 0
 1ec:	0e 94 fb 00 	call	0x1f6 <__udivmodhi4>
 1f0:	80 93 68 00 	sts	0x0068, r24
 1f4:	c1 cf       	rjmp	.-126    	; 0x178 <main+0x20>

000001f6 <__udivmodhi4>:
 1f6:	aa 1b       	sub	r26, r26
 1f8:	bb 1b       	sub	r27, r27
 1fa:	51 e1       	ldi	r21, 0x11	; 17
 1fc:	07 c0       	rjmp	.+14     	; 0x20c <__udivmodhi4_ep>

000001fe <__udivmodhi4_loop>:
 1fe:	aa 1f       	adc	r26, r26
 200:	bb 1f       	adc	r27, r27
 202:	a6 17       	cp	r26, r22
 204:	b7 07       	cpc	r27, r23
 206:	10 f0       	brcs	.+4      	; 0x20c <__udivmodhi4_ep>
 208:	a6 1b       	sub	r26, r22
 20a:	b7 0b       	sbc	r27, r23

0000020c <__udivmodhi4_ep>:
 20c:	88 1f       	adc	r24, r24
 20e:	99 1f       	adc	r25, r25
 210:	5a 95       	dec	r21
 212:	a9 f7       	brne	.-22     	; 0x1fe <__udivmodhi4_loop>
 214:	80 95       	com	r24
 216:	90 95       	com	r25
 218:	bc 01       	movw	r22, r24
 21a:	cd 01       	movw	r24, r26
 21c:	08 95       	ret

⌨️ 快捷键说明

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