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

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

?? setting.c

?? 基于stm32的MP3播放器
?? C
字號:
#include "COMM.h"
//設置功能部分代碼
const u8 *Smenu_F1[5]={"時間設置","圖片瀏覽設置","音效管理","屏幕校準","音樂彩燈"};//設置模式下,第一級父目錄
const u8 *Smenu_F2[2]={"瀏覽模式","瀏覽間隔"};//圖片瀏覽設置
const u8 *Smenu_S1[3]={"手動瀏覽","順序瀏覽","隨機瀏覽"};//圖片瀏覽模式
const u8 *Smenu_S2[6]={"1秒鐘","2秒鐘","5秒鐘","10秒鐘","30秒鐘","1分鐘"};//間隔時間
const u8 *Smenu_S3[3]={"禁止","漸變模式","跳變模式"};//音樂彩燈使能標志

const u8 *Smenu_F3[4]={"音源選擇","音效調用","音效保存","VS1003設置"};//音效設置
const u8 *Smenu_S4[3]={"收音機音源","外部音源","MP3音源"};//音源選擇
const u8 *Smenu_S5[5]={"音效1","音效2","音效3","音效4","音效5"};//音效列表
					  
const u8 PIC_Time_Table[6]={1,2,5,10,30,60};//延時列表		  
//這兩個變量保存在EEPROM的地址為:486 487
u8 PIC_View_Status=0;//圖片播放狀態 bit6 7:模式;bit0~2 :播放間隔時間 列表 486
u8 MUS_RGB_Status=0; //音樂彩燈使能標志										 487

//音樂彩燈設置
void Set_MUS_RGB(void)
{
	u8 selx=0;	
	MUS_RGB_Status=FM24C16_ReadOneByte(487);//讀取彩燈標志		  
	selx=MUS_RGB_Status;
	if(selx>2)selx=0;   	  
	while(1)
	{
		selx=Load_Fun_Sel(Smenu_S3,"音樂彩燈","確定",3,selx);
		if(selx==8)return;//返回
		else 
		{
			MUS_RGB_Status=selx;
			FM24C16_WriteOneByte(487,MUS_RGB_Status);//保存PIC_View_Status到地址486
			return;//設置完之后返回
		}
	}
}	

//圖片瀏覽的相關參數設置
void Set_Pic_View(void)
{
	u8 selx=0;	  
	u8 temp=0;
	PIC_View_Status=FM24C16_ReadOneByte(486);//讀取圖片模式標志		  			   	  
	while(1)
	{
		selx=Load_Fun_Sel(Smenu_F2,"圖片瀏覽設置","設置",2,temp);
		if(selx==8)return;//返回
		else 
		{	  	 	
			if(selx==0)//模式設置
			{
				temp=PIC_View_Status>>6;//得到瀏覽模式
				selx=Load_Fun_Sel(Smenu_S1,"瀏覽模式","確定",3,temp);
				if(selx<3)//得到有效按鍵
				{
					PIC_View_Status&=0x3f;//高兩位復位
					PIC_View_Status|=selx<<6;//得到新值
					FM24C16_WriteOneByte(486,PIC_View_Status);//保存PIC_View_Status到地址486
				}
				temp=0;
			}else//間隔時間設置
			{
				temp=PIC_View_Status&0x07;//得到瀏覽模式
				selx=Load_Fun_Sel(Smenu_S2,"瀏覽間隔","確定",6,temp);
				if(selx<6)//得到有效按鍵
				{
					PIC_View_Status&=0xF8;//后3位復位	  
					PIC_View_Status|=selx;
					FM24C16_WriteOneByte(486,PIC_View_Status);//保存PIC_View_Status到地址486
				}
				temp=1;
			}	    
		}   
	}
}		 
//設置時間.
void Set_Time(void)
{
	u16 tyear;
	u8 key;
	u8 tempdate;//月份日期暫存器
	u8  tmon,tdate,tmin,tsec,thour;
	rtc_get();//更新時間	 
	tyear=timer.w_year;
	tmon=timer.w_month;
	tdate=timer.w_date;
	tmin=timer.min;
	thour=timer.hour;
	tsec=timer.sec;
	//顯示GUI界面

	Load_Gui_Bro("確定");
	TFT_Fill(0,42,239,297,WHITE);//填充白色,清空上次的顯示
	POINT_COLOR=RED;
	Show_Str(88,2,"時間設定",0x01);//疊加模式,非自動換行
	TFT_Fill(0,42,239,297,WHITE);  //填充白色,清空上次的顯示 
	BACK_COLOR=WHITE;//白色背景
	Show_Str(36,120,"時",0x01);  //疊加模式,非自動換行  
	Show_Str(120,120,"分",0x01); //疊加模式,非自動換行
	Show_Str(196,120,"秒",0x01); //疊加模式,非自動換行
	Show_Str(36,184,"年",0x01);  //疊加模式,非自動換行
	Show_Str(120,184,"月",0x01); //疊加模式,非自動換行
	Show_Str(196,184,"日",0x01); //疊加模式,非自動換行
	POINT_COLOR=BROWN;
	TFT_ShowButton(4,142,1);//<
	TFT_ShowButton(4,206,1);//< 
	for(key=0;key<6;key++)
	{
		if(key<3)TFT_ShowButton(60+key*76,142,0);//>
		else TFT_ShowButton(60+(key-3)*76,206,0);//>		
	}
	for(key=0;key<4;key++)
	{
		if(key<2)TFT_ShowButton(96+key*76,142,1);//<
		else TFT_ShowButton(96+(key-2)*76,206,1);//<		
	}
	POINT_COLOR=BLUE;//藍色字體	
	//更新顯示
	TFT_ShowNum(28,210,tyear/100,16,0); //顯示年 
	TFT_ShowNum(44,210,tyear%100,16,0);  
	TFT_ShowNum(120,210,tmon,16,0);      //顯示月
	TFT_ShowNum(196,210,tdate,16,0);    //顯示日
	//顯示時分秒					
	TFT_ShowNum(36,146,thour,16,0); 
	TFT_ShowNum(120,146,tmin,16,0);  
	TFT_ShowNum(196,146,tsec,16,0);
	key=0;	
	Pen_Point.Key_Sta=Key_Up;//釋放顯示期間的觸發 
	while(1)
	{
		if(Pen_Point.Key_Sta==Key_Down||NPEN)key=Touch_To_Num(2);//得到了按鍵值
		if(key)//有按鍵按下
		{
			//修正月份天數
			if(Is_Leap_Year(tyear)&&tmon==2)tempdate=mon_table[1]+1;
			else tempdate=mon_table[tmon-1];
			switch(key)
			{
				//設置時間
				case 1:	  
					if(thour)thour--;
					else thour=23;
					break;
				case 2:
					if(thour<23)thour++;
					else thour=0;
					break;
				case 3:
					if(tmin)tmin--;
					else tmin=59;
					break;
				case 4:
					if(tmin<59)tmin++;
					else tmin=0;
					break;
				case 5:	  
					if(tsec)tsec--;
					else tsec=59;
					break;
				case 6:
					if(tsec<59)tsec++;
					else tsec=0;
					break;
				//設置日期
				case 7:
					if(tyear>2000)tyear--;
					else tyear=2050;
					break;
				case 8:
					if(tyear<2050)tyear++;
					else tyear=2000;
					break;			  
				case 9:
					if(tmon>1)tmon--;
					else tmon=12;
					break;	
				case 10:
					if(tmon<12)tmon++;
					else tmon=1;
					break;
				case 11:
					if(tdate>1)tdate--;
					else tdate=tempdate;  
					break;	
				case 12:						   
					if(tdate<tempdate)tdate++;
					else tdate=1;  
					break;	 
				case 13://"確定"按鈕按下了
					TFT_CLEAR(BLACK);//清屏,黑色背景
					POINT_COLOR=GRED;//黃色字體	 
					rtc_set(tyear,tmon,tdate,thour,tmin,tsec);
					Show_Str(68,60,"時間修改成功!",0x01);//疊加模式,非自動換行
					delay_ms(1000);//延時
					return;         		 			    
				case 14:return;//"返回"按鈕按下了 
			}
			//修正月份.
			if(Is_Leap_Year(tyear)&&tmon==2)tempdate=mon_table[1]-1;
			else tempdate=mon_table[tmon-1];
			//更新顯示
			TFT_ShowNum(28,210,tyear/100,16,0); //顯示年 
			TFT_ShowNum(44,210,tyear%100,16,0);  
			TFT_ShowNum(120,210,tmon,16,0);      //顯示月
			TFT_ShowNum(196,210,tdate,16,0);    //顯示日
			//顯示時分秒					
			TFT_ShowNum(36,146,thour,16,0); 
			TFT_ShowNum(120,146,tmin,16,0);  
			TFT_ShowNum(196,146,tsec,16,0);
			key=0;//把按鍵值取消掉
			delay_ms(50);//不讓反應速度太快.				  
			Pen_Point.Key_Sta=Key_Up;//釋放顯示期間的觸發  
		}
		delay_ms(1);   
	}	 
}	  

		  
//處理鍵值
//selx:選中的條目編號 0~5	   
//kind:0,VS1003;1,PT2314
void Pro_Key_EQ(u8 selx,u8 kind)
{	 
	if(Is_In_Area(100,46+32*selx,124,70+32*selx))//減
	{
		if(voltemp[selx]&&(kind==1))voltemp[selx]--;
		else if(vs1003ram[selx]&&(kind==0))vs1003ram[selx]--;
	}else if(Is_In_Area(172,46+32*selx,196,70+32*selx))//加
	{
		if(kind)voltemp[selx]++;  
		else 
		{
			if(vs1003ram[selx]<255)vs1003ram[selx]++;
			if(selx<4&&vs1003ram[selx]>15)vs1003ram[selx]=15; //范圍限定
		}
	}	  
}  
//音效下面設置
//sel:選中與否
//num:項目號 0~5
//kind:0,VS1003,1:PT2314
void EQ_Item_Sel(u8 num,u8 sel,u8 kind)
{			   		 						    
	if((num%2)==0)BACK_COLOR=WHITE;//假定沒有選中,原背景
	else BACK_COLOR=LGRAY;
		  
	if(sel)BACK_COLOR=BROWN;//棕色背景,選中了			 
	POINT_COLOR=BLACK;      //筆是黑色的	  
	if(kind)//PT2314設置
	{
		if(num==5)
		{
			if(voltemp[num]==0)Show_Str(132,210,"開啟",0);
			else Show_Str(132,210,"關閉",0);	 
		}else TFT_ShowNum(140,50+32*num,voltemp[num],16,0x00); 
	}else  //VS1003設置
	{
		if(num<4)TFT_ShowNum(140,50+32*num,vs1003ram[num],16,0x00); 
		else TFT_Show3Num(136,50+32*num,vs1003ram[num],16,0x00);  
	} 
} 
 
//設置VS1003的音效
void Set_Vs1003_EQ(void)
{
	u8 key;
	u8 sel;
	Load_Gui_Set_EQ(0);//裝載VS1003界面
	Read_VS_Set();//讀取數據
	for(key=0;key<5;key++)
	{
		if(key==sel)EQ_Item_Sel(key,1,0);//更新數據
		else EQ_Item_Sel(key,0,0);//更新數據
	}
	key=0;			 
	Pen_Point.Key_Sta=Key_Up;//釋放顯示期間的觸發 
	while(1)//等待按鍵
	{
		if((Pen_Point.Key_Sta==Key_Down||NPEN)&&Pen_Point.Key_LSta)key=Touch_To_Num(4);//得到按鍵值	  
		if(PEN)//按鍵松開了,狀態改變(狀態機)
		{
			Pen_Point.Key_LSta=1;	 
			Pen_Point.Key_Sta=Key_Up;
		}   
		if(key)//有按鍵按下
		{  			   
			Pen_Point.Key_LSta=0;
			switch(key)
			{
				case 1:
				case 2:
				case 3:	
				case 4:   
				case 5:	   			 
					key-=1;					 	  
					if(sel!=key&&key<8)//選中一個
					{								  													 
						EQ_Item_Sel(sel,0,0);
			        	sel=key;//選擇這次選擇的
						EQ_Item_Sel(sel,1,0); 
					}else if(sel==key)//選擇按鈕,或者雙擊
					{
						Pro_Key_EQ(sel,0);//操作數值
						EQ_Item_Sel(sel,1,0);//更新數據 
					}  
					break;  
				case 9://確定按鈕按下了		 
					Save_VS_Set();//保存  			 		  	  
				case 10:
					return;//選擇了"返回"按鈕,返回一個不可能值	  
			}  
			key=0;//取消按鍵值											    
		}   
		delay_ms(1);	
	} 
}

//音效設置
//返回值:0,退出 1,繼續
u8 Option_EQ(void)
{
	u8 selx=0;
	u8 temp=0; 	 
	while(1)
	{
		selx=Load_Fun_Sel(Smenu_F3,"音效管理","選擇",4,temp);//進入第一級目錄
		if(selx==8)return 1;//返回
		else
		{
			temp=selx;
			switch(selx)
			{
				case 0://音源選擇
					selx=Audio_Ch;
					selx=Load_Fun_Sel(Smenu_S4,"音源選擇","確定",3,selx-1);//進入第一級目錄
					if(selx<3)
					{
						Audio_Ch=selx+1; 
						init_pt2314(Audio_Ch);//設置生效   
						return 0;
					}
					break;  
				case 1://音效調用
				   	selx=INITDSP;
					selx=Load_Fun_Sel(Smenu_S5,"調用音效","確定",5,selx);//進入第一級目錄
					if(selx<5)
					{
						INITDSP=selx;
						read_dsp();//讀取音效
						init_pt2314(Audio_Ch);//設置生效   
						return 0;	  
					}
					break;		    
				case 2://音效保存	
				   	selx=INITDSP;
					selx=Load_Fun_Sel(Smenu_S5,"保存到音效","確定",5,selx);//進入第一級目錄
					if(selx<5)
					{
						INITDSP=selx;
						save_dsp();//保存音效													    
						return 0;	  
					}		    									   	 
					break;
				case 3://VS1003設置	  
					Set_Vs1003_EQ(); 
					break;	 	  
			} 
		}
	}	 	
}	  
//音效設置
void Set_EQ(void)
{	   
	u8 key,sel=0;	  	  
EQRST:	
	read_dsp();//讀取音效 	 	 
	Load_Gui_Set_EQ(1);//裝載PT2314界面
	for(key=0;key<6;key++)
	{
		if(key==sel)EQ_Item_Sel(key,1,1);//更新數據
		else EQ_Item_Sel(key,0,1);//更新數據
	}
	key=0;			 
	Pen_Point.Key_Sta=Key_Up;//釋放顯示期間的觸發 
	while(1)//等待按鍵
	{
		if((Pen_Point.Key_Sta==Key_Down||NPEN)&&Pen_Point.Key_LSta)key=Touch_To_Num(4);//得到按鍵值	  
		if(PEN)//按鍵松開了,狀態改變(狀態機)
		{
			Pen_Point.Key_LSta=1;	 
			Pen_Point.Key_Sta=Key_Up;
		}   
		if(key)//有按鍵按下
		{  			   
			Pen_Point.Key_LSta=0;
			switch(key)
			{
				case 1:
				case 2:
				case 3:	
				case 4:   
				case 5:
				case 6:	  			 
					key-=1;					 	  
					if(sel!=key&&key<8)//選中一個
					{								  													 
						EQ_Item_Sel(sel,0,1);
			        	sel=key;//選擇這次選擇的
						EQ_Item_Sel(sel,1,1); 
					}else if(sel==key)//選擇按鈕,或者雙擊
					{
						Pro_Key_EQ(sel,1);//操作數值
						VOL_Data_Check(sel,&voltemp[sel]);//檢查PT2314設置的數據合法性
						EQ_Item_Sel(sel,1,1);//更新數據
						init_pt2314(Audio_Ch);//設置生效
					}  
					break;  
				case 9://選項按鈕按下了	 
					Option_EQ();
					goto EQRST; 	 						 		  	  
				case 10:
					FM24C16_WriteOneByte(30,INITDSP);//保存此次DSP值,就是下次開機調用的DSP值
					return;//選擇了"返回"按鈕,返回一個不可能值	  
			}  
			key=0;//取消按鍵值											    
		}   
		delay_ms(1);	
	} 
}
//設置模式
void Set_Viewer(void)	  
{					    
	u8 selx=0;	 	 
	while(1)
	{
		selx=Load_Fun_Sel(Smenu_F1,"系統設置","選擇",5,selx);
		if(selx==8)return;//返回
		else
		{
			switch(selx)
			{
				case 0://時間設置
					Set_Time();
					break;  
				case 1://圖片瀏覽設置
					Set_Pic_View();
					break;		    
				case 2://音效設置	
					Set_EQ();		    									   	 
					break;
				case 3://屏幕校準
					touch_adjust();
					break;
				case 4://音樂彩燈
					Set_MUS_RGB();
					break;		  
			} 
		}
	}	   
}
























?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频网| 欧美日产国产精品| 欧美日韩精品综合在线| 精品99一区二区| 亚洲一区二区在线免费观看视频| 久久精品久久99精品久久| 成人精品一区二区三区四区| 日韩一区和二区| 日本女优在线视频一区二区| 国产乱码精品一品二品| 欧美日韩黄色一区二区| 国产精品欧美综合在线| 久久99在线观看| 制服丝袜av成人在线看| 亚洲激情图片一区| aaa国产一区| 日本一区二区三区电影| 久久精品国产99久久6| 欧美日韩日日摸| 亚洲午夜激情网站| 色网综合在线观看| 亚洲人成网站色在线观看| 国产成人午夜片在线观看高清观看| 欧美一区二区黄色| 婷婷中文字幕综合| 欧美裸体一区二区三区| 亚洲成人久久影院| 欧美日韩精品一区二区天天拍小说 | 91视频免费看| 国产精品久久久久桃色tv| 国内成人自拍视频| 久久这里只有精品6| 久久精品国产精品亚洲精品| 日韩免费在线观看| 美国精品在线观看| 欧美电影免费观看完整版| 日韩精品一区第一页| 欧美精品亚洲一区二区在线播放| 亚洲一级片在线观看| 欧美亚日韩国产aⅴ精品中极品| 亚洲欧美日韩在线播放| 色婷婷久久久综合中文字幕| 亚洲综合成人在线视频| 欧美日韩黄色一区二区| 日本欧美一区二区三区| 久久综合九色综合欧美就去吻| 狠狠色丁香久久婷婷综合_中| 久久青草欧美一区二区三区| 国产盗摄精品一区二区三区在线| 中文字幕精品三区| 色www精品视频在线观看| 亚洲国产精品欧美一二99| 欧美老女人在线| 精品一区二区三区视频在线观看| 久久久久久久久久久久久夜| 顶级嫩模精品视频在线看| 亚洲天天做日日做天天谢日日欢 | 国产真实乱偷精品视频免| 久久精品一区二区三区不卡牛牛| 国产91精品在线观看| 亚洲丝袜精品丝袜在线| 欧美一区二区视频在线观看2020| 经典三级视频一区| 亚洲欧美日韩中文字幕一区二区三区 | 欧美色手机在线观看| 午夜不卡av免费| 日本一区二区三区电影| 欧美中文一区二区三区| 久久99热这里只有精品| 亚洲欧洲综合另类| 日韩欧美一二三四区| av在线播放不卡| 日本伊人午夜精品| 中文字幕一区二区三| 69久久夜色精品国产69蝌蚪网| 国产一区二区三区在线看麻豆| 亚洲免费观看在线观看| 欧美精品一区在线观看| 欧美日韩在线一区二区| 成人永久aaa| 日本特黄久久久高潮| 亚洲天堂中文字幕| 久久先锋资源网| 91精品在线一区二区| 成人avav在线| 国产专区综合网| 五月天网站亚洲| 亚洲乱码国产乱码精品精98午夜| 欧美一区二区二区| 欧美性猛交xxxxxx富婆| av动漫一区二区| 国产精品一区二区在线观看不卡 | 韩国成人精品a∨在线观看| 樱桃国产成人精品视频| 国产亚洲1区2区3区| 日韩三级av在线播放| 91高清视频免费看| 99视频一区二区| 国产露脸91国语对白| 99精品欧美一区二区三区小说| 日韩影院精彩在线| 亚洲成av人片一区二区三区| 中文字幕制服丝袜成人av | 免费久久精品视频| 亚洲一二三四在线观看| 亚洲欧美偷拍卡通变态| 中文字幕一区日韩精品欧美| 国产欧美一区二区三区鸳鸯浴 | 久久先锋影音av| 欧美一级黄色片| 欧美精品日日鲁夜夜添| 欧美日韩国产一级片| 欧亚洲嫩模精品一区三区| 91网上在线视频| 色综合网色综合| 一本一道久久a久久精品综合蜜臀| av动漫一区二区| 91免费版pro下载短视频| 色素色在线综合| 色偷偷成人一区二区三区91| 一本色道久久综合精品竹菊| 91色视频在线| 欧美日韩精品一区二区三区 | 99精品偷自拍| 一本到三区不卡视频| 91黄视频在线观看| 欧美猛男超大videosgay| 欧美精品少妇一区二区三区| 欧美一区二区三区在线视频| 日韩免费视频一区| 国产亚洲精品免费| 亚洲欧美色图小说| 婷婷综合另类小说色区| 国产最新精品免费| 欧美特级限制片免费在线观看| 欧美日韩三级视频| 亚洲精品一区在线观看| 日本一区二区久久| 亚洲黄网站在线观看| 日韩精品一级中文字幕精品视频免费观看 | 久久久欧美精品sm网站| 中文字幕一区二区三区色视频| 亚洲精品久久嫩草网站秘色| 视频在线观看一区二区三区| 精品一区二区三区蜜桃| 9i看片成人免费高清| 欧美日韩中文国产| 精品国产一区二区在线观看| 中文字幕av一区二区三区高| 亚洲综合精品自拍| 国产精品自拍一区| 日本电影欧美片| 精品国产不卡一区二区三区| 亚洲欧洲av一区二区三区久久| 天天操天天干天天综合网| 国产一区二区三区高清播放| 一道本成人在线| 亚洲精品在线观| 亚洲国产精品久久久久秋霞影院| 激情综合网av| 欧美日韩一级二级| 欧美国产综合色视频| 日韩精品国产精品| 91视频免费观看| 久久女同精品一区二区| 亚洲愉拍自拍另类高清精品| 国产在线精品免费| 欧美日韩激情在线| 一区视频在线播放| 精品一区二区在线视频| 欧美性受极品xxxx喷水| 欧美激情一区二区| 久久成人免费电影| 欧美人牲a欧美精品| 亚洲日本中文字幕区| 国产精品综合久久| 日韩视频在线永久播放| 亚洲精品伦理在线| 成人av网在线| 亚洲国产精品国自产拍av| 日韩高清欧美激情| 在线欧美日韩精品| 亚洲色图19p| 成熟亚洲日本毛茸茸凸凹| 欧美成人一区二区三区在线观看| 一区二区三区四区乱视频| 99久久精品国产观看| 欧美激情资源网| 国产成人av一区二区三区在线| 日韩欧美视频一区| 日韩黄色免费电影| 欧美日韩不卡在线| 午夜免费欧美电影| 欧美色爱综合网| 亚洲成av人片观看| 欧美日韩mp4| 亚洲成人动漫一区| 欧美日韩视频在线观看一区二区三区| 亚洲色图在线播放| 色天天综合久久久久综合片|