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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mp3_player_06.c

?? MG64+VS1003+SDCARD+nokia5110 之多的MP3
?? C
?? 第 1 頁 / 共 4 頁
字號:
										{
											Print_ICON_12(30,36,Speaker);
											LCD_print12(42,36,volume);
											lcdUpdateDisplay();
										}
									}
									break;
								
						case 'z':
						case 'Z':	 
						case 0x42:	/* volume down */
									if(vol_temp == 0);
									else 
									{
										vol_temp--;
										vol = (uint8)(255-(((uint16)vol_temp)*255)/100);
										vol = (vol<<8) +vol;
										VS1003B_SetVolume(vol);
										volume[0] = vol_temp/10 + 0x30;
										volume[1] = vol_temp%10 +0x30; 
										printf_P(PSTR("\r\nVolume: %s"),volume);
										if(lrc == 0 || HanziEnable == 0)
										{
											LCD_print12(72,36,volume);
											lcdUpdateDisplay();
										}
										else
										{
											Print_ICON_12(30,36,Speaker);
											LCD_print12(42,36,volume);
											lcdUpdateDisplay();
										}
									}
									break; 

						case '.':
						case '>':
						case 0x43:	/* next songs */
									songs++;
									if(songs > totalsongs)songs=1;
									free(buffer);
									goto next;
									break;
						
						case ',':
						case '<':
						case 0x44:	/*  previous songs */
									if(songs == 1)songs=totalsongs;
									else songs--;
									free(buffer);
									goto next;
									break;
						case 0x0d:
						case 0x0a:
						case 0x20:	/* play/pause */
									if(flag)
									{
										flag=0;
										printf_P(PSTR("\r\nPause"));
										if(lrc == 0 || HanziEnable == 0)
										{
											Print_ICON_12(18,0,Pause);
											lcdUpdateDisplay();
										}
									}
									else
									{
										flag=1;
										printf_P(PSTR("\r\nPlaying"));
										if(lrc == 0 || HanziEnable == 0)
										{
											Print_ICON_12(18,0,Playing);
											lcdUpdateDisplay();
										}
									}
									break;
					//	case 0x2e:
					//	case 0x2c:
					//	case 'x':
					//	case 'z':
						case 'M':
						case 'm':	/* mode select */
									if(mode==REPET_ALL)
									{
										mode=REPET_ONE;
									}
									else if(mode==REPET_ONE)//next mode is shuffle
									{
										mode=RANDOM;
										srandom(((unsigned long)TCNT1)<<16);//產生隨機數的種子
									}
									else 
									{
										mode=REPET_ALL;
									}
									if(lrc == 0 || HanziEnable == 0)
									{
										switch(mode)
										{
											case REPET_ALL:Print_ICON_12(72,0,RepetAll);printf_P(PSTR("\r\nSet mode -> repet all"));break;
											case REPET_ONE:Print_ICON_12(72,0,RepetOne);printf_P(PSTR("\r\nSet mode -> repet one"));break;
											case RANDOM   :Print_ICON_12(72,0,Shuffle);printf_P(PSTR("\r\nSet mode -> shuffle"));break;
											default:break;
										}
										lcdUpdateDisplay();
									}
									else
									{
										switch(mode)
										{
											case REPET_ALL:Print_ICON_12(18,36,RepetAll);printf_P(PSTR("\r\nSet mode -> repet all"));break;
											case REPET_ONE:Print_ICON_12(18,36,RepetOne);printf_P(PSTR("\r\nSet mode -> repet one"));break;
											case RANDOM   :Print_ICON_12(18,36,Shuffle);printf_P(PSTR("\r\nSet mode -> shuffle"));break;
											default:break;
										}
										lcdUpdateDisplay();
									}
						default: temp=0;  
					}
				}
/*  above is the code of uart control                       */
/**********************************************************************************************************/ 
#endif
			#if STOP_KEY
				if((PINE&STOP)==0 /*&& keylen==0*/)//播放暫停鍵		//key PLAY/PAUSE
				{
					blkeyflag = 0;
					Delay(100);
					if(!(PINE&STOP))
					{
						while(!(PINE&STOP));
						if(flag)
						{
							flag=0;
						//	printf_P(PSTR("\r\nPause"));
							if(lrc == 0 || HanziEnable == 0)
							{
								Print_ICON_12(18,0,Pause);
								lcdUpdateDisplay();
							}
							else
							{
								Print_ICON_12(42,36,Pause);
								lcdUpdateDisplay();
							}
						}
						else
						{
							flag=1;
						//	printf_P(PSTR("\r\nPlaying"));
							if(lrc == 0 || HanziEnable == 0)
							{
								Print_ICON_12(18,0,Playing);
								lcdUpdateDisplay();
							}
							else
							{
								Print_ICON_12(42,36,Playing);
								lcdUpdateDisplay();
							}
						}
						Delay(1000);
					}
				}
				else if(!(PINE&DOWN) && keylen==0)  //音量-			//Volume down
			#else
				if(!(PINE & DOWN) && keylen==0)  //音量-
			#endif
				{
					blkeyflag = 0;
					Delay(100);
	   			 	if(!(PINE & DOWN))  
					{
						keylen=200;
						if(vol_temp == 0);
						else 
						{
							vol_temp--;
							vol = (uint8)(255-(((uint16)vol_temp)*255)/100);
							vol = (vol<<8) +vol;
							VS1003B_SetVolume(vol);
							volume[0] = vol_temp/10 + 0x30;
							volume[1] = vol_temp%10 +0x30; 
						//	printf_P(PSTR("\r\nTurn volume down to: %s"),volume);
							if(lrc == 0 || HanziEnable == 0)
							{
								LCD_print12(72,36,volume);
								lcdUpdateDisplay();
							}
							else
							{
								Print_ICON_12(30,36,Speaker);
								LCD_print12(42,36,volume);
								lcdUpdateDisplay();
							}
						} 
					}
				}
				else if(!(PINE & UP) && keylen==0) //音量+			//Volume up
				{
					blkeyflag = 0;
					Delay(100);
					if(!(PINE & UP)) 
					{
						keylen=200;
						if(vol_temp == 99);
						else  
						{
							vol_temp++;
							vol = (uint8)(255-(((uint16)vol_temp)*255)/100);
							vol =(vol<<8) + vol;
							VS1003B_SetVolume(vol);
							volume[0] = vol_temp/10 + 0x30;
							volume[1] = vol_temp%10 +0x30;
						//	printf_P(PSTR("\r\nTurn volume up   to: %s"),volume);
							if(lrc == 0 || HanziEnable == 0)
							{
								LCD_print12(72,36,volume);
								lcdUpdateDisplay();
							}
							else
							{
								Print_ICON_12(30,36,Speaker);
								LCD_print12(42,36,volume);
								lcdUpdateDisplay();
							}
						} 
					}
				}
				else if(!(PINE & NEXT)) //下一首						next songs
				{
					blkeyflag = 0;
					Delay(50000);		
					if(!(PINE & NEXT))
					{
						while(!(PINE & NEXT));
						songs++;
						if(songs > totalsongs)songs=1;
						{
							free(buffer);
							goto next;
						}
					}
				}
				else if(!(PINE & PREV)) //上一首						previous songs
	 			 {
				 	blkeyflag = 0;
					Delay(5000);		
					if(!(PINE & PREV))
					{
						while(!(PINE&PREV));
						if(songs == 1)songs=totalsongs;
						else songs--;
						{
							free(buffer);
							goto next;
						}
					}
	  			 }
				else if(((!(PINE & MODE)) || blkeyflag) && keylen==0 ) //模式			//mode key
	 			{
				//	keycnt++;
					Delay(50);
					if(blkeyflag == 0)
					{
						blkeyflag = 1;
						keycnt = 0;
					}
					else
					{
						if(!(PINE & MODE))
						{
							keycnt ++;
							keylen=0xfff;
							if(keycnt>5)
							{
								LCD_BL_INV;
								blkeyflag = 0;
								keylen=0xffff;	
							}
						}
						else
						{
							blkeyflag = 0;
							keylen=0xffff;
							if(mode==REPET_ALL)
							{
								mode=REPET_ONE;
							//	LED1_ON();
							//	LED2_OFF();
							}
							else if(mode==REPET_ONE)//next mode is shuffle
							{
								mode=RANDOM;
							//	LED1_OFF();
							//	LED2_ON();
								srandom(((unsigned long)TCNT1)<<16);//產生隨機數的種子
							}
							else 
							{
								mode=REPET_ALL;
							//	LED1_OFF();
							//	LED2_OFF();
							}
							if(lrc == 0 || HanziEnable == 0)
							{
								switch(mode)
								{
									case REPET_ALL:Print_ICON_12(72,0,RepetAll);/*printf_P(PSTR("\r\nSet mode -> repet all"));*/break;
									case REPET_ONE:Print_ICON_12(72,0,RepetOne);/*printf_P(PSTR("\r\nSet mode -> repet one"));*/break;
									case RANDOM   :Print_ICON_12(72,0,Shuffle);/*printf_P(PSTR("\r\nSet mode -> shuffle"));*/break;
									default:break;
								}
								lcdUpdateDisplay();
							}
							else
							{
								switch(mode)
								{
									case REPET_ALL:Print_ICON_12(18,36,RepetAll);/*printf_P(PSTR("\r\nSet mode -> repet all"));*/break;
									case REPET_ONE:Print_ICON_12(18,36,RepetOne);/*printf_P(PSTR("\r\nSet mode -> repet one"));*/break;
									case RANDOM   :Print_ICON_12(18,36,Shuffle);/*printf_P(PSTR("\r\nSet mode -> shuffle"));*/break;
									default:break;
								}
								lcdUpdateDisplay();
							}  
						}
					}
					Delay(100);
				}
			}
			sector++;
			free(buffer);
		}
		i=0;
              p=FAT_NextCluster(p);
		//p=FAT_NextCluster_NEW(p);//讀下一簇數據			//read next cluster
		if(p == 0x0fffffff || p == 0x0ffffff8 || (FAT32_Enable == 0 && p == 0xffff))//如果無后續簇則結束,	//no more cluster
		{
			if(mode==REPET_ALL)songs++;
			if(songs>totalsongs)songs=1;
			goto next;
		}
	}
}

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;

	VS1003B_Init();

	lcdInit();


	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文件系統
		
	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("  固件正常!\n MP3 for 葉敏\n -- by 章其波\n 按開始鍵繼續"));
		LCD_print12_P(0,0,PSTR("固件正常!\nMP3 player\nby 趙亮,章其波按開始鍵繼續"));
		lcdUpdateDisplay();
             
		HanziEnable = 1;
	}

#if STOP_KEY
	while(PINE & STOP);
#else
	while(PINE & MODE);
#endif

	
#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);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品久久99久久在免费线 | 欧美三日本三级三级在线播放| 秋霞电影网一区二区| 亚洲精品乱码久久久久久日本蜜臀| 久久精品视频在线看| 日韩欧美一级在线播放| 91麻豆精品久久久久蜜臀| 欧美日韩国产综合一区二区| 色噜噜狠狠色综合中国 | 国产精品女同互慰在线看| 精品国产91九色蝌蚪| 2021国产精品久久精品| 26uuu另类欧美| 久久久亚洲高清| 日本一区二区三区在线不卡| 国产欧美一区二区在线| 国产女主播视频一区二区| 国产精品久久久久aaaa樱花 | 亚洲美女视频在线| 亚洲视频在线一区| 一区二区三区在线不卡| 亚洲va韩国va欧美va| 日本视频免费一区| 精品无人码麻豆乱码1区2区| 国产宾馆实践打屁股91| 成人永久免费视频| 欧美在线一区二区| 日韩一级大片在线| 日本一区二区免费在线| 亚洲三级在线看| 日韩va欧美va亚洲va久久| 国产精品一区一区| 91在线观看污| 日韩欧美一级精品久久| 久久精品欧美日韩精品| 亚洲欧美日韩国产手机在线| 日韩精品久久理论片| 国产一区二区三区久久久| 成人综合在线视频| 91精品久久久久久久91蜜桃| 欧美高清在线精品一区| 亚洲在线观看免费| 国产成人精品免费网站| 欧美亚洲一区二区在线| 国产亚洲一区二区三区| 一区二区三区免费看视频| 老司机午夜精品99久久| 色婷婷久久综合| 久久久噜噜噜久噜久久综合| 亚洲国产精品久久不卡毛片| 成人av在线影院| 日韩一区二区麻豆国产| 国产精品国产三级国产aⅴ中文| 日产欧产美韩系列久久99| 成人av在线网| 久久嫩草精品久久久久| 亚洲线精品一区二区三区| 国产精品一区免费视频| 制服丝袜日韩国产| 亚洲另类在线一区| 国产不卡视频一区| 欧美一级精品在线| 亚洲高清不卡在线| 本田岬高潮一区二区三区| 亚洲精品一线二线三线无人区| 亚洲美女电影在线| 91在线观看高清| 国产精品国产三级国产| 韩国v欧美v日本v亚洲v| 555www色欧美视频| 亚洲精品免费看| 91小视频在线| 国产精品激情偷乱一区二区∴| 国产成人免费av在线| 精品日韩欧美一区二区| 全国精品久久少妇| 91精品婷婷国产综合久久| 亚洲国产精品久久久男人的天堂| 日本韩国欧美国产| 亚洲精品一二三区| 91国在线观看| 午夜欧美视频在线观看| 欧美男男青年gay1069videost| 午夜不卡av在线| 欧美一三区三区四区免费在线看 | 亚洲一区二区成人在线观看| 91麻豆6部合集magnet| 亚洲人成网站影音先锋播放| 色狠狠桃花综合| 亚洲自拍另类综合| 欧美伊人精品成人久久综合97| 午夜免费久久看| 欧美成人女星排行榜| 国内欧美视频一区二区| 国产农村妇女精品| 成人污视频在线观看| 亚洲精品亚洲人成人网在线播放| 91成人免费在线| 日本在线不卡视频一二三区| 2023国产一二三区日本精品2022| 国产高清久久久| 亚洲精品乱码久久久久久久久| 欧美日韩久久不卡| 黄色日韩网站视频| 中文字幕成人网| 欧美日韩久久一区二区| 久草这里只有精品视频| 亚洲国产高清aⅴ视频| 欧美艳星brazzers| 经典三级一区二区| 亚洲欧洲一区二区在线播放| 欧美日韩一区 二区 三区 久久精品| 日本欧美大码aⅴ在线播放| 久久九九99视频| 91啦中文在线观看| 久久精品国产精品亚洲综合| 国产精品色在线观看| 91精品国产一区二区| 国产精品中文字幕一区二区三区| 最新不卡av在线| 精品国产乱码久久久久久影片| 波多野结衣在线一区| 日韩激情视频在线观看| 欧美激情一区二区三区四区| 在线视频国产一区| 国产精品一区一区三区| 亚洲国产成人91porn| 国产精品色在线观看| 日韩一区二区三区电影| 91麻豆swag| 国产精品亚洲一区二区三区妖精 | 国产91精品欧美| 午夜亚洲福利老司机| 亚洲欧洲性图库| 久久久不卡网国产精品一区| 91精品国产aⅴ一区二区| 色婷婷综合在线| 国产一区二区精品久久| 日韩av成人高清| 一个色妞综合视频在线观看| 国产精品不卡视频| 欧美va亚洲va在线观看蝴蝶网| 91超碰这里只有精品国产| 99re热这里只有精品免费视频| 国产福利一区二区三区视频| 免费的成人av| 天天色综合天天| 亚洲国产中文字幕在线视频综合| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产白丝网站精品污在线入口| 蜜臀av一区二区在线观看| 午夜电影一区二区三区| 午夜精品久久久久久久久久久| 亚洲综合在线第一页| 樱花草国产18久久久久| 日韩理论在线观看| 亚洲色图.com| 亚洲国产精品久久久久秋霞影院| 亚洲综合视频在线| 亚洲男人都懂的| 亚洲午夜精品网| 亚洲成a人v欧美综合天堂下载| 天堂久久久久va久久久久| 视频一区欧美日韩| 蜜臀av亚洲一区中文字幕| 蜜臀av性久久久久av蜜臀妖精| 麻豆极品一区二区三区| 国产一区二区三区在线看麻豆| 国产一区二区精品久久99| 丰满少妇久久久久久久| 成人精品高清在线| 一本久久a久久精品亚洲| 色偷偷一区二区三区| 欧美精品三级日韩久久| 日韩一级免费一区| 欧美激情一区二区三区蜜桃视频| 国产精品久久久久久久浪潮网站| 亚洲欧美日韩国产手机在线| 日本欧美一区二区三区乱码| 国产精品综合视频| 色婷婷国产精品| 欧美一级欧美三级在线观看| 中文字幕国产一区| 一区二区三区免费看视频| 日韩极品在线观看| 国产精品538一区二区在线| av电影天堂一区二区在线| 69堂成人精品免费视频| 国产欧美一区二区在线观看| 亚洲高清免费观看高清完整版在线观看| 久国产精品韩国三级视频| 91一区二区三区在线观看| 欧美电视剧免费全集观看| 中文字幕一区在线观看视频| 日韩电影在线免费观看| 成人av小说网| 欧美一级二级三级蜜桃| 亚洲女人小视频在线观看| 久久66热re国产| 欧美日韩1234|