《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 25045操作標準子程序

25045操作標準子程序

2017-02-06
關鍵詞: 子程序 操作標準

25045操作標準子程序

# include <stdio.h>
# include <reg52.h>
# define uchar unsigned char
# define uint unsigned int
 sbit SO=P1^1;/*25045輸出*/
 sbit SI=P1^2;/*25045輸入*/
 sbit SCK=P1^3;/*25045時鐘*/
 sbit CS=P1^4;/*25045片選*/
 uchar code WREN_INST=0X06;
 /* Write enable latch instruction (WREN)*/
 uchar code WRDI_INST=0X04;
 /* Write disable latch instruction (WRDI)*/
 uchar code WRSR_INST=0X01;
 /* Write status register instruction (WRSR)*/
 uchar code RDSR_INST=0X05;
 /* Read status register instruction (RDSR)*/
 uchar code WRITE_INST=0X02;
 /* Write memory instruction (WRITE)*/
 /*寫入25045的先導字,應當為0000A010,其中的A為寫入25045的高位地址
 將此WRITE_INST和寫入高位地址相或后即為正確的寫先導字*/
 uchar code READ_INST=0X03;
 /* Read memory instruction (READ)*/
 /*讀出25045的先導字,應當為0000A011,其中的A為讀出25045的高位地址
 將此READ_INST和讀出高位地址相或后即為正確的讀先導字*/
 uint code BYTE_ADDR=0X55;
 /* Memory address for byte mode operations*/
 uchar code BYTE_DATA=0X11;
 /*Data byte for byte write operation*/
 uint  code PAGE_ADDR=0X1F;
 /* Memory address for page mode operations*/
 /*頁面寫入的其始地址*/
 uchar code PAGE_DATA1=0X22;
 /* 1st data byte for page write operation*/
 uchar code PAGE_DATA2=0X33;
 /* 2nd data byte for page write operation*/
 uchar code PAGE_DATA3=0X44;
 /* 3rd data byte for page write operation*/
 uchar code STATUS_REG=0X20;
 /* Status register,設置DOG時間設置為200毫秒,無寫保護*/
 /*這是狀態寄存器的值,他的意義在于第5,第4位為WDI1,WDI0代表DOG的時間,00為1.4秒,01為600毫秒,10為200毫秒,00為disabled
 第3位和第2位為BL1,BL0,是寫保護設置位,00為無保護,01為保護180-1FF,10為保護100-1FF,11為保護000-1FF.第1位為WEL,
 當他為1時代表已經"寫使能"設置了,現在可以寫了,只讀位.第0位為WIP,當他為1時代表正在進行寫操作,是只讀*/
 uchar code  MAX_POLL=0x99;
 /* Maximum number of polls*/
 /*最大寫過程時間,確定25045的最大的寫入過程的時間*/
 uchar code INIT_STATE=0x09;
 /* Initialization value for control ports*/
 uint code SLIC=0x30;
 /* Address location of SLIC*/
 void wren_cmd(void);/*寫使能子程序*/
 void wrdi_cmd(void);/*寫使能復位*/
 void wrsr_cmd(void);/*復位時間位和數據保護位寫入狀態寄存器*/
 uchar rdsr_cmd(void);/*讀狀態寄存器*/
 void byte_write(uchar aa,uint dd);/*字節寫入,aa為寫入的數據,dd為寫入的地址*/
 uchar byte_read(uint dd);/*字節讀出,dd為讀出的地址,返回讀出的數據*/
 void page_write(uchar aa1,uchar aa2,uchar aa3,uchar aa4,uint dd);/*頁寫入*/
 void sequ_read(void);/*連續讀出*/
 void rst_wdog(void);/*DOG復位*/
 void outbyt(uchar aa);/*輸出一個字節到25045中,不包括先導字等*/
 uchar inputbyt();/*由25045輸入一個字節,不包括先導字等額外的東西*/
 void wip_poll(void);/*檢查寫入過程是否結束*/
 
 
/*25045操作子程序集*/
/*;*******************************************************
*
;* Name: WREN_CMD
;* Description: Set write enable latch
;* Function: This routine sends the command to enable writes to the EEPROM memory array or
;* status register
;* Calls: outbyt
;* Input: None
;* Outputs: None
;* Register Usage: A
;*****************************************************
*/
/*寫使能子程序*/
void wren_cmd(void)
{
 uchar aa;
 SCK=0;/* Bring SCK low */
 CS=0;/* Bring /CS low */
 aa=WREN_INST;
 outbyt(aa);/* Send WREN instruction */
 SCK=0;/* Bring SCK low */
 CS=1;/* Bring /CS high */
}

/*;***********************************************************
*
;* Name: WRDI_CMD
;* Description: Reset write enable latch
;* Function: This routine sends the command to disable writes to the EEPROM memory array or
;* status register
;* Calls: outbyt
;* Input: None
;* Outputs: None
;* Register Usage: A
;***********************************************************
*/
/*寫使能復位子程序*/
void wrdi_cmd(void)
{
 uchar aa;
 SCK=0;/* Bring SCK low */
 CS=0;/* Bring /CS low */
 aa=WRDI_INST;
 outbyt(aa);/* Send WRDI instruction */
 SCK=0;/* Bring SCK low */
 CS=1;/* Bring /CS high */
}


/*;********************************************************
*
;* Name: WRSR_CMD
;* Description: Write Status Register
;* Function: This routine sends the command to write the WD0, WD1, BP0 and BP0 EEPROM
;* bits in the status register
;* Calls: outbyt, wip_poll
;* Input: None
;* Outputs: None
;* Register Usage: A
;********************************************
*/
/*寫狀態寄存器子程序*/
void wrsr_cmd(void)
{
 uchar aa;
 SCK=0;/* Bring SCK low */
 CS=0;/* Bring /CS low */
 aa=WRSR_INST;
 outbyt(aa) ;/* Send WRSR instruction */
 aa=STATUS_REG;
 outbyt(aa);/* Send status register */
 SCK=0;/* Bring SCK low */
 CS=1;/* Bring /CS high */
 wip_poll();/* Poll for completion of write cycle */
}

/*;*************************************************************
*
;* Name: RDSR_CMD
;* Description: Read Status Register
;* Function: This routine sends the command to read the status register
;* Calls: outbyt, inputbyt
;* Input: None
;* Outputs: A = status registerXicor Application Note AN21
;* Register Usage: A
;*******************************************************
*/
/*讀狀態寄存器,讀出的數據放入到aa中*/
uchar rdsr_cmd (void)
{
 uchar aa;
 SCK=0;
 CS=0;
 aa=RDSR_INST;
 outbyt(aa);
 aa=inputbyt();
 SCK=0;
 CS=1;
 return aa;
}

/*;*******************************************************
*
;* Name: BYTE_WRITE
;* Description: Single Byte Write
;* Function: This routine sends the command to write a single byte to the EEPROM memory
array
;* Calls: outbyt, wip_poll
;* Input: None
;* Outputs: None
;* Register Usage: A, B
;**********************************************************
*/
/*字節寫入,aa為寫入的數據,dd為寫入的地址,對于25045而言為000-1FF*/
void byte_write(aa,dd)
uchar aa;
uint dd;
{
 SCK=0;
 CS=0;
 outbyt((((uchar)(dd-0XFF))<<3)|WRITE_INST);/* Send WRITE instruction including MSB of address */
 /*將高位地址左移3位與寫入先導字相或,得到正確的先導字寫入25045*/
 outbyt((uchar)(dd));
 /*輸出低位地址到25045*/
 outbyt(aa);
 /*寫入數據到25045的對應單元*/
 SCK=0;
 CS=1;
 wip_poll();
 /*檢測是否寫完*/
}

/*;********************************************************
*
;* Name: BYTE_READ
;* Description: Single Byte Read
;* Function: This routine sends the command to read a single byte from the EEPROM memory
array
;* Calls: outbyt, inputbyt
;* Input: None
;* Outputs: A = read byte
;* Register Usage: A, BXicor Application Note AN21
;********************************************************
*/
/*字節讀出,其中dd為讀出的地址,返回的值為讀出的數據*/
uchar byte_read(dd)
uint dd;
{
 uchar cc;
 SCK=0;
 CS=0;
 outbyt((((uchar)(dd-0XFF))<<3)|READ_INST);/* Send READ_INST instruction including MSB of address */
 /*將高位地址左移3位與讀出先導字相或,得到正確的先導字寫入25045*/
 outbyt((uchar)(dd));
 /*輸出低位地址到25045*/
 cc=inputbyt();/*得到讀出的數據*/
 SCK=0;
 CS=1;
 return cc;
}


/*;**********************************************
*
;* Name: PAGE_WRITE
;* Description: Page Write
;* Function: This routine sends the command to write three consecutive bytes to the EEPROM
;* memory array using page mode
;* Calls: outbyt, wip_poll
;* Input: None
;* Outputs: None
;* Register Usage: A, B
;*****************************************************
*/
/*頁面寫入,其中aa1,aa2,aa3,aa4為需要寫入的4個數據(最大也就只能一次寫入4個字,dd為寫入的首地址*/
void page_write(aa1,aa2,aa3,aa4,dd)
uchar aa1,aa2,aa3,aa4;
uint dd;
{
 SCK=0;
 CS=0;
 outbyt((((uchar)(dd-0XFF))<<3)|WRITE_INST);/* Send WRITE instruction including MSB of address */
 /*將高位地址左移3位與寫入先導字相或,得到正確的先導字寫入25045*/
 outbyt((uchar)(dd));
 /*寫入低位地址到25045*/
 outbyt(aa1);
 /*寫入數據1到25045的對應單元*/
 outbyt(aa2);
 /*寫入數據2到25045的對應單元*/
 outbyt(aa3);
 /*寫入數據3到25045的對應單元*/
 outbyt(aa4);
 /*寫入數據4到25045的對應單元*/
 SCK=0;
 CS=1;
 wip_poll();
}


/*;********************************************
*
;* Name: SEQU_READ
;* Description: Sequential Read
;* Function: This routine sends the command to read three consecutive bytes from the EEPROM
;* memory array using sequential mode
;* Calls: outbyt, inputbyt
;* Input: None
;* Outputs: A = last byte read
;* Register Usage: A, B
;*********************************************************
*/
/*連續讀出,由于函數的返回值只能為1個,對于連續讀出的數據只能使用指針作為函數的返回值才能做到返回一系列的數組*/
/*sequ_read:*/
unsigned int *page_read(n,dd)
uchar n;/*n是希望讀出的數據的個數,n<=11*/
unsigned int dd;/*dd是讀出數據的首地址*/
{
 uchar i;
 uchar pp[10];
 unsigned int *pt=pp;
 SCK=0;
 CS=0;
 outbyt((((uchar)(dd-0XFF))<<3)|READ_INST);
 for (i=0;i<n;i++)
 {
   pp[i]=inputbyt();
 }
 return (pt);
}
/*調用的方法如下*/
/*unsigned int *p;*/
/*p=page_read(4,100);*/
/*a=*(p)*/ 
/*b=*(p+1)*/
/*c=*(p+2)*/
/*d=*(p+3)*/
/*abcd中存放25045中由100地址開始的4個數據*/
 /* Send WRITE */
/*mov DPTR, #PAGE_ADDR ; Set address of 1st byte to be read
clr sck ; Bring SCK low
clr cs ; Bring /CS low
mov A, #READ_INST
mov B, DPH
mov C, B.0
mov ACC.3, C
lcall outbyt ; Send READ instruction with MSB of address
mov A, DPL
lcall outbyt ; Send low order address byte
lcall inputbyt ; Read 1st data byte
lcall inputbyt ; Read 2nd data byte
lcall inputbyt ; Read 3rd data byte
clr sck ; Bring SCK low
setb cs ; Bring /CS high
ret*/
/*;*******************************************************
*
;* Name: RST_WDOG
;* Description: Reset Watchdog Timer
;* Function: This routine resets the watchdog timer without sending a command
;* Calls: None
;* Input: None
;* Outputs: None
;* Register Usage: None
;***************************************************
*/
/*復位DOG*/
void rst_wdog (void)
{
 CS=0;
 CS=1;
}

/*;******************************************************
*
;* Name: WIP_POLL
;* Description: Write-In-Progress Polling
;* Function: This routine polls for completion of a nonvolatile write cycle by examining the
;* WIP bit of the status register
;* Calls: rdsr_cmdXicor Application Note AN21
;* Input: None
;* Outputs: None
;* Register Usage: R1, A
;**************************************************
*/
/*檢測寫入的過程是否結束*/
void wip_poll(void)
{
 uchar aa;
 uchar idata my_flag;
 for (aa=1;aa>MAX_POLL;aa++)
 {
  my_flag=rdsr_cmd();
  if ((my_flag&&0x01)==0) {aa=MAX_POLL;}/*判斷是否WIP=0,即判斷是否寫入過程已經結束,若結束就跳出,否則繼續等待直到達到最大記數值*/
 }
}


/*;*******************************************************
*
;* Name: OUTBYT
;* Description: Sends byte to EEPROM
;* Function: This routine shifts out a byte, starting with the MSB, to the EEPROM
;* Calls: None
;* Input: A = byte to be sent
;* Outputs: None
;* Register Usage: R0, A
;**********************************************************
*/
/*輸出一個數據到25045,此數據可能為地址,先導字,寫入的數據等*/
void outbyt(aa)
uchar aa;
{
 uchar my_flag1,i;
 for (i=0;i>7;i++)
 {
   my_flag1=aa;
   SCK=0;
   SI=(my_flag1>>i);
   SCK=1;
 }
 SI=0;/*使SI處于確定的狀態*/
}


/*;***************************************************
*
;* Name: INPUTBYT
;* Description: Recieves byte from EEPROM
;* Function: This routine recieves a byte, MSB first, from the EEPROM
;* Calls: None
;* Input: None
;* Outputs: A = recieved byte
;* Register Usage: R0, A
;*******************************************************
*/
/*得到一個數據,此數據可能為狀態寄存器數據,讀出的單元數據等*/
uchar inputbyt(void)
{
 uchar aa,my_flag;
 char i;
 for (i=7;i<0;i--)
 {
   SCK=0;
   my_flag=(uchar)(SO);
   SCK=1;
   aa=(aa||(my_flag<<i));
   my_flag=0x00;
 }
 return aa;
}

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲美女性视频| 国产亚洲精品成人av久久ww| 久久综合久久美利坚合众国| 羞羞答答国产精品www一本| 欧美大片国产精品| 国产精品高精视频免费| 欧美日韩激情网| 亚洲一区二区三区四区五区午夜| 国产色婷婷国产综合在线理论片a| 亚洲美女淫视频| 国产精品每日更新| 在线看成人片| 好吊妞**欧美| 亚洲欧洲日夜超级视频| 洋洋av久久久久久久一区| 欧美日一区二区在线观看| 欧美日韩精品伦理作品在线免费观看| 亚洲欧美美女| 在线观看不卡av| 欧美午夜精品久久久久久久| 欧美日本韩国| 久久精品99国产精品| 欧美一级一区| 久久综合色8888| 久久亚洲综合网| 国产精品乱码一区二区三区| 欧美视频在线观看视频极品| 久热成人在线视频| 欧美破处大片在线视频| 欧美夜福利tv在线| 久久人人看视频| 国产日韩av在线播放| 国产精品扒开腿做爽爽爽视频| 一区在线播放视频| 久久久综合香蕉尹人综合网| 亚洲欧美一区二区三区久久| 一区二区三区精品视频| 欧美成人免费小视频| 午夜精品电影| 欧美亚洲综合另类| 夜夜嗨av色综合久久久综合网| 欧美中文字幕在线| 亚洲欧美区自拍先锋| 欧美精品亚洲二区| 欧美成人午夜剧场免费观看| 99v久久综合狠狠综合久久| 国产九色精品成人porny| 欧美精品自拍| 99精品国产99久久久久久福利| 欧美激情一级片一区二区| 国产亚洲精品一区二555| 久久精品综合网| 999亚洲国产精| 国产精品一区二区女厕厕| 亚洲大黄网站| 国产精品区二区三区日本| 国产精自产拍久久久久久| 精东粉嫩av免费一区二区三区| 亚洲国产欧美不卡在线观看| 欧美日韩www| 亚洲欧美日韩国产成人精品影院| 激情小说另类小说亚洲欧美| 亚洲精品欧美激情| 亚洲欧美日韩精品久久亚洲区| 欧美电影打屁股sp| 欧美黄色免费| 亚洲午夜性刺激影院| 亚洲欧洲av一区二区| 欧美一区二区日韩一区二区| 国产精品国产三级国产专播精品人| 久久成人这里只有精品| 久久精品国产999大香线蕉| 91久久嫩草影院一区二区| 亚洲另类春色国产| 亚洲电影中文字幕| 国产精品视频导航| 亚洲人体一区| 久久久久国产一区二区| 欧美精品在线一区二区| 亚洲视频在线观看视频| 欧美噜噜久久久xxx| 久久av在线看| 欧美一区二区啪啪| 欧美日韩在线免费| 国产亚洲在线观看| 亚洲天堂成人在线视频| 久久蜜桃香蕉精品一区二区三区| 午夜精品一区二区在线观看| 亚洲视频免费在线| 亚洲久久在线| 亚洲欧美亚洲| 亚洲图片自拍偷拍| 伊人精品在线| 美玉足脚交一区二区三区图片| 国产精品国产福利国产秒拍| 欧美中文在线免费| 国内精品久久久久影院色| 性感少妇一区| 欧美精品日韩三级| 欧美成人精品影院| 亚洲第一精品夜夜躁人人躁| 亚洲欧洲av一区二区三区久久| 欧美在线视频免费| 亚洲激情成人在线| 久久久视频精品| 国产麻豆午夜三级精品| 男女精品网站| 欧美日韩一区二区在线视频| 亚洲精品激情| 欧美日韩第一区| 午夜精品在线视频| 狠狠网亚洲精品| 欧美一级专区免费大片| 国产噜噜噜噜噜久久久久久久久| 欧美激情中文不卡| 亚洲欧美国产不卡| 国产精品毛片大码女人| 午夜精品一区二区在线观看| 一区在线影院| 玖玖在线精品| 国产农村妇女毛片精品久久麻豆| 国产综合色在线视频区| 久久综合久久综合久久综合| 亚洲肉体裸体xxxx137| 亚洲伦理久久| 国产一区二区三区久久久久久久久| 欧美日韩国产在线播放| 久久成人这里只有精品| 国产精品制服诱惑| 国产一区二区三区精品久久久| 免费欧美高清视频| 欧美在线综合视频| 狠狠色综合播放一区二区| 国产精品嫩草影院av蜜臀| 欧美日韩天天操| 国产精品乱码人人做人人爱| 欧美激情精品久久久久久大尺度| 国产精品呻吟| 国产欧美一区二区三区国产幕精品| 亚洲女同精品视频| 欧美涩涩视频| 亚洲伦理在线| 在线观看国产一区二区| 亚洲人精品午夜| 欧美日韩在线播放三区| 国产农村妇女毛片精品久久莱园子| 在线亚洲成人| 91久久精品视频| 国产亚洲一级高清| 欧美精品 日韩| 亚洲国产成人不卡| 久久成人这里只有精品| 亚洲欧美变态国产另类| 久久激情婷婷| 久久婷婷蜜乳一本欲蜜臀| 亚洲大胆视频| 国产精品a级| 久久久久久久欧美精品| 欧美专区在线观看一区| 99精品久久久| 亚洲网站视频| 免费人成网站在线观看欧美高清| 久久精品国产免费观看| 欧美在现视频| 亚洲第一区色| 国产麻豆精品视频| 在线亚洲成人| 国产欧美婷婷中文| 欧美日韩国产在线播放网站| 欧美成人一区二区| 欧美在线一级va免费观看| 欧美在线一级va免费观看| 久久精品国产清高在天天线| 亚洲午夜久久久| 国产精品v亚洲精品v日韩精品| 国产视频久久久久| 影院欧美亚洲| 亚洲国产精品女人久久久| 国产精品99久久久久久久vr| 久久久久在线观看| 亚洲人成网站精品片在线观看| 在线免费精品视频| 国产精品日韩精品欧美精品| 91久久精品国产91性色tv| 国产精品免费一区豆花| 一区二区在线视频观看| 国内外成人免费激情在线视频网站| 午夜精品影院| 亚洲激情图片小说视频| 欧美日韩高清在线播放| 欧美顶级大胆免费视频| 欧美激情bt| 国产日韩一区二区三区在线| 99天天综合性| 欧美国产综合视频| 亚洲九九精品| 亚洲一区二区三区在线播放| 国产色视频一区| 影视先锋久久| 欧美日韩一区免费| 久久久亚洲午夜电影| 久久手机精品视频| 久久综合九色综合欧美狠狠| 尤物在线精品| 国产麻豆9l精品三级站| 国产精品yjizz| 国内精品**久久毛片app| 亚洲欧美日韩精品久久奇米色影视| 女人色偷偷aa久久天堂| 免费日韩精品中文字幕视频在线| 一区二区三区av| 国产小视频国产精品| 欧美日韩免费高清一区色橹橹| 国产精品男gay被猛男狂揉视频| 国产综合久久久久影院| 欧美日韩国产精品一卡| 久久久综合香蕉尹人综合网| 国产精品久久久久久久久久直播| 欧美精彩视频一区二区三区| 亚洲国产欧洲综合997久久| 国产精品麻豆va在线播放| 国产日韩久久| 最近中文字幕mv在线一区二区三区四区| 亚洲欧美激情视频| 欧美黄色影院| 亚洲欧美日韩国产一区二区三区| 亚洲一区二区三区四区在线观看| 国产精品swag| 亚洲欧洲日产国产网站| 久久婷婷综合激情| 亚洲大片一区二区三区| 亚洲女人天堂成人av在线| 国产日韩专区在线| 国产日本欧美一区二区| 国产精品久久久免费| 亚洲视频日本| 欧美精品少妇一区二区三区| 一区二区久久| 国产精品看片你懂得| 国产亚洲一区二区三区| 亚洲国内在线| 日韩亚洲在线| 一区二区电影免费在线观看| 国产精品一区二区三区久久| 欧美大尺度在线| 国产在线观看精品一区二区三区| 国产精品亚洲а∨天堂免在线| 宅男噜噜噜66一区二区66| 久久久久久久高潮| 鲁鲁狠狠狠7777一区二区| 欧美国产一区二区在线观看| 亚洲系列中文字幕| 亚洲欧美资源在线| 美女视频一区免费观看| 久久国产精品免费一区| 国产欧美日韩不卡免费| 国产精品青草久久久久福利99| aa国产精品| 久久综合国产精品台湾中文娱乐网| 国产色视频一区| 亚洲精品美女久久久久| 欧美日韩亚洲高清一区二区| 欧美成人免费大片| 国产精品久久久久9999高清| 香蕉成人啪国产精品视频综合网| 久久婷婷国产综合精品青草| 欧美精品一区二区在线观看| 国产精品国产成人国产三级| 国产精品久久久久久五月尺| 99综合电影在线视频| 欧美日韩一区在线观看视频| 国产午夜精品一区二区三区视频| 蜜臀99久久精品久久久久久软件| 午夜在线一区二区| 浪潮色综合久久天堂| 一区二区日本视频| 欧美伊人久久久久久午夜久久久久| 国产一区二区三区四区五区美女| 国内精品久久久久久久97牛牛| 欧美一级理论性理论a| 免费成人av| 久久久亚洲影院你懂的| 亚洲天堂av电影| 欧美日韩在线免费| 国产日韩综合一区二区性色av| 欧美日韩国产免费观看| 一区二区三区免费看| 欧美色欧美亚洲高清在线视频| 亚洲精品美女91| 国产欧美精品日韩区二区麻豆天美| 国产精品亚洲人在线观看| 亚洲国产视频一区二区| 欧美色精品在线视频| 国产精品久久久久久久久免费| 亚洲视频一区二区免费在线观看| 亚洲人成高清| 亚洲天堂av在线免费| 欧美韩日亚洲| 欧美一区二区精品在线| 国产女主播一区二区三区| 亚洲免费av观看| 国产精品美女午夜av| 国产精品一二三四区| 国产精品视频免费在线观看| 国产欧美一区二区三区久久人妖| 亚洲国产日韩在线一区模特| 亚洲乱亚洲高清| 国产欧美精品xxxx另类| 久久国产日韩欧美| 欧美日韩精品欧美日韩精品| 性欧美办公室18xxxxhd| 日韩视频免费观看高清完整版| 欧美在线一级va免费观看| 在线观看视频亚洲| 国产精品美女久久福利网站| 日韩亚洲欧美精品| 99精品国产99久久久久久福利| 亚洲成色777777在线观看影院| 国产精品一区二区久久久久| 国产精品二区三区四区| 一本色道精品久久一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 国产乱码精品1区2区3区| 欧美激情成人在线视频| 亚洲福利视频网站| 亚洲免费视频网站| 欧美日韩三级电影在线| 久久综合网hezyo|