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

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

?? rf.c

?? pic系列的單片機對射頻卡FM1702SL的讀寫程序以及電路圖
?? C
字號:
#include   <pic.h>
__CONFIG(HS&PROTECT&PWRTEN&BOREN&WDTEN);

//pic16f73//單片機端口定義
#define  cs          RC0
#define  so          RC1
#define  sck         RC2
#define  si          RC3
#define  msi      TRISC3
#define  data1       RC4
#define  data0       RC5
#define  hold        RC6
#define  cardin      RC7
#define  led         RA2
#define  rst1702     RA3

#define nop()   asm("nop")
#define clrwdt()  asm("clrwdt")
#define testbit(myvar,bit) ((myvar)&(1<<(bit)))
#define clrbit(myvar,bit) ((myvar)&=~(1<<(bit)))
#define setbit(myvar,bit) ((myvar)|=(1<<(bit)))

//;==============================================
//;FM1702SL控制寄存器定義
//;==============================================
#define		Page_Reg		          0x00
#define		Command_Reg		        0x01
#define		FIFO_Reg		          0x02
#define		FIFOLength_Reg		    0x04
#define		SecondaryStatus_Reg  	0x05
#define		InterruptEn_Reg		    0x06
#define		InterruptRq_Reg		    0x07
#define		Control_Reg		        0x09
#define		ErrorFlag_Reg		      0x0A
#define		BitFraming_Reg	     	0x0F
#define		TxControl_Reg		      0x11
#define		CwConductance_Reg	    0x12
#define		RxControl2_Reg		    0x1E
#define		ChannelRedundancy_Reg	0x22
#define         RxWait_Reg            0x21


//;==============================================
//;FM1702SL發送命令代碼
//;==============================================
#define		WriteEE			  0x01
#define		LoadKeyE2		  0x0B
#define         Transmit                  0x1A
#define		Transceive		  0x1E
#define		Authent1		  0x0C
#define		Authent2		  0x14
////////////////////////////////////////////////////////////
bit rf_over;
char ack,retc,m,buff[48],Card_UID[5];
char mm[6]={0xff,0xff,0xff,0xff,0xff,0xff};

////===============================================
//以下為FM1702讀寫的子程序
//===============================================
char SPIRead(char SpiAddress,char *ramadr,char width);
char SPIWrite(char SpiAddress,char *ramadr,char width);
char SPI_Init();
char FM1702SL_Init();
char Clear_FIFO();
char Write_FIFO(char *ramadr,char width);
char Read_FIFO(char *ramadr);
char Request();
char Command_Send(char comm,char *ramadr,char width);
char Get_UID();
char Select_Tag();
char Load_Key(char n,char *ramadr);
char Load_Key_EE(char n);
char Authentication(char n);
char rdbuff(char sq,char n);
char Read_Block(char n);                    //
char Write_Block(char *ramadr,char n);
///+++++++++++++++++card++++++++++++++++++++++++///
void wiegend(char *ramadr,char n);

void inisub();
void  rddel();
void  delay50us();
void  delay1ms(char k);

main()
{di();
 inisub();//初始化端口
 while(1)
  {clrwdt();
   delay1ms(40);
 rst1702=0;

 delay1ms(20);
 retc=SPI_Init();
 if(retc) goto cardsub_end1;//錯誤
 retc=FM1702SL_Init();
 if(retc) goto cardsub_end1;
 retc=Request();
 if(retc)
 {rf_over=0;
 	led=1;
 cardin=1;
 	goto cardsub_end1;}
 if(rf_over) goto cardsub_end1;
 retc=Get_UID();
 if(retc)
 {delay1ms(10);
 retc=Get_UID();}
 if(retc) goto cardsub_end1;
  retc=Select_Tag();
 if(retc)goto cardsub_end1;

 di();

// gettime();
 //**********尋卡結束********************//
  retc=Load_Key(0x80,mm);//加載購電區的密鑰
  if(retc)goto cardsub_end1;//待定
  retc=Load_Key_EE(0x80);//加載購電區的密鑰
  if(retc)goto cardsub_end1;//待定
 //***********開始卡操作******************//Load_Key Load_Key_EE

retc=rdbuff(0x7,0x4);//讀塊0
//if(retc){beep=1;beep_bad=1;goto cardsub_end1;}
if(retc){goto cardsub_end1;}
 // retc=Read_Block(0x5);
//  retc=Read_Block(0x6);
//for(m=0;m<16;m++)
//   buff[m]=m+1;    //
retc=Write_Block(buff,0x4);
if(retc){goto cardsub_end1;}
//
//for(m=0;m<16;m++)
//   buff[m]=0;
//retc=Read_Block(0x4);
 rf_over=1;
 led=0;
 cardin=0;

 m=0;
 ack=1;
 while(hold)
      { rddel();
      	m++;
      	if(m>250)
      	  { ack=0;
      	   break;}
      	}
 if(ack)
    wiegend(buff,16);

cardsub_end1:

     rst1702=1;


  	}
}

////////////////////延時////////////////////
void  rddel()
{        nop();
	       nop();
	       nop();
         nop();
	       nop();
	}

void  delay1ms(char k) //延時kMs
{char i,j;
	for (i=k;i>0;i--)
	   for(j=76;j>0;j--) rddel();
	}

void  delay50us()
{char i,j;
	for (i=3;i>0;i--)
	    rddel();
	}

////////////////初始化//////////////////////////////////
void inisub()
{//ADCON0=0x0;
 ADCON1=0x7;
 TRISA=0;
 PORTA=0xc;
 TRISC=0x48;
 PORTC=0xff;
 OPTION=0x2;

	}

//維庚讀寫//////////////////////
void wiegend(char *ramadr,char n)
 {char i,j;
 	CLRWDT();
 	for(j=0;j<n;j++)
 	    for(i=8;i>0;i--)
 	        {if(testbit(ramadr[j],i-1))
 	        	  {data1=0;
 	        	  	delay50us();delay50us();
 	        	  data1=1;//	delay50us();
                                 rddel();
                                 rddel();
 	        	  	}
 	         else
 	            {data0=0;
 	        	  	delay50us();delay50us();
 	        	  data0=1;
                               rddel();//	delay50us();
                               rddel();
 	            	}
 	        	}
	}
////////////////SPI讀//////////////////////////////////////
char SPIRead(char SpiAddress,char *ramadr,char width)
{  char i,j,adrtemp;

	adrtemp=SpiAddress;
	if((adrtemp&0xc0)==0)
	  {adrtemp=((adrtemp<<1)|0x80);
	  	cs=0;
	  	for(i=0;i<8;i++)
	  	{if((adrtemp<<i)&0x80)so=1;
	  		else so=0;
	  		sck=1;nop();nop();nop();nop();
	  		sck=0;
//	  		adrtemp=adrtemp<<1;
	  		}

	  	for(j=0;j<width;j++)
	  	    {if(j!=width-1)  adrtemp=(SpiAddress|0x40)<<1;
                      else   adrtemp=0;
                         ramadr[j]=0;
	  	    	for(i=0;i<8;i++)
	  	    	   {if((adrtemp<<i)&0x80)so=1;
	  	         	else so=0;
	  		        sck=1;
	  		        ramadr[j]=ramadr[j]<<1;
	  		        if(si)ramadr[j]+=0x1;

	  		        sck=0;
//	  		        adrtemp=adrtemp<<1;
	  	    	   	}

	  	    	}
	  	cs=1;
	  	return(0);
	  	}
 else return(1);
}
//=======================================================
//SPI寫入程序
//入口:
//SpiAddress:	要寫到FM1702SL內的寄存器地址[0x01~0x3f]
//*ramadr   要寫入的數據在Ram中的首地址
//width:    要寫入的字節數
//出口: 0:成功,1:失敗
//作者: 張
//====================================================
char SPIWrite(char SpiAddress,char *ramadr,char width)
{char i,j,adrtemp;
	adrtemp=SpiAddress;
	if((adrtemp&0xc0)==0)
	  {adrtemp=((adrtemp<<1)&0x7e);
	  	cs=0;
	  	for(i=0;i<8;i++)
	  	{if((adrtemp<<i)&0x80)so=1;
	  		else so=0;
	  		sck=1;nop();nop();nop();
	  		sck=0;
//	  		adrtemp=adrtemp<<1;
	  		}

	  	for(j=0;j<width;j++)
	  	    {adrtemp= ramadr[j];
	  	    		for(i=0;i<8;i++)
	  	    	   {if((adrtemp<<i)&0x80)so=1;
	  	         	else so=0;
	  		        sck=1;  nop();nop();nop();
	  		        sck=0;
//	  		        adrtemp=adrtemp<<1;
	  	    	   	}
	  	    	}
	  	cs=1;
	  	return(0);
	  	}
 else return(1);
	}
char SPI_Init()
{char acktemp,temp[1];
	acktemp=SPIRead(Command_Reg,temp,1);
	if(acktemp) return(1);
	if(temp[0]) return(1);
	 else
	  { temp[0]=0x80;
	  	acktemp=SPIWrite(Page_Reg,temp,1);
	   	if(acktemp) return(1);
	   	acktemp=SPIRead(Command_Reg,temp,1);
	    if(acktemp) return(1);
	    if(temp[0]) return(1);
	    acktemp=SPIWrite(Page_Reg,temp,1);
	   	if(acktemp) return(1);
	   	return(0);
	   	}

	}
char FM1702SL_Init()
{char acktemp,temp[1];
	temp[0]=0x7f;
	acktemp=SPIWrite(InterruptEn_Reg,temp,1);
	if(acktemp) return(1);
  temp[0]=0x7f;
	acktemp=SPIWrite(InterruptRq_Reg,temp,1);

	if(acktemp) return(1);
	temp[0]=0x5b;
	acktemp=SPIWrite(TxControl_Reg,temp,1);
	if(acktemp) return(1);
	temp[0]=0x1;
	acktemp=SPIWrite(RxControl2_Reg,temp,1);
	if(acktemp) return(1);
	temp[0]=0x7;
	acktemp=SPIWrite(RxWait_Reg,temp,1);
	if(acktemp) return(1);
//   acktemp=SPIRead(RxWait_Reg,temp,1);
//	    if(acktemp) return(1);
	return(0);
	}
////使FM1702SL進入軟件powerdown模式
////;FM1702_Standby		發送FM1702_Standby信號
//char FM1702_Standby()
//{char acktemp,temp[1];
//	acktemp=SPIRead(Control_Reg,temp,1);
//	if(acktemp) return(1);
//	temp[0]=0x20;
//	acktemp=SPIWrite(Control_Reg,temp,1);
//	if(acktemp) return(1);
//	temp[0]=0x58;
//	acktemp=SPIWrite(TxControl_Reg,temp,1);
//	if(acktemp) return(1);
//	return(0);
//	}
////;使FM1702SL進入工作模式
////FM1702_Wakeup		發送FM1702_Wakeup信號
//char FM1702_Wakeup()
//{char acktemp,temp[1];
//	acktemp=SPIRead(Control_Reg,temp,1);
//	if(acktemp) return(1);
//	temp[0]=0xdf;
//	acktemp=SPIWrite(TxControl_Reg,temp,1);
//	if(acktemp) return(1);
//	acktemp=SPIRead(Control_Reg,temp,1);
//	if(acktemp) return(1);
//	if(temp[0]&0x20)return(1);
//	temp[0]=0x5b;
//	acktemp=SPIWrite(TxControl_Reg,temp,1);
//	if(acktemp) return(1);
//	return(0);
//
//	}
char Request()
{char acktemp,temp[1];
	temp[0]=0x7;
	acktemp=SPIWrite(BitFraming_Reg,temp,1);
	if(acktemp) return(1);
//	temp[0]=0x7;
	acktemp=SPIRead(Control_Reg,temp,1);
	if(acktemp) return(1);

	temp[0]&=0xf7;
	acktemp=SPIWrite(Control_Reg,temp,1);
	if(acktemp) return(1);

	temp[0]=0x3;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,1);
	if(acktemp) return(1);
	temp[0]=0x52;
  acktemp=Command_Send(Transceive,temp,1);
	if(acktemp) return(1);
	acktemp=Read_FIFO(temp);
	if(acktemp) return(1);
	if((temp[0]!=0x2)|(buff[0]!=0x4)|(buff[1]!=0x0))
	return(1);

	return(0);
	}
char Clear_FIFO()
{char acktemp,temp[1],i;
 acktemp=SPIRead(Control_Reg,temp,1);
	if(acktemp) return(1);
	temp[0]|=0x1;
	acktemp=SPIWrite(Control_Reg,temp,1);
	if(acktemp) return(1);
	for(i=0;i<5;i++)
	  {acktemp=SPIRead(FIFOLength_Reg,temp,1);
	  if(acktemp==0)
	      {if(temp[0]==0)return(0);}
	   }
	return(1);
	}

//++++++++++++++++++++++++++++++++++++++++++
char Write_FIFO(char *ramadr,char width)
{char acktemp;
	if(width==0)return(0);
//	 for(i=0;i<width;i++)
	   acktemp=SPIWrite(FIFO_Reg,ramadr,width);
	   	if(acktemp) return(1);
	return(0);
	}
char Read_FIFO(char *ramadr)
{char acktemp,i;
	acktemp=SPIRead(FIFOLength_Reg,ramadr,1);
	if(acktemp) return(1);
	if(ramadr[0]==0)return(1);
	if(ramadr[0]>16)return(1);
	i=ramadr[0];
	acktemp=SPIRead(FIFO_Reg,&buff[0],i);
	 return(0);
	}
char Command_Send(char comm,char *ramadr,char width)
{char acktemp,temp[1],i;
	acktemp=Clear_FIFO();
	if(acktemp) return(1);

  ///測試讀寫//////////////////////////////
//  acktemp=Read_FIFO(temp);
//	if(acktemp) return(1);
//  buff[0]=0x12;buff[1]=0x34;buff[2]=0x56;
//  acktemp=Write_FIFO(buff,3);
//	if(acktemp) return(1);
//	buff[0]=0;buff[1]=0;buff[2]=0;
//   acktemp=Read_FIFO(temp);
//	if(acktemp) return(1);
 /////////////////////////////////////////////
         acktemp=Write_FIFO(ramadr,width);
	if(acktemp) return(1);

	acktemp=SPIWrite(Command_Reg,&comm,1);
	   	if(acktemp) return(1);
	 for(i=0;i<16;i++)
          {
          acktemp=SPIRead(Command_Reg,temp,1);
	  if(acktemp==0)
	      {if(temp[0]==0)return(0);}
	   }
	   return(1);
	}
char Get_UID()
{char acktemp,temp[2],i;
	temp[0]=0x3;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,1);
	   	if(acktemp) return(1);
	temp[0]=0x93;temp[1]=0x20;
	acktemp=Command_Send(Transceive,temp,2);
	   	if(acktemp) return(1);
	acktemp=Read_FIFO(temp);
	if(temp[0]!=0x5)return(1);
	acktemp=0;
  for(i=0;i<5;i++)
     acktemp^=buff[i];
   if(acktemp) return(1);
   for(i=0;i<5;i++)
     Card_UID[i]=buff[i];
	return(0);
	}
char Select_Tag()
{char acktemp,temp[1],i;
	temp[0]=0xf;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,1);
	   	if(acktemp) return(1);
	buff[0]=0x93;buff[1]=0x70;
	for(i=0;i<5;i++)
     buff[i+2]=Card_UID[i];
	acktemp=Command_Send(Transceive,buff,7);
	   	if(acktemp) return(1);
	acktemp=Read_FIFO(temp);
	if(temp[0]!=0x1)return(1);
	if(buff[0]!=0x8)return(1);
	return(0);
	}
//存儲密鑰
//*ramadr:密鑰
//buff[0]密鑰密鑰地址
//buff[1]:0
//buff[2]~buff[9]不能放密碼//////////////
char Load_Key(char n,char *ramadr)
{char acktemp,temp[1],i;
	 buff[0]=n;buff[1]=0x0;
for(i=0;i<6;i++)
	{ temp[0]=ramadr[i];
        buff[2+i+i]=(((ramadr[i]&0xf0)>>4)|((~ramadr[i])&0xf0));
        buff[3+i+i]=((temp[0]&0xf)|(~(temp[0]&0xf)<<4));
   }
acktemp=Command_Send(WriteEE,buff,0x0e);
  delay1ms(4);
acktemp=SPIRead(SecondaryStatus_Reg,temp,1);
if(acktemp) return(1);
if(temp[0]&0x40)
  {temp[0]=0x0;
  acktemp=SPIWrite(Command_Reg,temp,0x1);
  if(acktemp) return(1);
  return(0);}
temp[0]=0x0;
acktemp=SPIWrite(Command_Reg,temp,0x1);
return(1);
}
//加載密鑰
//入口:buff[0]密鑰密鑰地址
//buff[1]:0
char Load_Key_EE(char n)
{char acktemp,temp[2];
	temp[0]=n;temp[1]=0x0;
	acktemp=Command_Send(LoadKeyE2,temp,0x2);
  if(acktemp) return(1);
	acktemp=SPIRead(ErrorFlag_Reg,temp,1);
if(acktemp) return(1);
if(temp[0]&0x40)return(1);
	return(0);
	}

//讀卡:
//sq,扇區,n:讀N塊
char rdbuff(char sq,char n)
{char acktemp;
	acktemp=Authentication(sq);
	if(acktemp) return(1);
	acktemp=Read_Block(n);
	if(acktemp) return(1);
	return(0);
	}
//三重認證
//N認證的塊:
//temp[0]:0x60為A密鑰,0x61為B密鑰
char Authentication(char sq)
{char acktemp,temp[6],i;
	temp[0]=0xf;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,0x1);
  if(acktemp) return(1);
  temp[0]=0x61;
  temp[1]=sq;
  for(i=0;i<4;i++)
  temp[2+i]=Card_UID[i];
  acktemp=Command_Send(Authent1,temp,0x6);
  if(acktemp) return(1);
	acktemp=SPIRead(ErrorFlag_Reg,temp,1);
if(acktemp) return(1);
 if(temp[0]&0xe)return(1);
 acktemp=Command_Send(Authent2,temp,0);
 if(acktemp) return(1);
 acktemp=SPIRead(ErrorFlag_Reg,temp,1);
if(acktemp) return(1);
if(temp[0]&0xe)return(1);
acktemp=SPIRead(Control_Reg,temp,1);
if(acktemp) return(1);
if(temp[0]&0x8)return(0);
	return(1);
	}
char Read_Block(char n)
{char acktemp,temp[2];
	temp[0]=0xf;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,0x1);
	if(acktemp) return(1);
	temp[0]=0x30;temp[1]=n;
	acktemp=Command_Send(Transceive,temp,2);
 if(acktemp) return(1);
	acktemp=SPIRead(ErrorFlag_Reg,temp,1);
  if(acktemp) return(1);
  if(temp[0]&0xe)return(1);
  acktemp=Read_FIFO(temp);
  if(acktemp) return(1);
  if(temp[0]!=16)return(1);
  return(0);
	}
char Write_Block(char *ramadr,char n)
{char acktemp,temp[2];
	temp[0]=0x7;
	acktemp=SPIWrite(ChannelRedundancy_Reg,temp,0x1);
	if(acktemp) return(1);
	temp[0]=0xa0;temp[1]=n;
	acktemp=Command_Send(Transceive,temp,2);
	if(acktemp) return(1);
	temp[1]= buff[0];
	acktemp=Read_FIFO(temp);
  if(acktemp) return(1);
  if(temp[0]!=1)return(1);
  if(buff[0]!=0xa)return(1);
  buff[0]=temp[1];
  acktemp=Command_Send(Transceive,buff,0x10);
	if(acktemp) return(1);
	acktemp=Read_FIFO(temp);
  if(acktemp) return(1);
  if(temp[0]!=1)return(1);
  if(buff[0]!=0xa)return(1);
  buff[0]=temp[1];
  return(0);
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av激情亚洲男人天堂| 欧美一区二区三区思思人| 色一情一乱一乱一91av| 91精品免费在线| 一区在线中文字幕| 免费观看在线综合色| 一本色道久久综合亚洲aⅴ蜜桃 | 中文字幕日韩精品一区| 日本亚洲一区二区| 色视频成人在线观看免| 亚洲国产精品成人综合| 精品一区二区在线播放| 欧美日韩国产综合一区二区三区| 国产精品不卡在线观看| 国产在线一区二区综合免费视频| 欧美裸体bbwbbwbbw| 亚洲欧洲成人精品av97| 国产aⅴ精品一区二区三区色成熟| 欧美一区二区在线不卡| 亚洲国产中文字幕在线视频综合| 97se亚洲国产综合自在线| 国产精品网站在线播放| 国产剧情在线观看一区二区| 欧美成人video| 人人狠狠综合久久亚洲| 91精品国产高清一区二区三区 | 高清成人在线观看| 欧美成人video| 日韩国产精品91| 91精品综合久久久久久| 日韩精品欧美成人高清一区二区| 欧美日韩一区精品| 亚洲高清视频中文字幕| 欧美午夜电影网| 亚洲电影欧美电影有声小说| 欧美在线观看一区| 亚洲综合在线五月| 欧美日韩美少妇| 日本不卡一二三| 久久夜色精品一区| 成人午夜视频在线观看| 国产精品二三区| 欧美视频在线不卡| 日本色综合中文字幕| 精品国产一区二区三区四区四 | 亚洲一区二区三区中文字幕| 在线国产亚洲欧美| 日韩电影在线看| 精品乱人伦小说| 高清shemale亚洲人妖| 日韩美女久久久| 欧美天天综合网| 久久国产欧美日韩精品| 国产欧美日本一区视频| 国产69精品久久99不卡| 国产精品不卡一区| 欧美狂野另类xxxxoooo| 国模套图日韩精品一区二区| 国产精品家庭影院| 精品视频全国免费看| 久久精品99国产精品日本| 国产精品福利av| 91精品国产色综合久久不卡电影 | 国产精品亚洲成人| 亚洲欧美一区二区三区久本道91| 欧美日韩国产中文| 国产一区二区福利视频| 一区二区欧美视频| 精品88久久久久88久久久| 97精品久久久午夜一区二区三区 | 中文字幕在线视频一区| 精品1区2区3区| 国产高清视频一区| 午夜电影一区二区三区| 中文字幕精品一区二区三区精品| 欧美色区777第一页| 国产成人免费视频网站高清观看视频| 一区二区三区 在线观看视频| 精品国产免费一区二区三区香蕉 | 欧美日韩久久不卡| 国产成人精品三级麻豆| 日日骚欧美日韩| 国产精品久久久99| 久久亚洲影视婷婷| 欧美久久高跟鞋激| 91小视频免费观看| 国产成人综合在线播放| 蜜臀av一区二区| 亚洲国产乱码最新视频| 国产精品国产三级国产aⅴ入口| 欧美一级二级三级蜜桃| 欧美日韩综合色| 91啪亚洲精品| 国产激情一区二区三区四区 | 日韩美女视频一区二区| 久久夜色精品国产噜噜av| 欧美另类一区二区三区| 日本大香伊一区二区三区| 国产福利91精品一区| 麻豆91在线播放| 日本三级韩国三级欧美三级| 亚洲一区二区三区四区不卡| 亚洲视频免费在线观看| 亚洲丝袜另类动漫二区| 国产日韩亚洲欧美综合| 久久久亚洲精华液精华液精华液 | 国产欧美一区二区精品仙草咪| 欧美一区二区三区的| 欧美日韩二区三区| 91精品国产综合久久久久久漫画 | 精品一区二区在线视频| 日本成人在线视频网站| 亚洲成人动漫一区| 视频一区在线视频| 日韩不卡一区二区| 捆绑变态av一区二区三区| 老司机一区二区| 久久精品99久久久| 国产一区欧美一区| 成人免费视频一区二区| 91亚洲国产成人精品一区二区三| av亚洲精华国产精华| 91香蕉国产在线观看软件| 色狠狠色狠狠综合| 欧美久久久一区| 欧美一区二区三区在线观看视频| 日韩亚洲国产中文字幕欧美| 日韩三级在线免费观看| 久久久国产精华| 国产精品免费看片| 亚洲女人****多毛耸耸8| 亚洲高清免费视频| 麻豆免费看一区二区三区| 韩国毛片一区二区三区| 成人激情动漫在线观看| 日本久久电影网| 日韩欧美在线一区二区三区| 久久香蕉国产线看观看99| 中文字幕一区二区三区在线观看 | 视频在线在亚洲| 久久精品国产亚洲5555| 国产精品一二一区| 色爱区综合激月婷婷| 欧美一区二区播放| 国产精品素人视频| 亚洲成人午夜电影| 国产美女久久久久| 欧美在线观看视频一区二区三区| 欧美一级片在线看| 一区二区中文字幕在线| 三级一区在线视频先锋| 风间由美一区二区三区在线观看 | 国产欧美日产一区| 一区二区免费视频| 国产最新精品精品你懂的| 99久久综合狠狠综合久久| 9191成人精品久久| 亚洲欧美综合在线精品| 免费一区二区视频| 91理论电影在线观看| 精品嫩草影院久久| 亚洲成人一区二区在线观看| 国产suv精品一区二区883| 91精品国产免费久久综合| 亚洲成人av资源| 国产二区国产一区在线观看| 欧美日韩在线播放一区| 国产精品美女一区二区三区| 日日夜夜一区二区| 色婷婷久久99综合精品jk白丝| 久久伊人中文字幕| 日韩av一级电影| 欧洲色大大久久| 亚洲欧洲日韩在线| 国产高清不卡二三区| 91精品在线一区二区| 一区二区三区欧美日| 成人午夜在线视频| 久久色.com| 九一久久久久久| 日韩一区二区精品| 首页综合国产亚洲丝袜| 欧美午夜片在线看| 一二三四区精品视频| 91猫先生在线| 中文字幕中文字幕在线一区| 国产精品99久| 久久九九99视频| 国产在线精品免费av| 精品国产91亚洲一区二区三区婷婷| 天天综合天天综合色| 欧美日韩综合色| 爽爽淫人综合网网站| 欧美美女bb生活片| 日韩avvvv在线播放| 欧美精品久久99| 日本不卡视频一二三区| 91精品国产一区二区三区 | 狠狠网亚洲精品| 日韩一区二区三区在线观看|