亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mp3_player_06.c

?? mega64 + VS1003 + SD卡
?? C
字號:


/*********************  old  ***************************/
/*                   MP3/Wma/Midi播放器                      */
/*  環(huán)境WinAVR 20060421                                      */
/*  作者:Bozai(章其波)                                    */
/*  E-mail:sudazqb@163.com                                  */
/*  2006年12月12日                                           */
/*************************************************************/
/*  20080308: rearrange the file, rewrite the key process (use interrupt) & volume*/
/*  20080205: a bug fixed(about lyric search, name comparision error )  */
/*  20071211: add low battery indication & remove all uart output, add message for sara ye */
/*  20071210: modify code for zl0801's mp3 PCB */
/*  20071122: add teminal control code                                   */
/*  20071121: solve glitch problem when playing 320Kbps files            */
/*  20071109: add & modify function for any directory music file playing */
/*  20071103: add function for lyric display                             */

#include"sys_config.h"
//#include"IDE/IDE.h"

uint8 HanziEnable = 0;	/* Gloable variable to indicate wether the firmware are exist, and 1 means exist */

extern struct direntry MusicInfo;	/* Music file information, 32Bytes short directory record, contain the short name and others */
//extern struct direntry LrcInfo;	/* lyric file information, 32Bytes short directory record, the short name and others */


void (*BootLoaderEntry)(void) = 0xf800;	/* boot loader entry, bootloader size: 2048Bytes */

extern uint16 totalsongs;	/* total number of songs*/
extern uint8 type;			/* current song's file type, mp3 wma mid or wav */

volatile uint8 key_count;

volatile uint8 key_value;

	
//Timer initialization offer seed of the srandom()
void Timer1_Initial()
{
	key_value = 0;
	key_count = 0;
	TCNT1H=0x00;
	TCNT1L=0x00;
	TCCR1A=0x00;
	TCCR1B=0x01;
	TIMSK |= 1<<TOIE1;
 	sei();
}


SIGNAL(TIMER1_OVF_vect)
{
	//TCCR1B = 0;
	//printf_P(PSTR("\r\nvalue = %x"),key_value);
	if((key_value&KEY_VALID) ==0)
	{
		//printf_P(PSTR("\r\nkey not valid"));
		if((PINE&(STOP|MODE|NEXT|PREV|UP|DOWN)) == (STOP|MODE|NEXT|PREV|UP|DOWN))
		{
			//printf_P(PSTR("\r\nno key pressed"));
			if(key_value&KEY_LONG)
			{
				key_value = 0;
			}
			else if((key_value&KEY_PRESEED) && (key_count>KEY_VALID_TIME))
			{
				//printf_P(PSTR("\r\nkey released"));
				key_value |= KEY_RELEASED;
				key_value |= KEY_VALID;
				key_count = 0;
			}
			else
			{
				key_value = 0;
				key_count = 0;
			}
		}
		else if(key_value&KEY_PRESEED)
		{
			//printf_P(PSTR("\r\nkey used preseed"));
			if(key_count == KEY_LONG_TIME)
			{
				//printf_P(PSTR("\r\nlong key prseed"));
				key_value |= KEY_LONG|KEY_VALID;
				key_count= 0;
			}
			if((key_value&KEY_LONG)==0)
			{
				key_count++;
			}
		}
		else
		{
			if((PINE&STOP)!=STOP)
			{
				//printf_P(PSTR("\r\nstop key first pressed"));
				key_value = KEY_STOP;
				key_value |= KEY_PRESEED;
			}
			else if((PINE&MODE)!=MODE)
			{
				//printf_P(PSTR("\r\nmode key first pressed"));
				key_value = KEY_MODE;
				key_value |= KEY_PRESEED;
			}
			else if((PINE&NEXT)!=NEXT)
			{
				//printf_P(PSTR("\r\nnext key first pressed"));
				key_value = KEY_NEXT;
				key_value |= KEY_PRESEED;
			}
			else if((PINE&PREV)!=PREV)
			{
				//printf_P(PSTR("\r\nprev key first pressed"));
				key_value = KEY_PREV;
				key_value |= KEY_PRESEED;
			}
			else if((PINE&UP)!=UP)
			{
				//printf_P(PSTR("\r\nV+ key first pressed"));
				key_value = KEY_UP;
				key_value |= KEY_PRESEED;
			}
			else if((PINE&DOWN)!=DOWN)
			{
				//printf_P(PSTR("\r\nV- key first pressed"));
				key_value = KEY_DOWN;
				key_value |= KEY_PRESEED;
			}

		}
	}
	//TCCR1B = 0x01;
}


int main()
{
	//unsigned char temp;
	DDRE = 0x00;
	PORTE = 0xff;
	PORTB |= 1<<PB0;	/* we should make sure that AVR's SS pin is held high no mater the spi is master or slave*/

	LCD_BL_CON;
	LCD_BL_ON;	

	OSCCAL = 0xff;

	COM_Initial(MYUBRR);
	
	VS1003B_Init();

	lcdInit();

	Timer1_Initial();


	if(MCUCSR & 1<<BORF)
	{
		lcdClrDisBuf();
		LCD_print12_P(0,12,PSTR("Low Battery!!!"));
		lcdUpdateDisplay();
		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;

	lcdClrDisBuf();
	LCD_print12_P(0,0,PSTR("Pls insert SD card!"));
	lcdUpdateDisplay();
	while(MMC_SD_Init());
	
	FAT_ReadSector = MMC_SD_ReadSingleBlock;//device read
	FAT_WriteSector = MMC_SD_WriteSingleBlock;//device write
	FAT_ReadCapacity = MMC_SD_ReadCapacity;//read capacity


	if(FAT_Init())
	{
		lcdClrDisBuf();
		LCD_print12_P(0,0,PSTR("Wrong FAT!\nSystem halted!\nPls reset the\nsystem! -bozai"));
		lcdUpdateDisplay();
		while(1);
	}//初始化FAT文件系統(tǒng)
		
	if(GBK_Ini())
	{
		lcdClrDisBuf();
		LCD_print12_P(0,0,PSTR("Firmware lost!\nPress start to\ncontinue!\n    --By bozai"));
		lcdUpdateDisplay();
		HanziEnable = 0;
	}
	else 
	{
		lcdClrDisBuf();
		LCD_print12_P(0,0,PSTR("固件正常!\nMP3 player\nby 趙亮,章其波按開始鍵繼續(xù)"));
		lcdUpdateDisplay();
             
		HanziEnable = 1;
	}


	while(1)
	{
		if(key_value & KEY_VALID)
		{
		#if STOP_KEY
			if((key_value&KEY_VALUE_MASK) == KEY_STOP)
		#else
			if((key_value&KEY_VALUE_MASK) == KEY_MODE)
		#endif
			{
				key_value = 0;
				break;
			}
			else key_value = 0;
		}
	}


	
#if FIX_DIRECTORY
	//printf_P(PSTR("\r\nSearch the folder %s\r\n"),MUSIC_PATH);
	Search(MUSIC_PATH,&MusicInfo,&totalsongs,&type);//搜索歌曲
#else
	//printf_P(PSTR("\r\n\r\nSearch & record folder information....."));
	//printf_P(PSTR("\r\nNOTE: MAX folder amount is %d for we only use %dBytes EEPROM to store the info\r\n"),(RECORD_ADDR_END-RECORD_ADDR_START)/4 -1,RECORD_ADDR_END-RECORD_ADDR_START);
	SearchInit();
	Search(0,&MusicInfo,&totalsongs,&type);//搜索歌曲
#endif

	PlayMusicwithKey();

	while(1);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合婷婷国产精品久久免费| 国产精品免费丝袜| 亚洲一区二区四区蜜桃| 99久久免费精品| 亚洲免费在线播放| 欧洲一区二区av| 毛片av中文字幕一区二区| 精品久久久久久久久久久久久久久 | 经典三级在线一区| 久久久午夜电影| 成人app软件下载大全免费| 日韩毛片在线免费观看| 欧美日韩午夜精品| 狠狠色综合色综合网络| 欧美国产1区2区| 欧美性一级生活| 美腿丝袜亚洲综合| 国产精品色呦呦| 欧美亚洲国产一区在线观看网站 | 国产大陆亚洲精品国产| 欧美激情一区二区| 日本高清不卡aⅴ免费网站| 婷婷丁香久久五月婷婷| 久久亚洲精华国产精华液| 95精品视频在线| 另类小说一区二区三区| 亚洲欧美日韩国产一区二区三区| 欧美美女激情18p| 国产超碰在线一区| 亚洲成人黄色影院| 国产精品人成在线观看免费| 欧美精品在线观看播放| 国产v日产∨综合v精品视频| 亚洲另类春色国产| 精品嫩草影院久久| 欧美午夜精品电影| 高清国产午夜精品久久久久久| 亚洲电影在线播放| 久久婷婷成人综合色| 在线观看日韩高清av| 91麻豆精品91久久久久久清纯| 麻豆91精品视频| 亚洲视频综合在线| 久久毛片高清国产| 欧美丰满少妇xxxxx高潮对白| 黄色日韩网站视频| 麻豆传媒一区二区三区| 一区二区日韩av| 国产精品剧情在线亚洲| 精品嫩草影院久久| 欧美一区二区三区视频在线| 在线中文字幕一区二区| 国产成人精品亚洲777人妖 | 成人不卡免费av| 国内精品视频一区二区三区八戒| 亚洲不卡av一区二区三区| 中文字幕在线观看不卡视频| 精品国一区二区三区| 91麻豆精品国产91久久久资源速度 | 青青草伊人久久| 日本一区二区动态图| 91麻豆精品国产91久久久资源速度 | 久久综合九色综合97婷婷女人 | 在线成人免费观看| 日本道在线观看一区二区| www.综合网.com| 成人性视频网站| 国产盗摄一区二区三区| 国产一区久久久| 国产一区二区中文字幕| 久久99国产乱子伦精品免费| 美国av一区二区| 精品国产免费视频| 一本大道av伊人久久综合| 免费在线观看一区二区三区| 午夜精品免费在线观看| 午夜亚洲国产au精品一区二区| 亚洲影院久久精品| 午夜久久久久久电影| 午夜精品久久久久影视| 丝袜美腿亚洲一区| 美女一区二区三区在线观看| 美腿丝袜在线亚洲一区| 激情综合网天天干| 国产91在线观看| 成人美女视频在线观看18| va亚洲va日韩不卡在线观看| 91网站在线观看视频| 在线观看视频一区二区欧美日韩| 欧美最新大片在线看| 欧美丝袜丝交足nylons| 91精品啪在线观看国产60岁| 欧美大胆一级视频| 国产日韩欧美电影| 一区二区三区四区蜜桃| 偷拍自拍另类欧美| 国产一区不卡在线| 91丝袜呻吟高潮美腿白嫩在线观看| 91黄视频在线观看| 91精品免费观看| 久久久久99精品国产片| 国产精品系列在线| 亚洲高清免费一级二级三级| 久草中文综合在线| 99视频精品免费视频| 欧美日本国产视频| 久久蜜桃一区二区| 亚洲午夜久久久| 国产精品中文字幕一区二区三区| 91麻豆国产香蕉久久精品| 7777精品伊人久久久大香线蕉超级流畅 | 夜夜揉揉日日人人青青一国产精品| 午夜视频在线观看一区二区| 激情国产一区二区| 色综合天天狠狠| 日韩精品一区二区三区swag | 日韩一级成人av| 亚洲国产精品高清| 亚洲不卡在线观看| 高清免费成人av| 欧美一区二区三区不卡| 日韩毛片高清在线播放| 日本不卡中文字幕| 97久久超碰国产精品电影| 欧美一区二区国产| **性色生活片久久毛片| 老司机午夜精品99久久| 在线观看一区日韩| 欧美国产视频在线| 欧美丝袜丝交足nylons图片| 欧美日韩在线播放一区| 国产主播一区二区三区| 国产在线视频不卡二| 91久久精品网| 国产亲近乱来精品视频 | 亚洲一区二区三区中文字幕| 国产在线一区观看| 欧美视频在线播放| 国产精品卡一卡二| 国产精品一区二区三区乱码 | 欧美撒尿777hd撒尿| 中文字幕av一区二区三区高| 麻豆成人久久精品二区三区红 | 精品视频一区二区不卡| 中文欧美字幕免费| 国内精品国产成人国产三级粉色 | 激情综合网最新| 欧美一级淫片007| 亚洲一区在线视频| 91日韩在线专区| 国产精品天天摸av网| 欧美一区二区福利在线| 在线区一区二视频| 亚洲第一二三四区| 99精品黄色片免费大全| 国产日韩欧美不卡| 国产福利一区在线| 久久综合999| 精品亚洲免费视频| 日韩女优视频免费观看| 久久精品国产一区二区| 日韩亚洲欧美高清| 青青国产91久久久久久| 7777精品伊人久久久大香线蕉| 亚洲午夜免费视频| 欧美亚洲一区二区在线| 亚洲一卡二卡三卡四卡无卡久久| 91片在线免费观看| 最新日韩av在线| 一本久道久久综合中文字幕| 中文字幕一区二区三区色视频| av亚洲产国偷v产偷v自拍| 国产精品福利影院| www.欧美亚洲| 一区二区三区在线观看欧美| 色婷婷精品大视频在线蜜桃视频| 亚洲激情一二三区| 欧美私人免费视频| 日本视频一区二区| wwwwxxxxx欧美| 成人高清视频在线观看| 成人av高清在线| 国产九色精品成人porny| 成人av资源在线| 国产欧美综合在线| 94-欧美-setu| 亚洲综合色自拍一区| 91精品午夜视频| 韩国v欧美v日本v亚洲v| 国产人伦精品一区二区| 色屁屁一区二区| 蜜桃一区二区三区四区| 欧美国产日本韩| 色哟哟在线观看一区二区三区| 亚洲成av人片在线观看无码| 日韩久久免费av| 91热门视频在线观看| 蜜桃精品视频在线| 国产精品乱码久久久久久| 在线观看91av|