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

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

?? main.cpp

?? 轉載: DSP串口硬件SPI接口LCD12864顯示C++程序代碼 細描述: 終于把5409的McBSP的配置搞清楚了!現在就把我做的寫出來
?? CPP
字號:
/*-----------------------------------------
  DSP菜鳥的第1個通過實驗的DSP C++演示程序
菜農 HotPower@126.com 

2005.6.26   15:58    于西安大雁塔村隊部

菜地: http://hotpower.21ic.org
-----------------------------------------*/
#include <cstdio> //C語言可以用stdio.h
#include <cstring>//C語言可以用string.h
#include "C5402DEF.h"//DSP菜鳥HotPower創建
#include "class.h"

#define ccsdebug 0//1--IO模擬SPI;  0--硬件McBSP模塊

extern "C" interrupt void Timer0Isr();//注意加extern "C"
extern "C" interrupt void Timer1Isr();

extern "C" interrupt void Eint0Isr();
extern "C" interrupt void Eint1Isr();
extern "C" interrupt void Eint2Isr();
extern "C" interrupt void Eint3Isr();


SystemObj::SystemObj(void)
{
  Disable();//關中斷
  SREG->IMR = 0x0000;//
  SREG->IFR = 0xffff;
//設置0x0080為中斷向量表首址,在第2個128頁內。
  SREG->PMST = (0x01 << PMST_IPTR) | (1 << PMST_MP_MC) | (1 << PMST_OVLY);
//  SREG->PMST |= (1 << PMST_DROM);//數據可const. 
/*---------------------------------------------------------------------------
若:設置0x0100為中斷向量表首址,在第3個128頁內。
則:*.cmd文件應該改為:
     PAGE 0: VECS: origin=0x0100,  length=0x66
則:
  SREG->PMST = (0x02 << PMST_IPTR) | (1 << PMST_MP_MC) | (1 << PMST_OVLY);
----------------------------------------------------------------------------*/
  SystemInit();//系統初始化
}

void SystemObj::SystemInit(void)
{
  PllInit();//PLL初始化
  TIMER0Init();
  TIMER1Init();
  EintInit();
/*--------------------------------------------------------
  注意以下2個變量的作用域的不同
--------------------------------------------------------*/  
  if (::SystemRamTest != 0x55aa) {//全局變量SystemRamTest
    ::SystemRamTest = 0x55aa;//改寫全局變量
  }
  if (SystemRamTest != 0x55aa) {//類成員變量SystemRamTest
    SystemRamTest = 0x55aa;//改寫類成員變量
  }
  ::IOXF = 0;
}

void SystemObj::PllInit(void)
{
volatile unsigned int start;
  SREG->SWWSR = 0x2000;
  do {
    SREG->CLKMD = 0;
    __nop(); 
  }
  while(SREG->CLKMD & (1 << CLKMD_PLLSTATUS));
//  SREG->CLKMD = (0 << CLKMD_PLLMUL) | (30 << CLKMD_PLLCOUNT) | (1 << CLKMD_PLLONOFF) | (1 << CLKMD_PLLNDIV) | (1 << CLKMD_PLLSTATUS);//10M
  SREG->CLKMD = (9 << CLKMD_PLLMUL) | (30 << CLKMD_PLLCOUNT) | (1 << CLKMD_PLLONOFF) | (1 << CLKMD_PLLNDIV) | (1 << CLKMD_PLLSTATUS);//100M
//  SREG->CLKMD = (14 << CLKMD_PLLMUL) | (30 << CLKMD_PLLCOUNT) | (1 << CLKMD_PLLONOFF) | (1 << CLKMD_PLLNDIV) | (1 << CLKMD_PLLSTATUS);//150M
  for (start = 0; start < 10000; start ++);//等待外設上電復位正常結束
}

void SystemObj::TIMER0Init(void)
{
  TIMER0->TCR |= (1 << TCR_TSS);//關閉定時器0
  TIMER0->PRD = 60000;//設置定時周期
  TIMER0->TCR &= ~(1 << TCR_TSS);//啟動定時器0
  SREG->IMR |= (1 << IMR_TINT0);//允許TINT0中斷
}

void SystemObj::TIMER1Init(void)
{
  TIMER1->TCR |= (1 << TCR_TSS);//關閉定時器1
  TIMER1->PRD = 55000;//設置定時周期
  TIMER1->TCR &= ~(1 << TCR_TSS);//啟動定時器1
  SREG->IMR |= (1 << IMR_TINT1);//允許TINT1中斷
}

void SystemObj::EintInit(void)
{
  SREG->IMR |= (1 << IMR_INT0);//允許INT0中斷
  SREG->IMR |= (1 << IMR_INT1);//允許INT1中斷
  SREG->IMR |= (1 << IMR_INT2);//允許INT2中斷
  SREG->IMR |= (1 << IMR_INT3);//允許INT3中斷
}



LcdObj::LcdObj(void)
{
  LcdInit();
}

void LcdObj::LcdSpiSetup(void)
{
#if (ccsdebug == 0)
/*-----------------------------------------------------------
  硬件McBSP模塊配置為SPI接口
實驗目的:
  演練硬件McBSP模塊配置為SPI接口的應用。
------------------------------------------------------------*/
  McBSP1->SPSA = SPCR1;
  McBSP1->SPSD = 0;
//  McBSP1->SPSD &= ~(1 << SPCR1_RRST);//禁止串口接收
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SPCR2;
  McBSP1->SPSD = 0;
//  McBSP1->SPSD &= ~(1 << SPCR2_XRST);//禁止串口發送
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SPCR1;
  McBSP1->SPSD = (0x02 << SPCR1_CLKSTP);//CLKSTP=10b
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = PCR;
  McBSP1->SPSD = (1 << PCR_FSXM)  //設置FSX引腳為輸出,控制LCD12864的片選信號SS
               | (0 << PCR_FSXP)  //FSX引腳平時輸出低電平(LCD12864的片選信號SS無效)
               | (1 << PCR_CLKXM) //設置CLKX引腳為輸出
               | (1 << PCR_CLKXP);//CLKXP引腳平時輸出高電平
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SRGR1;
  McBSP1->SPSD = (0x07 << SRGR1_FWID)   //0x00~0x07~0xff 
               | (0x80 << SRGR1_CLKGDV);//速率0x80
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SRGR2;
  McBSP1->SPSD = (1 << SRGR2_CLKSM);//
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = RCR1;
  McBSP1->SPSD = (0x00 << RCR1_RFRLEN1);//8BIT
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = XCR1;//延時等待
  McBSP1->SPSD = (0x00 << XCR1_RFRLEN1);//8BIT
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = RCR2;
  McBSP1->SPSD = (0x02 << RCR2_RDATDLY);//0x01
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = XCR2;
  McBSP1->SPSD = (0x02 << XCR2_RDATDLY);//0x01
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SPCR2;
  McBSP1->SPSD |= (1 << SPCR2_GRST) | (1 << SPCR2_XRST) | (1 << SPCR2_FRST);
  _delay_loop_(1);//延時等待
#else
/*-----------------------------------------------------------
  硬件McBSP模塊配置為普通IO軟件模擬SPI時序
實驗目的:
  演練硬件McBSP模塊配置為普通IO的應用.以備IO緊缺時急用。
------------------------------------------------------------*/
  McBSP1->SPSA = SPCR1;
  McBSP1->SPSD = 0;
  McBSP1->SPSD &= ~(1 << SPCR1_RRST);//禁止串口接收
  McBSP1->SPSA = SPCR2;
  McBSP1->SPSD = 0;
  McBSP1->SPSD &= ~(1 << SPCR2_XRST);//禁止串口發送
  McBSP1->SPSA = PCR;
  McBSP1->SPSD = (1 << PCR_XIOEN) | (1 << PCR_RIOEN);//設置收發為IO接口,DX輸出,DR,CLKS輸入
  McBSP1->SPSD |= (1 << PCR_FSXM) | (1 << PCR_CLKXM);//設置FSX,CLKX可做IO輸出
  McBSP1->SPSD |= (1 << PCR_FSRM) | (1 << PCR_CLKRM);//設置FSR,CLKR可做IO輸出
  McBSP1->SPSD &= ~(1 << PCR_FSXP);//FSX信號=0
  McBSP1->SPSD |= (1 << PCR_CLKXP);//CLKX信號=1
  McBSP1->SPSD |= (1 << PCR_DX_STAT);//DX信號=1
#endif
}

void LcdObj::LcdInit(void)
{
  _delay_loop_(1000);//延時等待
  LcdSpiSetup();
/*--------------------------------------------------- 
    LCD模塊上電等待延時 
----------------------------------------------------*/ 
  _delay_loop_(1000);//延時等待
  LcdClearBuffer();
  LcdSendCommand(0x20);//發送4位控制命令 
//  LcdSendCommand(0x30);//發送8位控制命令//與8位4位無關!!! 
  LcdSendCommand(0x02);//發送位址歸位命令,設定DDRAM位址計數器為0 
  LcdSendCommand(0x04);//發送進入點命令 
  LcdSendCommand(0x0c);//發送開顯示關光標命令 
  LcdSendCommand(0x01);//發送清除顯示命令 
  LcdSendCommand(0x80);//發送設定DDRAM地址0x00命令 
//Keil C51漢字0xfd出錯測試	   
//  SetLcdDisplayPos(0, 0);//漢字定位到上行左端
//  LcdDisplay("褒餅昌除待諜洱俘");
//  LcdDisplay("1234567812345678");
  SetLcdDisplayPos(1, 0);//漢字定位到上行左端
  LcdDisplay("庚過糊積箭燼君魁");
//  LcdDisplay("1234567812345678");
  SetLcdDisplayPos(2, 0);//漢字定位到上行左端
  LcdDisplay("例籠慢謬凝琵訖驅");
//  LcdDisplay("1234567812345678");
  SetLcdDisplayPos(3, 0);//漢字定位到上行左端
//  LcdDisplay("三升數她聽妄錫淆");
  LcdDisplay("1234567812345678");
}

void LcdObj::LcdSend(unsigned char cData)
{
  cData &= 0xff;
#if (ccsdebug == 0)
  McBSP1->DXR1 = cData;//發送串行數據或命令
  _delay_loop_(1);//延時等待
  McBSP1->SPSA = SPCR2;
  while((McBSP1->SPSD & (1 << SPCR2_XRDY)) == 0) {//等待發送結束
    __nop();
    __nop();
  }
  _delay_loop_(1);//延時等待
#else  
unsigned int i;
  McBSP1->SPSA = PCR;
  for (i = 0; i < 8; i ++) {
    McBSP1->SPSD &= ~(1 << PCR_CLKXP);//CLKX信號=0
    _delay_loop_(1);//延時等待
    if (cData & 0x80) {//MSB最高位為1時
      McBSP1->SPSD |= (1 << PCR_DX_STAT);//DX信號=1
	}
	else {
      McBSP1->SPSD &= ~(1 << PCR_DX_STAT);//DX信號=0
	}
	cData <<= 1;
    _delay_loop_(1);//延時等待
    McBSP1->SPSD |= (1 << PCR_CLKXP);//CLKX信號=1
    _delay_loop_(1);//延時等待
  }	
  McBSP1->SPSD |= (1 << PCR_DX_STAT);//DX信號=1
  _delay_loop_(1);//延時等待
#endif  
}

/*--------------------------------------------------------
    發送8位LCD控制命令
--------------------------------------------------------*/
//__inline
void LcdObj::LcdSendCommand(unsigned char cCommand)
{
/*--------------------------------------------------------
    發送同步脈沖11111 WR(0) RS(0) 0發送順序從左至右)
--------------------------------------------------------*/
#if (ccsdebug == 1)
  McBSP1->SPSD |= (1 << PCR_FSXP);//IO模擬控制FSX信號=1
  _delay_loop_(1);//延時等待
#endif
  LcdSend(0xf8);//發送LCD控制命令
  LcdSend(cCommand & 0xf0);//發送高4位LCD控制命令
  LcdSend((cCommand << 4) & 0xff);//發送低4位LCD控制命令
#if (ccsdebug == 1)
  McBSP1->SPSD &= ~(1 << PCR_FSXP);//IO模擬控制FSX信號=0
#endif
  if (cCommand == 0x01) _delay_loop_(160);//延時等待
  else _delay_loop_(72);//st7920要求等待72uS
}

/*--------------------------------------------------------
    發送8位LCD顯示數據
--------------------------------------------------------*/
//__inline
void LcdObj::LcdSendData(unsigned char cData)
{
  cData &= 0xff;
/*--------------------------------------------------------
    發送同步脈沖11111 WR(0) RS(0) 0發送順序從左至右)
--------------------------------------------------------*/
#if (ccsdebug == 1)
  McBSP1->SPSD |= (1 << PCR_FSXP);//IO模擬控制FSX信號=1
  _delay_loop_(1);//延時等待
#endif
  LcdSend(0xfa);//發送LCD顯示數據
  LcdSend((cData & 0xf0) & 0xff);//發送高4位LCD顯示數據
  LcdSend((cData << 4) & 0xff);//發送低4位LCD顯示數據
#if (ccsdebug == 1)
  McBSP1->SPSD &= ~(1 << PCR_FSXP);//IO模擬控制FSX信號=0
#endif
  _delay_loop_(72);//st7920要求等待延時72uS
}

//__inline
void LcdObj::SetLcdDisplayPos(unsigned int row, unsigned int col)
{
  row &= 0x03;//LCD12864為4行漢字
  col &= 0x0f;//每行8個漢字16個字符
  LcdRow = row;
  LcdCol = col;
  LcdRowWriteEnable[row] = true;//允許此行刷新漢字顯示
}

//__inline
void LcdObj::LcdClearBuffer(void)
{
unsigned int i, j;
  for (i = 0;i < 4;i ++) {
    for (j = 0;j < 16; j ++) {
      LcdBuffer[i][j] = ' ';
    }
    LcdRowWriteEnable[i] = true;//允許此行刷新漢字顯示
  }
  LcdRow = 0;
  LcdCol = 0;
}

//__inline
void LcdObj::LcdDisplayBuffer(void)
{
unsigned int i, j;
  for (i = 0; i < 4; i ++) {//LCD12864為4行漢字
    if (LcdRowWriteEnable[i]) {//允許此行刷新漢字顯示
      LcdSendCommand(0x80 + (i & 1) * 16 + (i >> 1) * 8);//移動光標
      _delay_loop_(1);//延時等待
      for (j = 0; j < 16; j ++) {//每行8個漢字16個字符
        LcdSendData(LcdBuffer[i][j]);//刷新顯示字符
        _delay_loop_(1);//延時等待
      }
	  LcdRowWriteEnable[i] = false;//過后不允許此行刷新漢字顯示
      _delay_loop_(1);//延時等待
	}
  }
}

//__inline
void LcdObj::LcdDisplay(const char * string)
{
  while(*string) {
    LcdBuffer[LcdRow][LcdCol ++] = (unsigned char)*string ++;
  }
}

void LcdObj::LcdDisplay(unsigned char hexstr[], unsigned int len)
{
unsigned char ch;
  for (int i = 0; i < len; i ++) {
    ch = *hexstr++;
	if (ch < 0xa0) {
      LcdBuffer[LcdRow][LcdCol ++] = (ch >> 4) + '0';
	}
	else {
      LcdBuffer[LcdRow][LcdCol ++] = (ch >> 4) - 10 + 'A';
	}
	if ((ch & 0x0f) < 0x0a) {
      LcdBuffer[LcdRow][LcdCol ++] = (ch & 0x0f) + '0';
	}
	else {
      LcdBuffer[LcdRow][LcdCol ++] = (ch & 0x0f) - 10 + 'A';
	}
  }
}


SystemObj Sys;
LcdObj Lcd;

int main(void)
{
  Enable();//開中斷
  while(1)
  {
    if (::IOXF) {
      SREG->ST1 |= (1 << ST1_XF);
    }
    else {
      SREG->ST1 &= ~(1 << ST1_XF);
    }
    idle();
  }
}

interrupt void Timer0Isr() {
static int count = 0;
static int ledcount = 0;
char str[17];
  count ++;
  if (count >= 500) {
    count = 0;
    Lcd.SetLcdDisplayPos(0, 0);
	std::sprintf(str, "ledcount=%04X  ", ledcount >> 2);//注意std::
    Lcd.LcdDisplay(str);
    Lcd.LcdDisplayBuffer();//刷新LCD顯示緩沖區
    Lcd.SetLcdDisplayPos(3, 0);
    if ((ledcount & 0x03) == 0) {
      Lcd.LcdDisplay("12345678");
      Lcd.SetLcdDisplayPos(3, 8);
      Lcd.LcdDisplay("我暈倒了");
    }
    else {
      Lcd.LcdDisplay("你在倒塌");
      Lcd.SetLcdDisplayPos(3, 8);
      Lcd.LcdDisplay("87654321");
    }
    ::IOXF = !::IOXF;//郁悶~~~中斷中ST1被保護~~~
    ledcount ++;
  }
}

interrupt void Timer1Isr() {//只運行1次
  Lcd.SetLcdDisplayPos(1, 0);
  Lcd.LcdDisplay("定時器一終于倒塌");
  TIMER1->TCR |= (1 << TCR_TSS);//關閉啟動定時器1(自毀)
}

interrupt void Eint0Isr() {
  Lcd.SetLcdDisplayPos(2, 0);
  Lcd.LcdDisplay("歡迎INT0中斷觀光");
  SREG->IFR = (1 << IFR_INT0);//清除INT0中斷標志
}

interrupt void Eint1Isr() {
  Lcd.SetLcdDisplayPos(2, 0);
  Lcd.LcdDisplay("歡迎INT1中斷觀光");
  SREG->IFR = (1 << IFR_INT1);//清除INT1中斷標志
}

interrupt void Eint2Isr() {
  Lcd.SetLcdDisplayPos(2, 0);
  Lcd.LcdDisplay("歡迎INT2中斷觀光");
  SREG->IFR = (1 << IFR_INT2);//清除INT2中斷標志
}

interrupt void Eint3Isr() {
  Lcd.SetLcdDisplayPos(2, 0);
  Lcd.LcdDisplay("歡迎INT3中斷觀光");
  SREG->IFR = (1 << IFR_INT3);//清除INT3中斷標志
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品白丝在线| 国产精品久久精品日日| 亚洲色图清纯唯美| 免费成人在线网站| 在线观看亚洲a| 中文字幕第一区综合| 麻豆成人av在线| 欧美性色黄大片手机版| 亚洲国产经典视频| 久久精品国产一区二区三区免费看| 91丨porny丨蝌蚪视频| 久久蜜臀中文字幕| 免费成人结看片| 在线观看av不卡| 亚洲视频免费观看| 国产激情一区二区三区| 日韩一区二区三区av| 亚洲一区二区中文在线| 91丨porny丨最新| 国产精品你懂的| 激情伊人五月天久久综合| 欧美精品一级二级三级| 亚洲线精品一区二区三区| 成人黄页毛片网站| 国产色综合久久| 国产一区二区三区电影在线观看| 日韩一区二区三区高清免费看看| 婷婷综合在线观看| 欧美色爱综合网| 亚洲无人区一区| 欧美图片一区二区三区| 亚洲人精品午夜| 91捆绑美女网站| 亚洲欧美中日韩| 91在线视频网址| 国产精品成人免费| 国产.欧美.日韩| 国产精品日韩成人| 成人av在线网站| 国产精品精品国产色婷婷| 成人av网站大全| 亚洲欧洲日本在线| 99国产精品久久久久久久久久| 国产精品毛片高清在线完整版| 国产91精品欧美| 欧美国产日本韩| 99国产精品久久久久久久久久 | 欧美日韩精品一区视频| 1000精品久久久久久久久| 91首页免费视频| 一区二区成人在线| 欧美精品一卡两卡| 久久精品99国产精品日本| 精品卡一卡二卡三卡四在线| 国内一区二区视频| 中国色在线观看另类| 91在线看国产| 亚洲最新在线观看| 69久久99精品久久久久婷婷 | 国产精品毛片久久久久久| 波波电影院一区二区三区| 亚洲精品成a人| 欧美日韩一级黄| 美洲天堂一区二卡三卡四卡视频 | 在线看不卡av| 五月天丁香久久| 欧美精品一区男女天堂| 成人夜色视频网站在线观看| 亚洲日本乱码在线观看| 欧美午夜不卡视频| 久久精品国产亚洲一区二区三区 | 欧美群妇大交群中文字幕| 蜜臀av性久久久久蜜臀aⅴ流畅 | 色偷偷成人一区二区三区91| 亚洲电影中文字幕在线观看| 欧美一区二区啪啪| 成人小视频免费在线观看| 亚洲精品精品亚洲| 欧美一级夜夜爽| 成人综合婷婷国产精品久久| 亚洲激情中文1区| 欧美一二三四区在线| 国产精品一区二区黑丝| 亚洲免费观看高清在线观看| 在线电影欧美成精品| 国产一区免费电影| 亚洲欧洲制服丝袜| 日韩视频一区二区三区| 国产成人精品三级麻豆| 亚洲国产成人porn| 久久色中文字幕| 在线观看免费视频综合| 国模大尺度一区二区三区| 亚洲日本韩国一区| 欧美v亚洲v综合ⅴ国产v| 一本到一区二区三区| 美女精品一区二区| 亚洲精品国产无天堂网2021| 精品日韩欧美在线| 欧美亚洲国产一卡| 国产成人久久精品77777最新版本| 一区二区三区丝袜| 久久久精品国产99久久精品芒果 | 成人在线视频一区| 日本欧美在线观看| 中文字幕制服丝袜一区二区三区| 欧美一二三区在线观看| 色哟哟一区二区在线观看 | 亚洲一区在线电影| 欧美激情一区二区三区全黄| 欧美精品高清视频| 99国产欧美久久久精品| 国产一区91精品张津瑜| 天天色图综合网| 亚洲美女在线一区| 欧美国产视频在线| 欧美r级电影在线观看| 欧美午夜在线一二页| 成人av电影免费观看| 国产一区二区三区国产| 日本亚洲欧美天堂免费| 一区二区三区产品免费精品久久75| 久久久久久久国产精品影院| 欧美蜜桃一区二区三区 | 美女任你摸久久| 亚洲福中文字幕伊人影院| 亚洲欧美中日韩| 国产亚洲精品aa| 91精品在线观看入口| 日本丶国产丶欧美色综合| 激情综合网av| 男女激情视频一区| 亚洲观看高清完整版在线观看| 中文字幕一区二区三区不卡在线 | 日韩视频在线观看一区二区| 欧美日韩一区二区三区四区五区| 色综合欧美在线视频区| 成人av免费在线观看| 国产**成人网毛片九色 | 亚洲午夜视频在线| 亚洲欧美一区二区三区久本道91| 久久精品视频免费观看| 2017欧美狠狠色| 精品91自产拍在线观看一区| 日韩一区二区精品| 国产欧美精品区一区二区三区 | 欧美日韩一本到| 欧美午夜宅男影院| 欧美主播一区二区三区| 在线免费观看不卡av| 一本一道久久a久久精品综合蜜臀| av一区二区三区| 99精品视频在线观看免费| 成人免费三级在线| av一区二区三区在线| 99久久免费视频.com| av中文字幕在线不卡| av一本久道久久综合久久鬼色| 成人自拍视频在线观看| 成人av第一页| 91浏览器入口在线观看| 色av一区二区| 欧美日韩黄色一区二区| 欧美高清激情brazzers| 制服丝袜成人动漫| 制服.丝袜.亚洲.中文.综合| 欧美一级日韩不卡播放免费| 欧美xxxxxxxxx| 欧美国产日本视频| 亚洲欧美视频在线观看视频| 亚洲激情av在线| 午夜欧美在线一二页| 日本成人在线看| 国产一区二区女| 成人国产精品免费观看视频| 91视频免费观看| 欧美喷水一区二区| 日韩欧美第一区| 国产三级一区二区| 亚洲欧美在线观看| 午夜伊人狠狠久久| 九九视频精品免费| 成人黄色软件下载| 在线精品观看国产| 日韩欧美高清dvd碟片| 国产午夜精品一区二区三区嫩草| 亚洲欧洲精品一区二区三区| 亚洲综合成人在线| 久久99日本精品| 成人综合在线网站| 欧美日韩另类国产亚洲欧美一级| 欧美一区三区二区| 国产欧美日韩麻豆91| 一区二区三区四区在线播放| 美女网站色91| 99国产精品99久久久久久| 51午夜精品国产| 国产日韩三级在线| 亚洲成a人v欧美综合天堂下载 | 欧美区在线观看|