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

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

?? main.c

?? 采用Mega16+VS1011B+SD卡制作的Mp3
?? C
?? 第 1 頁 / 共 2 頁
字號:
//*********************************************
 //主程序Main.C
 //MCU:AVR_MEGA16L ,晶振頻率:8.0 MHz
 //制作人:平頂山工學院計算機系,郭猛
//**********************************************
# include "stdlib.h"
# include "iom16v.h"
# include "macros.h"
# include "LCDFun.h"
# include "fat.h"
# include "ProString.h"
# include "MMC.h"
# include "VS1011B.h"

#ifndef uchar
	#define uchar unsigned char
#endif

#define uint8 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long

//4個控制按鍵接口:
#define KEY01  		0	//PB0    前進
#define KEY02 		1	//PB1
#define KEY03		2	//PB2
#define KEY04       3   //PB3
//KEY01,KEY02,KEY03,KEY04輸入
# define KeyOutput() DDRB|=(BIT(KEY01)|BIT(KEY02)|BIT(KEY03)|BIT(KEY04))
# define KeyIni()    PORTB|=(BIT(KEY01)|BIT(KEY02)|BIT(KEY03)|BIT(KEY04))
# define KeyInput()  DDRB&=~(BIT(KEY01)|BIT(KEY02)|BIT(KEY03)|BIT(KEY04))
# define KeySt01    (PINB&=BIT(KEY01))  //獲取KEY01狀態
# define KeySt02    (PINB&=BIT(KEY02))  //獲取KEY02狀態
# define KeySt03    (PINB&=BIT(KEY03))  //獲取KEY03狀態
# define KeySt04    (PINB&=BIT(KEY04))  //獲取KEY04狀態

//外部函數、變量的引用聲明
extern unsigned char SecPerClus;	//每個簇占用的扇區數目,1GB的SD卡應為8
extern unsigned long data_offset;	//數據區的起始扇區數,FAT32的根目錄區和數據區重合:

extern unsigned char ShowText_main;
extern unsigned char *pointer_FDT; //用于指向找到指定文件的文件名
extern unsigned long old_pos_blk,FirstRootDirSecNum;

extern unsigned char CurSongTim[3];		//當前歌曲的播放時間 分:秒:百秒
extern unsigned char TotalSongTim[4];	//當前歌曲的播放時間 時:分:秒:百秒

extern void E2PROM_Write(unsigned int IAddress,unsigned char *Data,unsigned char Cnt);
extern unsigned char E2PROM_Read_OneChar(unsigned int IAddress);
extern void ADC_Init(void);
extern unsigned char ADC_Convert(void);
extern void MCUMode(uchar iMode);

unsigned char buff[512];				//用于暫存讀取一扇區的數據緩沖
unsigned char Mp3FileName[8];			//用于保存Mp3歌曲文件名,8字節短名格式
unsigned char CurVol,CurBass;	//當前音量,低音量
unsigned char Lcdak=1,UsrSel=0;			//背光開關,用戶選擇菜單項
unsigned char SWPlayTime=1; 			//時間開關
unsigned char SWSpeaker=1,SWIRRemoteMode=1; //揚聲器開關,遙控制式
unsigned char CurStatus=0;				//播放器當前狀態
unsigned long FONT_ClusterVar;	   		//找到字庫文件的起始簇號
unsigned int DEF_MAX_SONGS=0;           //SD卡根目錄下歌曲數目.

void IniData_From_EEPROM(void)			//從E2PROM中讀取音量、低音信息
{ unsigned char i,j,k;
  CurVol=E2PROM_Read_OneChar(0);
  CurBass=E2PROM_Read_OneChar(1);
}

//DisplayNumChar用于顯示百、十、個的數字值
//l,h: 行、列位置
//ll:要顯示的數值
//ShowBit:3,顯示百,十,個,位;2,顯示十,個,位
void DisplayNumChar(unsigned char h,unsigned char l,unsigned char ll,unsigned char ShowBit)
{
  unsigned char hunum,tnnum,srnum;  //百、十、個位
  hunum=ll/100; 	//百位
  srnum=ll%10;		//個位
  tnnum=(ll-hunum*100)/10; //十位
  
  hunum+=0x30;srnum+=0x30;tnnum+=0x30;
  if(ShowBit==3)		//顯示百,十,個,位
  {
     PrintOneASCII(h,l,hunum);PrintOneASCII(h,l+8,tnnum);
	 PrintOneASCII(h,l+16,srnum);
  }
  else if(ShowBit==2)	//顯示十,個,位
  {
	 PrintOneASCII(h,l,tnnum);PrintOneASCII(h,l+8,srnum);
  }
}

//DisplayNumInt該函數主要用于測試顯示中間變量
void DisplayNumInt(unsigned char h,unsigned char l,unsigned int ll,unsigned char ShowBit)
{
  unsigned char hunum,tnnum,srnum;  //百、十、個位
  hunum=ll/100; 	//百位
  srnum=ll%10;		//個位
  tnnum=(ll-hunum*100)/10; //十位
  
  hunum+=0x30;srnum+=0x30;tnnum+=0x30;
  if(ShowBit==3)		//顯示百,十,個,位
  {
     PrintOneASCII(h,l,hunum);PrintOneASCII(h,l+8,tnnum);
	 PrintOneASCII(h,l+16,srnum);
  }
  else if(ShowBit==2)	//顯示十,個,位
  {
	 PrintOneASCII(h,l,tnnum);PrintOneASCII(h,l+8,srnum);
  }
}

//從SD卡上讀取漢字字型信息,輸入漢字的內碼號(常指針),返回漢字的字型指針
unsigned char * MMCFntHZ(unsigned char *buffp,unsigned char *HzChr)	
{
    unsigned int  InOffset;
	unsigned long Blk,Hzpt,FntStartBlk;		//字庫文件的起始扇區
	unsigned char HzNmH,HzNmL;
	unsigned char flgover;
	unsigned char Dir_Attrib = 0;
	//漢字在漢字庫中的位置=漢字點陣數*[(區碼-A0h-1)*94+(位碼-A0h-1)]
	HzNmH=HzChr[0];HzNmL=HzChr[1];
	//顯示內碼:
	//DisplayLong(HzNmH*65536+HzNmL,3);
	//Delay(500);
	/////
	Hzpt=32*((HzNmH-0xA0-1)*(unsigned long)94+(HzNmL-0xA0-1));
	//顯示漢字字型在字庫中的位置:
	//DisplayLong(Hzpt,1);
	//Delay(500);
	/////
	//由漢字內碼,計算它所在的扇區號和偏移位置
	Blk=Hzpt/512;InOffset=Hzpt%512;  //512是每個扇區的大小
	//顯示漢字字型在字庫中的位置(扇區為單位):	
	//DisplayLong(Blk*65536+InOffset,2);
	//Delay(500);
	//////////////////
	//讀取該文件:
	MMC_SD_ReadSingleBlock((FONT_ClusterVar-2)*SecPerClus+data_offset+Blk,buffp);
	//flgover = fat_read_file(FONT_ClusterVar,buffp,Blk,&Dir_Attrib);						
	//返回漢字字型信息指針:
	return (buffp+InOffset);
}

//在指定位置,打印指定長度的16*16漢字字符串
//Hz:漢字字符串指針(常指針),buffp:用于存放漢字字型信息的Buf,
//(x0,y0):字符串在LCD上的起始位置,Lens:字符串長度
void PrintHZ16(unsigned char *Hz,unsigned char *buffp,unsigned char x0,unsigned char y0,unsigned char Lens)
{
	unsigned char i,*HzPt;
	unsigned char x,y;
	x=x0;y=y0;
	for(i=0;i<Lens;i+=2)
	{
	 	//測試使用,顯示內碼:
		//DisplayLong(Hz[i]*65536+Hz[i+1],3);
	    //Delay(500);
	    if(Hz[i]>127 && Hz[i+1]>127)		  //均是漢字
		{
			HzPt=MMCFntHZ(buffp,Hz+i);
			PrintOneHZ(x,y,HzPt);
			y+=16;
		}else if(Hz[i]<128 && Hz[i+1]<128) 	  //有英文字符在里面
		{
		    PrintAscStr(x,y,Hz+i,2);
			y+=16;
		}
		if(y>=128) {y=0;x+=2;}
		if(x>7){x=0;}
	}
}

void ChangeVS1011Vol(uchar *Vol)	   //調整播放音量
{
  unsigned char retry;
  unsigned int Tmp;
  PrintConstAscStr(0,0,ScreenStr12[11],16);
  PrintConstAscStr(2,0,ScreenStr12[12],16);
  PrintConstAscStr(3,0,ScreenStr12[13],16);
  PrintConstAscStr(6,0,ScreenStr12[14],16);
  KeyIni();KeyInput();
  while(1)
  {
  if(KeySt02==0)	  //Volume++,減小音量
  {
	//等待該鍵釋放
	Delay(200);
	while(KeySt02==0) Delay(200);	  
	(*Vol)++;
	if((*Vol)>=255) *Vol=255;
  } 
  else if(KeySt03==0)	  //Volume--,增大音量
  {
	//等待該鍵釋放
	Delay(200);
	while(KeySt03==0) Delay(200);	  
	(*Vol)--;
	if((*Vol)<=0) *Vol=0;
  }
  else if(KeySt04==0)	   //確定退出
  {//等待該鍵釋放
    Delay(200);
	while(KeySt04==0) Delay(200);	
	//保存音量到E2PROM
	E2PROM_Write(0,Vol,1);
    break;
  }
  else if(KeySt01==0)	   //取消退出
  {//等待該鍵釋放
    Delay(200);
	while(KeySt01==0) Delay(200);	
	*Vol=DefaultVolume;	//恢復到默認值
	//保存音量到E2PROM
	E2PROM_Write(0,Vol,1);
    break;
  }
  //顯示當前音量:
  DisplayNumChar(6,64,255-(*Vol),3);
  }
  //選中Vs1011
  SPI_CS_Deassert();  //PB2=1,釋放MMC/SD卡
  //寫入當前音量:
  retry=0;Tmp=(*Vol)*256+(*Vol);
  while(VS1011B_ReadCMD(0x0b) != Tmp)//設音量	//set Volume
  {
	VS1011B_WriteCMD(0x0b,Tmp);
	if(retry++ >10 )
	{
	   PrintConstAscStr(7,0,ScreenStr12[15],16);	  //顯示"音量設置錯誤"
	   Delay(1000);
	   //釋放Vs1011
       VS1011B_DDR |= BIT(VS1011B_XCS)|BIT(VS1011B_XRESET);	//XCS,XDCS=1
	   SPI_CS_Assert();
	   return ;
	}
  }
  //釋放Vs1011
  VS1011B_DDR |= BIT(VS1011B_XCS)|BIT(VS1011B_XRESET);		//XCS,XDCS=1
  SPI_CS_Assert();
}

void ChangeVS1011Bass(uchar *VBass)	   //調整播放音量
{
  unsigned char retry,hl=0;
  unsigned char SB_Amp,SB_Freq;
  unsigned int Tmp;
  
  PrintConstAscStr(0,0,ScreenStr12[16],16);
  PrintConstAscStr(1,0,ScreenStr12[17],16);
  PrintConstAscStr(3,0,ScreenStr12[18],16);
  PrintConstAscStr(6,0,ScreenStr12[20],6);
  PrintConstAscStr(6,64,ScreenStr12[21],6);
  
  //默認選中第一項:
  PrintOneASCII(0,0,'>');
  PrintOneASCII(1,0,' ');
  
  SB_Amp=((*VBass)&0xF0)>>4; //取高四位
  SB_Freq=(*VBass)&0x0F;//取低四位
  //顯示當前音量:
  DisplayNumChar(6,16,SB_Amp,2);
  DisplayNumChar(6,80,SB_Freq,2);
  
  KeyIni();KeyInput();
  while(1)
  {
  if(KeySt02==0)	  //--
  {
	//等待該鍵釋放
	Delay(200);
	while(KeySt02==0) Delay(200);	
	if(hl==0) SB_Amp=(--SB_Amp)&0x0F;
	else 
	{
	   SB_Freq=(--SB_Freq)&0x0F; 
	   if(SB_Freq<2) SB_Freq=2;
	}
	//顯示當前音量:
    DisplayNumChar(6,16,SB_Amp,2);
    DisplayNumChar(6,80,SB_Freq,2);
  } 
  else if(KeySt03==0)	  //++
  {
	//等待該鍵釋放
	Delay(200);
	while(KeySt03==0) Delay(200);	 
	if(hl==0) SB_Amp=(++SB_Amp)&0x0F;
	else SB_Freq=(++SB_Freq)&0x0F;
	//顯示當前音量:
    DisplayNumChar(6,16,SB_Amp,2);
    DisplayNumChar(6,80,SB_Freq,2);
  }
  else if(KeySt04==0)	   //確定退出
  {//等待該鍵釋放
    Delay(200);
	while(KeySt04==0) Delay(200);	
	hl=(++hl)%2;
	if(hl==0)   //設置完畢,保存結果并退出
	{
	    *VBass=(SB_Amp*16+SB_Freq);
		Tmp=*VBass;
		//保存重低音音量到E2PROM
		E2PROM_Write(1,VBass,1);
		break;
	}else if(hl==1)   //1.設置完畢,設置2.
	{
	 	  PrintOneASCII(1,0,'>');
  		  PrintOneASCII(0,0,' '); //設置下一項
	}
  }
  else if(KeySt01==0)	   //取消退出
  {//等待該鍵釋放
    Delay(200);
	while(KeySt01==0) Delay(200);	
	Tmp=DefaultBass;	//恢復到默認值
	*VBass=0x55;
	//保存默認的重低音音量到E2PROM
	E2PROM_Write(1,VBass,1);
    break;
  }
  if(hl==0)
  {
      PrintOneASCII(0,0,'>');
      PrintOneASCII(1,0,' ');
  }else if(hl==1)
  {
   	  PrintOneASCII(1,0,'>');
  	  PrintOneASCII(0,0,' '); //設置下一項
  }
  }
  //選中Vs1011
  SPI_CS_Deassert();  //PB2=1,釋放MMC/SD卡
  //寫入當前音量:
  retry=0;
  while(VS1011B_ReadCMD(0x02) != Tmp)//設低音音量
  {
	VS1011B_WriteCMD(0x02,Tmp);
	if(retry++ >10 )
	{
	   PrintConstAscStr(7,0,ScreenStr12[19],16);
	   Delay(1000);
	   //釋放Vs1011
       VS1011B_DDR |= BIT(VS1011B_XCS)|BIT(VS1011B_XRESET);	//XCS,XDCS=1
	   SPI_CS_Assert();
	   return ;
	}
  }
  //釋放Vs1011
  VS1011B_DDR |= BIT(VS1011B_XCS)|BIT(VS1011B_XRESET);		//XCS,XDCS=1
  SPI_CS_Assert();
}

void ChangePlayPosition(unsigned int * Pos)
{
    unsigned char i,j=3;
	unsigned int Bak_Pos=*Pos;
	
	PrintConstAscStr(0,0,ScreenStr12[28],16);
    PrintConstAscStr(1,0,ScreenStr12[18],16);
	DisplayNumChar(4,8,0,3);DisplayNumChar(4,80,DEF_MAX_SONGS,3);
	for(i=1;i<7;i++)
	   PrintOneASCII(4,24+i*8,96+0x20);   //顯示白色長條
	PrintOneASCII(3,48,97+0x20);		 //中心位置,顯示一個滑塊
	
	//顯示中間選定位置:
	*Pos=DEF_MAX_SONGS/2;
    DisplayNumChar(6,16,DEF_MAX_SONGS/2,3);
	
	while(1)
    {
       if(KeySt02==0)	  //--
  	   {
	   	  //等待該鍵釋放
	   	  Delay(200);
		  while(KeySt02==0) Delay(200);	
		  j--;
		  if(j<=1) j=1;
		  //顯示選定位置:
		  for(i=1;i<7;i++)
	         PrintOneASCII(3,24+i*8,0x20);  //刪除原來的滑塊
		  PrintOneASCII(3,24+j*8,97+0x20);	//滑塊移動
		  *Pos=j*DEF_MAX_SONGS/6;
    	  DisplayNumChar(6,16,*Pos,3);
  	   } 
  	   else if(KeySt03==0)	  //++
  	   {	   
	      //等待該鍵釋放
		  Delay(200);
		  while(KeySt03==0) Delay(200);	 
		  j++;
		  if(j>=6) j=6;
		  //顯示選定位置:
		  for(i=1;i<7;i++)
	         PrintOneASCII(3,24+i*8,0x20);  //刪除原來的滑塊
		  PrintOneASCII(3,24+j*8,97+0x20);	//滑塊移動
		  *Pos=j*DEF_MAX_SONGS/6;
    	  DisplayNumChar(6,16,*Pos,3);
  	   }
  	   else if(KeySt04==0)	   //確定退出
  	   {  //等待該鍵釋放
          Delay(200);
		  while(KeySt04==0) Delay(200);	
		  break;
  	   }
	   else if(KeySt01==0)	   //取消退出
	   {
	   	  //等待該鍵釋放
          Delay(200);
		  while(KeySt01==0) Delay(200);	
		  *Pos=Bak_Pos;
		  break;
	   }
   }
}

void MainMenu(unsigned int *pdata)
{
    unsigned char retry;
    IniData_From_EEPROM();		//先讀取一下原先的數據
    ClearLCD();
    //顯示主菜單測試
    CLI();//關中斷
	UsrSel=0;
	PrintConstAscStr(0,16,Menustr6[0],13);
	PrintConstAscStr(1,16,Menustr6[1],13);
	PrintConstAscStr(2,16,Menustr6[2],13);
	PrintConstAscStr(3,16,Menustr6[3],13);
	PrintConstAscStr(4,16,Menustr6[4],13);
	PrintConstAscStr(5,16,Menustr6[5],13);
	
	//默認選中第一項
	PrintOneASCII(0,0,'>');
    PrintOneASCII(1,0,' ');
	PrintOneASCII(2,0,' ');
	PrintOneASCII(3,0,' ');
	PrintOneASCII(4,0,' ');
	PrintOneASCII(5,0,' ');
	
	KeyIni();KeyInput();
	while(1)
	{
	    if(KeySt01==0)			//退出
		{
		//等待該鍵釋放
		    Delay(200);	//去抖

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品每日更新在线播放网址| xf在线a精品一区二区视频网站| 国产精品国产a级| 国产电影精品久久禁18| 久久久国产一区二区三区四区小说| 国产黄人亚洲片| 国产精品狼人久久影院观看方式| 成人激情免费视频| 亚洲蜜臀av乱码久久精品| 欧美最猛黑人xxxxx猛交| 亚洲香蕉伊在人在线观| 日韩一区二区三| 国产成人99久久亚洲综合精品| 国产精品少妇自拍| 91久久精品一区二区三| 亚洲国产精品人人做人人爽| 日韩欧美高清在线| 成人激情图片网| 亚洲va欧美va人人爽| 精品对白一区国产伦| 成人精品小蝌蚪| 亚洲成人自拍一区| 26uuu国产电影一区二区| 波多野结衣中文字幕一区二区三区| 亚洲综合小说图片| 日韩欧美国产麻豆| 成人av网站在线观看免费| 亚洲超碰精品一区二区| 久久久蜜桃精品| 色婷婷亚洲婷婷| 久久精品国产精品亚洲综合| 国产精品人妖ts系列视频| 欧美亚洲国产bt| 久久99国产精品免费网站| 国产精品久久久久久久久免费丝袜 | 91精品欧美综合在线观看最新| 国产中文一区二区三区| 亚洲女同女同女同女同女同69| 欧美日韩精品免费| 国产不卡一区视频| 亚洲123区在线观看| 精品福利一区二区三区免费视频| 色综合久久综合中文综合网| 久久国产婷婷国产香蕉| 亚洲日本在线视频观看| 日韩免费观看高清完整版 | 久久综合成人精品亚洲另类欧美 | 成人性生交大片免费看在线播放| 一区二区三区四区蜜桃 | 欧美日韩视频专区在线播放| 久久国产精品区| 一区二区三区四区在线播放 | 91污片在线观看| 麻豆久久一区二区| 亚洲精品免费视频| 欧美大胆一级视频| 日本伦理一区二区| 国产精品一区一区三区| 五月天丁香久久| 18欧美亚洲精品| 久久在线免费观看| 欧美精品国产精品| 日本伦理一区二区| 国产经典欧美精品| 日韩成人一区二区三区在线观看| 亚洲色图制服诱惑 | 免费观看日韩电影| 一区二区在线免费观看| 国产精品久久久久婷婷| 日韩欧美一级片| 欧美性一二三区| 不卡电影免费在线播放一区| 精品在线免费观看| 亚洲一区二区三区自拍| 国产精品不卡一区| 日韩欧美高清一区| 欧美一区二区视频在线观看 | 色成人在线视频| 国产99精品国产| 韩国欧美一区二区| 日韩精品电影在线| 亚洲一二三四久久| 日韩美女久久久| 中文字幕av不卡| 欧美一区二区视频在线观看2022| 在线亚洲一区观看| eeuss鲁片一区二区三区| 国产一区二区久久| 美女网站色91| 三级一区在线视频先锋| 国产精品乱人伦中文| 精品久久国产老人久久综合| 一道本成人在线| 99久久婷婷国产综合精品| 美女网站色91| 视频一区二区国产| 亚洲h动漫在线| 亚洲综合清纯丝袜自拍| 一区二区三区久久久| 亚洲欧美日韩在线播放| 亚洲欧美福利一区二区| 亚洲欧美日韩中文播放| 亚洲欧美日韩国产中文在线| 中文字幕亚洲在| 中文字幕亚洲综合久久菠萝蜜| 国产精品对白交换视频| 国产精品理伦片| 国产精品久久久久久福利一牛影视 | 亚洲免费视频成人| 亚洲欧美日韩在线播放| 最新热久久免费视频| **欧美大码日韩| 亚洲免费观看高清| 亚洲最新视频在线播放| 亚洲日本丝袜连裤袜办公室| 亚洲婷婷国产精品电影人久久| 一色屋精品亚洲香蕉网站| 亚洲精品亚洲人成人网在线播放| 亚洲欧美一区二区三区孕妇| 一个色妞综合视频在线观看| 亚洲免费三区一区二区| 亚洲国产精品久久人人爱蜜臀| 亚洲成人久久影院| 午夜av一区二区| 另类人妖一区二区av| 国产精品18久久久| 成人免费高清在线| 91丝袜美女网| 欧美日韩免费电影| 欧美一级生活片| 精品国产凹凸成av人网站| 久久久国产精华| 亚洲免费三区一区二区| 亚洲成av人片观看| 久久99在线观看| 丁香婷婷综合网| 91免费精品国自产拍在线不卡| 色诱视频网站一区| 欧美精品日韩综合在线| 精品国产一区二区三区久久影院 | 亚洲免费在线播放| 婷婷久久综合九色综合绿巨人 | 日韩美女视频19| 偷拍日韩校园综合在线| 国产九色精品成人porny| av不卡免费在线观看| 欧美日韩午夜影院| 久久久久久久免费视频了| 亚洲精品视频在线看| 免费不卡在线视频| 国产成人在线网站| 欧美三级中文字幕在线观看| 欧美精品一区二区久久久| 1区2区3区国产精品| 青青草国产精品亚洲专区无| 成人sese在线| 91精品久久久久久久91蜜桃| 亚洲国产高清在线观看视频| 亚洲大片精品永久免费| 国产福利精品一区| 欧美视频一区在线观看| 欧美精品一区二区精品网| 一区二区在线电影| 麻豆一区二区三| 一道本成人在线| 久久综合色8888| 亚洲福中文字幕伊人影院| 国产精品乡下勾搭老头1| 欧美亚洲综合在线| 久久影视一区二区| 一区二区三区在线观看动漫| 国产一区在线不卡| 成人午夜精品在线| 91九色最新地址| 精品美女被调教视频大全网站| 99国产精品久| 欧美影视一区二区三区| 国产欧美综合在线观看第十页| 亚洲成人一二三| 性欧美大战久久久久久久久| 成人激情免费网站| 在线这里只有精品| 中文幕一区二区三区久久蜜桃| 久久久久久久久久久久久久久99| 亚洲电影在线播放| 高清国产一区二区三区| 欧美天堂亚洲电影院在线播放| 国产精品无码永久免费888| 亚洲人精品午夜| 粉嫩高潮美女一区二区三区| 国产精品久99| 婷婷久久综合九色综合伊人色| 91蜜桃网址入口| 欧美日韩性生活| 国产日韩欧美a| 一区二区三区不卡视频| 精品一区二区免费| 99久久99久久精品免费观看| 欧美日韩精品一区二区在线播放| 中文字幕色av一区二区三区|