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

📄 mp3_player_06.lss

📁 MP3源码 内有SD2.0 驱动 FAT32 驱动
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     d27:	6d 70 33 00                                         mp3.

00000d2b <__c.2153>:
     d2b:	46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 21 00     File not found!.
	...

00000d3c <__ctors_end>:
     d3c:	11 24       	eor	r1, r1
     d3e:	1f be       	out	0x3f, r1	; 63
     d40:	cf ef       	ldi	r28, 0xFF	; 255
     d42:	d0 e1       	ldi	r29, 0x10	; 16
     d44:	de bf       	out	0x3e, r29	; 62
     d46:	cd bf       	out	0x3d, r28	; 61

00000d48 <__do_copy_data>:
     d48:	11 e0       	ldi	r17, 0x01	; 1
     d4a:	a0 e0       	ldi	r26, 0x00	; 0
     d4c:	b1 e0       	ldi	r27, 0x01	; 1
     d4e:	e2 ed       	ldi	r30, 0xD2	; 210
     d50:	fd e8       	ldi	r31, 0x8D	; 141
     d52:	00 e0       	ldi	r16, 0x00	; 0
     d54:	0b bf       	out	0x3b, r16	; 59
     d56:	02 c0       	rjmp	.+4      	; 0xd5c <__do_copy_data+0x14>
     d58:	07 90       	elpm	r0, Z+
     d5a:	0d 92       	st	X+, r0
     d5c:	ae 34       	cpi	r26, 0x4E	; 78
     d5e:	b1 07       	cpc	r27, r17
     d60:	d9 f7       	brne	.-10     	; 0xd58 <__do_copy_data+0x10>

00000d62 <__do_clear_bss>:
     d62:	1a e0       	ldi	r17, 0x0A	; 10
     d64:	ae e4       	ldi	r26, 0x4E	; 78
     d66:	b1 e0       	ldi	r27, 0x01	; 1
     d68:	01 c0       	rjmp	.+2      	; 0xd6c <.do_clear_bss_start>

00000d6a <.do_clear_bss_loop>:
     d6a:	1d 92       	st	X+, r1

00000d6c <.do_clear_bss_start>:
     d6c:	af 30       	cpi	r26, 0x0F	; 15
     d6e:	b1 07       	cpc	r27, r17
     d70:	e1 f7       	brne	.-8      	; 0xd6a <.do_clear_bss_loop>
     d72:	0e 94 38 07 	call	0xe70	; 0xe70 <main>
     d76:	0c 94 e8 46 	jmp	0x8dd0	; 0x8dd0 <_exit>

00000d7a <__bad_interrupt>:
     d7a:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

00000d7e <Timer1_Initial>:

	
//Timer initialization offer seed of the srandom()
void Timer1_Initial()
{
     d7e:	10 92 53 01 	sts	0x0153, r1
	key_value = 0;
	key_count = 0;
     d82:	10 92 54 01 	sts	0x0154, r1
	TCNT1H=0x00;
     d86:	1d bc       	out	0x2d, r1	; 45
	TCNT1L=0x00;
     d88:	1c bc       	out	0x2c, r1	; 44
	TCCR1A=0x00;
     d8a:	1f bc       	out	0x2f, r1	; 47
	TCCR1B=0x01;
     d8c:	81 e0       	ldi	r24, 0x01	; 1
     d8e:	8e bd       	out	0x2e, r24	; 46
	TIMSK |= 1<<TOIE1;
     d90:	87 b7       	in	r24, 0x37	; 55
     d92:	84 60       	ori	r24, 0x04	; 4
     d94:	87 bf       	out	0x37, r24	; 55
 	sei();
     d96:	78 94       	sei
     d98:	08 95       	ret

00000d9a <__vector_14>:
}


SIGNAL(TIMER1_OVF_vect)
{
     d9a:	1f 92       	push	r1
     d9c:	0f 92       	push	r0
     d9e:	0f b6       	in	r0, 0x3f	; 63
     da0:	0f 92       	push	r0
     da2:	11 24       	eor	r1, r1
     da4:	8f 93       	push	r24
	//TCCR1B = 0;
	//printf_P(PSTR("\r\nvalue = %x"),key_value);
	if((key_value&KEY_VALID) ==0)
     da6:	80 91 53 01 	lds	r24, 0x0153
     daa:	84 fd       	sbrc	r24, 4
     dac:	5b c0       	rjmp	.+182    	; 0xe64 <__vector_14+0xca>
	{
		//printf_P(PSTR("\r\nkey not valid"));
		if((PINE&(STOP|MODE|NEXT|PREV|UP|DOWN)) == (STOP|MODE|NEXT|PREV|UP|DOWN))
     dae:	81 b1       	in	r24, 0x01	; 1
     db0:	8c 7f       	andi	r24, 0xFC	; 252
     db2:	8c 3f       	cpi	r24, 0xFC	; 252
     db4:	f9 f4       	brne	.+62     	; 0xdf4 <__vector_14+0x5a>
		{
			//printf_P(PSTR("\r\nno key pressed"));
			if(key_value&KEY_LONG)
     db6:	80 91 53 01 	lds	r24, 0x0153
     dba:	85 ff       	sbrs	r24, 5
     dbc:	03 c0       	rjmp	.+6      	; 0xdc4 <__vector_14+0x2a>
			{
				key_value = 0;
     dbe:	10 92 53 01 	sts	0x0153, r1
     dc2:	50 c0       	rjmp	.+160    	; 0xe64 <__vector_14+0xca>
			}
			else if((key_value&KEY_PRESEED) && (key_count>KEY_VALID_TIME))
     dc4:	80 91 53 01 	lds	r24, 0x0153
     dc8:	87 ff       	sbrs	r24, 7
     dca:	0f c0       	rjmp	.+30     	; 0xdea <__vector_14+0x50>
     dcc:	80 91 54 01 	lds	r24, 0x0154
     dd0:	8b 30       	cpi	r24, 0x0B	; 11
     dd2:	58 f0       	brcs	.+22     	; 0xdea <__vector_14+0x50>
			{
				//printf_P(PSTR("\r\nkey released"));
				key_value |= KEY_RELEASED;
     dd4:	80 91 53 01 	lds	r24, 0x0153
     dd8:	80 64       	ori	r24, 0x40	; 64
     dda:	80 93 53 01 	sts	0x0153, r24
				key_value |= KEY_VALID;
     dde:	80 91 53 01 	lds	r24, 0x0153
     de2:	80 61       	ori	r24, 0x10	; 16
     de4:	80 93 53 01 	sts	0x0153, r24
     de8:	02 c0       	rjmp	.+4      	; 0xdee <__vector_14+0x54>
				key_count = 0;
			}
			else
			{
				key_value = 0;
     dea:	10 92 53 01 	sts	0x0153, r1
				key_count = 0;
     dee:	10 92 54 01 	sts	0x0154, r1
     df2:	38 c0       	rjmp	.+112    	; 0xe64 <__vector_14+0xca>
			}
		}
		else if(key_value&KEY_PRESEED)
     df4:	80 91 53 01 	lds	r24, 0x0153
     df8:	87 ff       	sbrs	r24, 7
     dfa:	15 c0       	rjmp	.+42     	; 0xe26 <__vector_14+0x8c>
		{
			//printf_P(PSTR("\r\nkey used preseed"));
			if(key_count == KEY_LONG_TIME)
     dfc:	80 91 54 01 	lds	r24, 0x0154
     e00:	8f 3f       	cpi	r24, 0xFF	; 255
     e02:	39 f4       	brne	.+14     	; 0xe12 <__vector_14+0x78>
			{
				//printf_P(PSTR("\r\nlong key prseed"));
				key_value |= KEY_LONG|KEY_VALID;
     e04:	80 91 53 01 	lds	r24, 0x0153
     e08:	80 63       	ori	r24, 0x30	; 48
     e0a:	80 93 53 01 	sts	0x0153, r24
				key_count= 0;
     e0e:	10 92 54 01 	sts	0x0154, r1
			}
			if((key_value&KEY_LONG)==0)
     e12:	80 91 53 01 	lds	r24, 0x0153
     e16:	85 fd       	sbrc	r24, 5
     e18:	25 c0       	rjmp	.+74     	; 0xe64 <__vector_14+0xca>
			{
				key_count++;
     e1a:	80 91 54 01 	lds	r24, 0x0154
     e1e:	8f 5f       	subi	r24, 0xFF	; 255
     e20:	80 93 54 01 	sts	0x0154, r24
     e24:	1f c0       	rjmp	.+62     	; 0xe64 <__vector_14+0xca>
			}
		}
		else
		{
			if((PINE&STOP)!=STOP)
     e26:	0e 99       	sbic	0x01, 6	; 1
     e28:	03 c0       	rjmp	.+6      	; 0xe30 <__vector_14+0x96>
			{
				//printf_P(PSTR("\r\nstop key first pressed"));
				key_value = KEY_STOP;
     e2a:	10 92 53 01 	sts	0x0153, r1
     e2e:	15 c0       	rjmp	.+42     	; 0xe5a <__vector_14+0xc0>
				key_value |= KEY_PRESEED;
			}
			else if((PINE&MODE)!=MODE)
     e30:	0f 99       	sbic	0x01, 7	; 1
     e32:	02 c0       	rjmp	.+4      	; 0xe38 <__vector_14+0x9e>
			{
				//printf_P(PSTR("\r\nmode key first pressed"));
				key_value = KEY_MODE;
     e34:	81 e0       	ldi	r24, 0x01	; 1
     e36:	0f c0       	rjmp	.+30     	; 0xe56 <__vector_14+0xbc>
				key_value |= KEY_PRESEED;
			}
			else if((PINE&NEXT)!=NEXT)
     e38:	0b 99       	sbic	0x01, 3	; 1
     e3a:	02 c0       	rjmp	.+4      	; 0xe40 <__vector_14+0xa6>
			{
				//printf_P(PSTR("\r\nnext key first pressed"));
				key_value = KEY_NEXT;
     e3c:	82 e0       	ldi	r24, 0x02	; 2
     e3e:	0b c0       	rjmp	.+22     	; 0xe56 <__vector_14+0xbc>
				key_value |= KEY_PRESEED;
			}
			else if((PINE&PREV)!=PREV)
     e40:	0a 99       	sbic	0x01, 2	; 1
     e42:	02 c0       	rjmp	.+4      	; 0xe48 <__vector_14+0xae>
			{
				//printf_P(PSTR("\r\nprev key first pressed"));
				key_value = KEY_PREV;
     e44:	83 e0       	ldi	r24, 0x03	; 3
     e46:	07 c0       	rjmp	.+14     	; 0xe56 <__vector_14+0xbc>
				key_value |= KEY_PRESEED;
			}
			else if((PINE&UP)!=UP)
     e48:	0d 99       	sbic	0x01, 5	; 1
     e4a:	02 c0       	rjmp	.+4      	; 0xe50 <__vector_14+0xb6>
			{
				//printf_P(PSTR("\r\nV+ key first pressed"));
				key_value = KEY_UP;
     e4c:	84 e0       	ldi	r24, 0x04	; 4
     e4e:	03 c0       	rjmp	.+6      	; 0xe56 <__vector_14+0xbc>
				key_value |= KEY_PRESEED;
			}
			else if((PINE&DOWN)!=DOWN)
     e50:	0c 99       	sbic	0x01, 4	; 1
     e52:	08 c0       	rjmp	.+16     	; 0xe64 <__vector_14+0xca>
			{
				//printf_P(PSTR("\r\nV- key first pressed"));
				key_value = KEY_DOWN;
     e54:	85 e0       	ldi	r24, 0x05	; 5
     e56:	80 93 53 01 	sts	0x0153, r24
				key_value |= KEY_PRESEED;
     e5a:	80 91 53 01 	lds	r24, 0x0153
     e5e:	80 68       	ori	r24, 0x80	; 128
     e60:	80 93 53 01 	sts	0x0153, r24
     e64:	8f 91       	pop	r24
     e66:	0f 90       	pop	r0
     e68:	0f be       	out	0x3f, r0	; 63
     e6a:	0f 90       	pop	r0
     e6c:	1f 90       	pop	r1
     e6e:	18 95       	reti

00000e70 <main>:
			}

		}
	}
	//TCCR1B = 0x01;
}


int main()
{
     e70:	1f 93       	push	r17
	//unsigned char temp;
	DDRE = 0x00;
     e72:	12 b8       	out	0x02, r1	; 2
	PORTE = 0xff;
     e74:	1f ef       	ldi	r17, 0xFF	; 255
     e76:	13 b9       	out	0x03, r17	; 3
	PORTB |= 1<<PB0;	/* we should make sure that AVR's SS pin is held high no mater the spi is master or slave*/
     e78:	c0 9a       	sbi	0x18, 0	; 24

	LCD_BL_CON;
     e7a:	80 91 64 00 	lds	r24, 0x0064
     e7e:	88 60       	ori	r24, 0x08	; 8
     e80:	80 93 64 00 	sts	0x0064, r24
	LCD_BL_ON;	
     e84:	80 91 65 00 	lds	r24, 0x0065
     e88:	87 7f       	andi	r24, 0xF7	; 247
     e8a:	80 93 65 00 	sts	0x0065, r24

	OSCCAL = 0xff;
     e8e:	10 93 6f 00 	sts	0x006F, r17

	COM_Initial(MYUBRR);
     e92:	87 e0       	ldi	r24, 0x07	; 7
     e94:	90 e0       	ldi	r25, 0x00	; 0
     e96:	0e 94 1a 26 	call	0x4c34	; 0x4c34 <COM_Initial>
	
	VS1003B_Init();
     e9a:	0e 94 b6 26 	call	0x4d6c	; 0x4d6c <VS1003B_Init>

	lcdInit();
     e9e:	0e 94 21 2c 	call	0x5842	; 0x5842 <lcdInit>

	Timer1_Initial();
     ea2:	0e 94 bf 06 	call	0xd7e	; 0xd7e <Timer1_Initial>


	if(MCUCSR & 1<<BORF)
     ea6:	04 b6       	in	r0, 0x34	; 52
     ea8:	02 fe       	sbrs	r0, 2
     eaa:	0d c0       	rjmp	.+26     	; 0xec6 <main+0x56>
	{
		lcdClrDisBuf();
     eac:	0e 94 a0 2b 	call	0x5740	; 0x5740 <lcdClrDisBuf>
		LCD_print12_P(0,12,PSTR("Low Battery!!!"));
     eb0:	4e e3       	ldi	r20, 0x3E	; 62
     eb2:	51 e0       	ldi	r21, 0x01	; 1
     eb4:	6c e0       	ldi	r22, 0x0C	; 12
     eb6:	70 e0       	ldi	r23, 0x00	; 0
     eb8:	80 e0       	ldi	r24, 0x00	; 0
     eba:	90 e0       	ldi	r25, 0x00	; 0
     ebc:	0e 94 e0 2f 	call	0x5fc0	; 0x5fc0 <LCD_print12_P>
		lcdUpdateDisplay();
     ec0:	0e 94 a8 2b 	call	0x5750	; 0x5750 <lcdUpdateDisplay>
     ec4:	ff cf       	rjmp	.-2      	; 0xec4 <main+0x54>
		while(1);
	}

	#if 0
	lcdClrDisBuf();
	LCD_print12_P(0,0,PSTR("  Mp3 Player\nX-mas Special\nFor   Sara Ye\n-- by Michael"));
	lcdUpdateDisplay();

	for(temp = 0;temp<40;temp++)
		Delay(0xffff);
	#endif
	
	OSCCAL = 0xff;
     ec6:	10 93 6f 00 	sts	0x006F, r17

	lcdClrDisBuf();

⌨️ 快捷键说明

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