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

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

?? at45db081test1.c

?? C8051F310單片機應用程序
?? C
字號:
/***************************************************************
功能:實現存儲器EEPROM AT45db081的數據讀寫操作,同時了解硬件spi讀寫操作

版本:V1.0
***************************************************************/
#include <c8051f310.h>
#include <stdio.h>
#include <intrins.h>

unsigned int Count1msInc;
unsigned int AT450XXPageAddr;

void PORT_Init (void);
void SPI0_Init (void);
void Timer0_Init (void);

#define	SYSCLK					24500000
#define DF_RESET 				P1&=~0x10;	P1|=0x10;		    // AT45DB081復位
#define DF_RDY_BUSY				P1|=0x20; while(!(P1&0x20));		// 等待AT45DB081準備好
#define DF_CHIP_SELECT 			P1&=~0x4; 						// AT45DB081片選開
#define DF_CHIP_NOSELECT 		P1|=0x4; 						// AT45DB081片選關
#define RAM_CHIP_SELECT_BANK0 	ES0=1;P1 = 0xF4; 	
#define RAM_CHIP_SELECT_BANK1 	P1 = 0xF5; 	
#define BUFFER_1 0x00 						// buffer 1
#define BUFFER_2 0x01 						// buffer 2
#define BUFFER_1_WRITE 0x84 				// buffer 1 write
#define BUFFER_2_WRITE 0x87 				// buffer 2 write
#define BUFFER_1_READ  0x54					// buffer 1 read (change to 0xD4 for SPI mode 0,3)
#define BUFFER_2_READ  0x56					// buffer 2 read (change to 0xD6 for SPI mode 0,3)
#define B1_TO_PAGE_WITH_ERASE 0x83 			// buffer 1 to main memory page program with built-in erase
#define B2_TO_PAGE_WITH_ERASE 0x86 			// buffer 2 to main memory page program with built-in erase
#define B1_TO_PAGE_WITHOUT_ERASE 0x88 		// buffer 1 to main memory page program without built-in erase
#define B2_TO_PAGE_WITHOUT_ERASE 0x89 		// buffer 2 to main memory page program without built-in erase
#define PAGE_PROG_THROUGH_B1 0x82 			// main memory page program through buffer 1
#define PAGE_PROG_THROUGH_B2 0x85 			// main memory page program through buffer 2
#define AUTO_PAGE_REWRITE_THROUGH_B1 0x58 	// auto page rewrite through buffer 1
#define AUTO_PAGE_REWRITE_THROUGH_B2 0x59 	// auto page rewrite through buffer 2
#define PAGE_TO_B1_COMP 0x60 				// main memory page compare to buffer 1
#define PAGE_TO_B2_COMP 0x61 				// main memory page compare to buffer 2
#define PAGE_TO_B1_XFER 0x53 				// main memory page to buffer 1 transfer
#define PAGE_TO_B2_XFER 0x55 				// main memory page to buffer 2 transfer
#define STATUS_REGISTER 0x57
#define MAIN_MEMORY_PAGE_READ 0x52 			// main memory page read (change to 0xD2 for SPI mode 0,3)

//unsigned char xdata MyBuff[270];
unsigned char xdata MyBuff3[270];
   

void SendSPIByte(unsigned char ch)
{
		SPIF = 0;
		SPI0DAT = ch;
		while (SPIF == 0);	 				// 等待寫結束			       	
} 
unsigned char GetSPIByte(void)
{
        SPIF = 0;
		SPI0DAT = 0;
		while (SPIF == 0);
		return  SPI0DAT;                   // 等待讀結束
}
//啟用緩存1讀
void FlashBuffer1Read(unsigned int star_addr,unsigned int len, unsigned char *buffer) //從緩沖區1的指定位置(0-263)中讀入指定字節
{                                       
       unsigned int i;
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(BUFFER_1_READ);		//緩沖區1為54H
		SendSPIByte(0);
		SendSPIByte((unsigned char)(star_addr>>8));
		SendSPIByte((unsigned char)star_addr);
		SendSPIByte(0);
		for (i=0;i<len;i++)
		{
   			buffer[i] = GetSPIByte();   // read data from SPI
	    }
       	DF_CHIP_NOSELECT;
}
//啟用緩存2讀
void FlashBuffer2Read(unsigned int star_addr,unsigned int len, unsigned char *buffer) //從緩沖區2的指定位置(0-263)中讀入指定字節
{                                       
       unsigned int i;
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(BUFFER_2_READ);		//緩沖區2為56H
		SendSPIByte(0);
		SendSPIByte((unsigned char)(star_addr>>8));
		SendSPIByte((unsigned char)star_addr);
		SendSPIByte(0);
		for (i=0;i<len;i++)
		{
   			*buffer = GetSPIByte();     // read data from SPI
	         buffer++;
		}
       	DF_CHIP_NOSELECT;
}
//啟用緩存1寫
void FlashBuffer1Write(unsigned int start_addr, unsigned int len,unsigned char *buffer) //向緩沖區1的指定位置(0-263)寫入指定字節
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好?
   		DF_CHIP_SELECT;//芯片選擇					  
		SendSPIByte(BUFFER_1_WRITE);//緩沖區1為84H
   		SendSPIByte(0x00);
   		SendSPIByte((unsigned char)(start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   		SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}
//啟用緩存2寫
void FlashBuffer2Write(unsigned int start_addr, unsigned int len,unsigned char *buffer) //向緩沖區2的指定位置(0-263)寫入指定字節
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好?
   		DF_CHIP_SELECT;//芯片選擇					
		SendSPIByte(BUFFER_2_WRITE);//緩沖區2為87H
   		SendSPIByte(0x00);
   		SendSPIByte((unsigned char)(start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   			SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}
//讀取狀態
unsigned char GetFlashStatus() //讀Flash當前狀態Bit7=1:空閑 0:忙 Bit6=1:比較結果不匹配 0:匹配 Bit5Bit3Bit2:芯片標志 100:081 
{
        unsigned char idata ret;
		DF_CHIP_SELECT;//芯片選擇
        SendSPIByte(STATUS_REGISTER);
        ret=GetSPIByte();
        DF_CHIP_NOSELECT;
        return ret;
}
//讀主存至緩存
void PageToBuffer1(void)	 //從Flash讀一頁至緩存1
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(PAGE_TO_B1_XFER);
		SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
		SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
		SendSPIByte(0);				
		DF_CHIP_NOSELECT;
}
//讀主存至緩存
void PageToBuffer2(void)    //從Flash讀一頁至緩存2
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(PAGE_TO_B2_XFER);
		SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
		SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
		SendSPIByte(0);				
		DF_CHIP_NOSELECT;
}
//緩存1寫主存
void FlashBuffer1ProgNoErase(void)  //直接將緩存1寫入Flash一頁(不擦除)
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(B1_TO_PAGE_WITHOUT_ERASE);
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
        SendSPIByte(0x00);
		DF_CHIP_NOSELECT;
}
//緩存2寫主存
void FlashBuffer2ProgNoErase(void) //直接將緩存2寫入Flash一頁(不擦除)
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(B2_TO_PAGE_WITHOUT_ERASE);
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
        SendSPIByte(0x00);
		DF_CHIP_NOSELECT;
}
//擦除+緩存1寫主存
void FlashBuffer1ProgAutoErase(void) //直接將緩存1寫入Flash一頁(先擦除)
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(B1_TO_PAGE_WITH_ERASE);
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
        SendSPIByte(0x00);
		DF_CHIP_NOSELECT;
}

//擦除+緩存2寫主存
void FlashBuffer2ProgAutoErase(void) //直接將緩存2寫入Flash一頁(先擦除)
{
		DF_RDY_BUSY;//測芯片準備好?
		DF_CHIP_SELECT;//芯片選擇
		SendSPIByte(B2_TO_PAGE_WITH_ERASE);
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1));
        SendSPIByte(0x00);
		DF_CHIP_NOSELECT;
}

//讀主存
//寫緩存+緩存寫主存
void FlashProgViaBuffer1(unsigned int start_addr, unsigned int len,unsigned char *buffer) //將指定數據通過緩存1寫入Flash指定位置(不擦除)
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好?
   		DF_CHIP_SELECT;//芯片選擇					
		SendSPIByte(PAGE_PROG_THROUGH_B1);//緩沖區1為82H
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1 + start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   			SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}
//寫緩存+緩存寫主存
void FlashProgViaBuffer2(unsigned int start_addr, unsigned int len,unsigned char *buffer) //將指定數據通過緩存2寫入Flash指定位置(不擦除)
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好?
   		DF_CHIP_SELECT;//芯片選擇					
		SendSPIByte(PAGE_PROG_THROUGH_B2);//緩沖區2為85H
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1 + start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   			SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}

//寫緩存+擦除+緩存寫主存
void FlashAutoProgViaBuffer1(unsigned int start_addr, unsigned int len,unsigned char *buffer) //將指定數據通過緩存1寫入Flash指定位置(先擦除)
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好?
   		DF_CHIP_SELECT;//芯片選擇					
		SendSPIByte(AUTO_PAGE_REWRITE_THROUGH_B1);//緩沖區1為84H
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1 + start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   			SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}

//寫緩存+擦除+緩存寫主存
void FlashAutoProgViaBuffer2(unsigned int start_addr, unsigned int len,unsigned char *buffer) //將指定數據通過緩存2寫入Flash指定位置(先擦除)
{
   		unsigned int  i;
		DF_RDY_BUSY;//測芯片準備好? 
   		DF_CHIP_SELECT;//芯片選擇					
		SendSPIByte(AUTO_PAGE_REWRITE_THROUGH_B2);//緩沖區2為87H
        SendSPIByte((unsigned char)(AT450XXPageAddr >> 7));
        SendSPIByte((unsigned char)(AT450XXPageAddr << 1 + start_addr>>8));
   		SendSPIByte((unsigned char)start_addr);
   		for (i=0;i<len;i++)
   			SendSPIByte(buffer[i]);
		DF_CHIP_NOSELECT;
}
//---------------------------------------------------------------------------
//MAIN
//---------------------------------------------------------------------------

void main (void)
{
    unsigned char xdata MyBuff[270];
    unsigned char xdata MyBuff1[270];
    unsigned char xdata *idata MyBuff11;
    unsigned int i,j;

	PCA0MD &= ~0x40;          // WDTE = 0 (watchdog timer enable bit)
    OSCICN |= 0x03;           // Set internal oscillator to highest
                             // setting (24500000)
	Timer0_Init();
	PORT_Init ();                       // initialize crossbar and GPIO
	EA=1;
	DF_RESET;
	SPI0_Init ();                       // initialize SPI0
//	RAM_CHIP_SELECT_BANK0;
//    EMI0CF = 0x2F;
/*---------------------------------------------------------------------------
緩存讀寫測試
---------------------------------------------------------------------------*/
	for(j=0;j<264;j++)					//初始化數組數據為:0--264
		{
	  		MyBuff[j]=j;
	  	}   
	FlashBuffer1Write(0,264,MyBuff);	//寫數據至數據緩存區1
	_nop_();
	for(j=0;j<264;j++)					//初始化數組數據全為:0
		{
	  		MyBuff[j]=0;
	  	}
	FlashBuffer1Read(0,264,MyBuff);		//讀數據緩存區1數據至數組
	_nop_();
/*---------------------------------------------------------------------------
FLASH讀寫測試
---------------------------------------------------------------------------*/
	for(i=1;i<256;i++)
	{	
	    MyBuff[0]=i>>8;
	 	MyBuff[1]=i;  				//將頁地址寫入數組的前兩個字節.
		for(j=2;j<264;j++)
		{
	  		MyBuff[j]=i;
	  	}                				//向數組寫數據共262個字節
        AT450XXPageAddr=i; 				//指定待寫頁
		FlashBuffer1Write(0,264,MyBuff);//將數組的內容寫入緩存1
		FlashBuffer1ProgAutoErase(); 	//將緩存的內容寫入主存(帶擦除)
	}
	    _nop_();
	for(i=0;i<256;i++)
	{  
   		AT450XXPageAddr=i;					//指定待讀頁
    	MyBuff11=0x0;//+i*264;					//指定數據放置的XRAM的地址(首地址為0x0).
		PageToBuffer2();					//將主存內容讀入緩存2
		FlashBuffer2Read(0,264,MyBuff11); 	//將緩存2的內容讀入XRAM
		_nop_();  							//在此設斷點觀察XRAM中的數據是否與寫入的數據相符.
	}
	_nop_(); 								//同時在此設一斷點在全部讀完主存后觀察XRAM中的內容.
/*---------------------------------------------------------------------------
其它測試
---------------------------------------------------------------------------*/
	AT450XXPageAddr=0;
	FlashBuffer1Write(20,14,"1234567890UUAA");
	FlashBuffer1Read(0,260,MyBuff1);
	FlashBuffer1Write(20,14,"3234567890UUAA");
	FlashBuffer1Read(20,14,MyBuff); //在此處設置斷點,觀察MyBuff的內容
	FlashBuffer1ProgNoErase();
	PageToBuffer2();
	FlashBuffer2Read(20,14,MyBuff); 
	Count1msInc=0;
	FlashBuffer2Read(100,14,MyBuff);
	Count1msInc=0;
	FlashBuffer1Write(20,14,"1234567890UUAA");
	Count1msInc=0;
	FlashBuffer1Read(100,14,MyBuff);
	Count1msInc=0;
	FlashBuffer1ProgNoErase(); 
	Count1msInc=0;
	PageToBuffer2();
	Count1msInc=0;
	FlashBuffer2Read(100,14,MyBuff);
	FlashProgViaBuffer1(100,14,MyBuff);
	//ErasingDataFlash();
	//EraseFlashPage(); 
	FlashBuffer1Read(1,1, MyBuff); //從緩沖區1的指定位置(0-263)中讀入指定字節
	FlashBuffer2Read(1,1,MyBuff);  //從緩沖區2的指定位置(0-263)中讀入指定字節
	FlashBuffer1Write(1,1,"!");
	FlashBuffer2Write(1,1,"1");
	GetFlashStatus();
	PageToBuffer1();
	PageToBuffer2();
	FlashBuffer1ProgNoErase();
	FlashBuffer2ProgNoErase();
	FlashBuffer1ProgAutoErase();
	FlashBuffer2ProgAutoErase();
	FlashProgViaBuffer1(1,1, MyBuff);
	FlashProgViaBuffer2(1,1, MyBuff);
	FlashAutoProgViaBuffer1(1,1, MyBuff);
	FlashAutoProgViaBuffer2(1,1, MyBuff);
	while(1);
}
//-----------------------------------------------
void PORT_Init (void)
{
   XBR0 = 0x02;    // Enable SMBus pins
   XBR1 = 0x40;    // Enable crossbar and weak pull-ups
//   P0SKIP =0x3f;
//   P0MDIN = 0xFF;  // All P0 pins digital input
   P0MDOUT = 0xFF; // All P0 pins open-drain output
//   P0 = 0xFF;      //
   P1MDOUT |= 0x00; // P3.3 push-pull output

}
void SPI0_Init (void)
{
   SPI0CFG = 0x70;                     // data sampled on 1st SCK rising edge
                                       // 8-bit data words
//   SPI0CFG|=0xC0;//CKPOL =1;

   SPI0CN = 0x09;                      // Master mode; SPI enabled; flags
                                       // cleared
   SPI0CKR = 0x03;//SYSCLK/2/3000000-1;       // SPI clock <= 8MHz (limited by 
                                       // EEPROM spec.)
}

void Timer0_Init (void)
{
   CKCON|=0x8;
   TMOD|=0x1;    //16Bit
   TR0 = 0;                         	// STOP Timer0
   TH0 = (-SYSCLK/1000) >> 8;    		// set Timer0 to overflow in 1ms
   TL0 = -SYSCLK/1000;
   TR0 = 1;   	// START Timer0
   IE|= 0x2; 
}
void Timer0_ISR (void) interrupt 1  //1ms
{
	TH0 = (-SYSCLK/1000) >> 8;  
   	TL0 = -SYSCLK/1000;
	Count1msInc++;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久蜜臀图片| 色综合色狠狠综合色| 亚洲国产毛片aaaaa无费看| 最新日韩av在线| 综合久久久久综合| 一区二区三区欧美| 亚洲一区中文日韩| 午夜不卡av在线| 免费在线观看精品| 麻豆91在线播放免费| 国内精品免费**视频| 国产一区不卡在线| av在线综合网| 欧美亚洲自拍偷拍| 日韩欧美一区在线| 欧美激情一区在线观看| 亚洲视频中文字幕| 婷婷综合五月天| 激情综合一区二区三区| 本田岬高潮一区二区三区| 色哟哟欧美精品| 日韩免费观看2025年上映的电影| 国产亚洲欧美色| 亚洲激情一二三区| 精品亚洲国内自在自线福利| 成人自拍视频在线| 欧美一区二区美女| 国产精品美日韩| 亚洲va天堂va国产va久| 丰满放荡岳乱妇91ww| 欧美色精品天天在线观看视频| 日韩免费看网站| 一区二区三区中文在线| 国产在线播放一区| 欧美性xxxxxxxx| 国产午夜精品久久久久久久 | 欧美日韩在线播| 日韩精品一区二区三区视频| 亚洲色图欧洲色图| 精品午夜久久福利影院| 欧美视频在线不卡| 日本一区二区三区四区| 日本成人在线看| 一本久道中文字幕精品亚洲嫩| 欧美一级艳片视频免费观看| 亚洲丝袜美腿综合| 国产精品亚洲专一区二区三区| 欧美理论在线播放| 综合久久久久久| 国产精品69毛片高清亚洲| 717成人午夜免费福利电影| 综合久久国产九一剧情麻豆| 国产老肥熟一区二区三区| 7777精品伊人久久久大香线蕉 | 色老头久久综合| 国产欧美一区二区精品性色超碰| 偷拍自拍另类欧美| 日本精品一区二区三区高清 | 国产精品一区二区无线| 51久久夜色精品国产麻豆| 亚洲另类在线视频| 91色九色蝌蚪| 1000精品久久久久久久久| 国产精品一区二区三区乱码| 日韩女优电影在线观看| 日本中文在线一区| 91精品国产综合久久蜜臀| 午夜精品久久久久久久久久久 | 偷拍与自拍一区| 欧美军同video69gay| 亚洲午夜免费电影| 在线视频一区二区三区| 一区二区免费视频| 欧美亚洲国产怡红院影院| 亚洲私人影院在线观看| 日本二三区不卡| 亚洲超碰97人人做人人爱| 欧美顶级少妇做爰| 免费欧美日韩国产三级电影| 91精品国产综合久久久蜜臀图片 | 国产成人综合在线| 国产丝袜美腿一区二区三区| 国产高清久久久| 国产精品丝袜久久久久久app| 大桥未久av一区二区三区中文| 久久先锋资源网| 国产成人无遮挡在线视频| 国产欧美一区二区三区沐欲 | 911精品国产一区二区在线| 亚洲123区在线观看| 日韩网站在线看片你懂的| 久久精品国产第一区二区三区| 精品免费视频一区二区| 国产成人在线视频免费播放| 成人欧美一区二区三区黑人麻豆| 99视频精品全部免费在线| 亚洲一区在线播放| 日韩欧美一区二区在线视频| 国产高清在线精品| 亚洲一区av在线| 精品电影一区二区| 成人动漫av在线| 午夜av电影一区| 久久久精品tv| 欧美日韩免费一区二区三区| 精品一区二区国语对白| 亚洲欧美日韩国产综合| 91精品国产综合久久香蕉的特点 | 欧美日韩精品三区| 国产二区国产一区在线观看| 亚洲乱码中文字幕| 精品久久免费看| 色狠狠av一区二区三区| 激情文学综合网| 亚洲午夜精品17c| 久久精品人人做人人综合| 欧美午夜宅男影院| 国产98色在线|日韩| 日日骚欧美日韩| 欧美国产激情一区二区三区蜜月| 欧美日韩一二三区| www.欧美日韩| 另类小说图片综合网| 亚洲美女精品一区| 欧美激情一区二区在线| 日韩一区二区视频在线观看| 97国产精品videossex| 精品一区二区三区在线观看| 亚洲伊人伊色伊影伊综合网| 中文字幕一区二区三区在线不卡| 精品欧美黑人一区二区三区| 欧美日韩视频在线第一区 | 久久精品国产在热久久| 亚洲精品国久久99热| 亚洲国产成人一区二区三区| 欧美成人三级电影在线| 欧美日韩日本视频| 欧美视频一二三区| 欧美怡红院视频| 91香蕉视频mp4| 99久久久免费精品国产一区二区 | 在线一区二区三区四区五区| 国产一区二区三区免费观看| 日韩国产精品久久| 日韩成人一区二区三区在线观看| 亚洲国产成人精品视频| 亚洲高清三级视频| 亚洲国产视频a| 亚洲成人第一页| 亚洲一区二区免费视频| 亚洲综合av网| 婷婷国产在线综合| 日韩精品亚洲专区| 日韩在线一区二区| 日本aⅴ精品一区二区三区| 三级在线观看一区二区| 日本免费新一区视频| 日本亚洲最大的色成网站www| 日韩国产一区二| 久久se精品一区二区| 国内精品不卡在线| 国产成人午夜片在线观看高清观看| 成人午夜电影网站| 91色porny在线视频| 欧美日韩国产免费一区二区| 日韩欧美亚洲国产精品字幕久久久| 日韩欧美一二三| 国产精品你懂的在线| 亚洲色欲色欲www| 亚洲第一在线综合网站| 久久99最新地址| 丰满放荡岳乱妇91ww| 欧洲人成人精品| 日韩欧美亚洲另类制服综合在线| 久久久久久久久97黄色工厂| 亚洲天堂av老司机| 天堂一区二区在线| 国产激情视频一区二区三区欧美 | 欧美一级高清片在线观看| 久久综合色天天久久综合图片| 国产亚洲精品aa午夜观看| 亚洲精品免费一二三区| 蜜桃视频一区二区三区在线观看| 国产在线精品视频| 欧美日韩欧美一区二区| 精品播放一区二区| 一区二区三区色| 国产美女在线观看一区| 一本久久综合亚洲鲁鲁五月天 | 国产精品1区2区3区在线观看| 成人精品免费看| 欧美一区二区私人影院日本| 国产日韩精品一区二区三区 | 欧美日韩电影在线| 久久久不卡网国产精品二区| 亚洲一区二区综合| 风间由美一区二区av101 | 国产精品丝袜在线| 日韩国产欧美在线播放| 色综合久久天天|