久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10224|回復: 4
打印 上一主題 下一主題
收起左側

LD3320語音識別源碼(51單片機+STM32)資料下載

[復制鏈接]
跳轉到指定樓層
樓主
史上最全!!!LD3320語音識別模塊資料,經測試,本資料是沒問題,壓縮包里包含原理圖,接線圖,以及LD3320芯片手冊和PCB庫參考文件等諸多資料


1、本程序工程采用keil4編譯通過,如打不開或出現錯誤,請按照keil 4編譯器。

電路原理圖如下:


stm32單片機程序源程序如下:
  1. /***************************飛音云電子****************************
  2. **  文件名稱:LDV4語音識別開發板 基礎版驅動程序
  3. **        CPU: STM32f103RCT6
  4. **        晶振:8MHZ
  5. **        波特率:9600 bit/S
  6. **  說明:本程序 具備語音識別、串口通信、開發板基本功能演示。
  7. ** 說明:本程序修改于 ICRoute公司 配套的源程序,版權歸其所有。
  8. ***************************飛音云電子******************************/
  9. #include "includes.h"

  10. /*************端口信息********************
  11. * 接線說明
  12. LD3320接口           STM32接口
  13. * RST              PB6
  14. * CS                   PB8
  15. * WR/SPIS          PB9
  16. * P2/SDCK          PB3
  17. * P1/SDO           PB4
  18. * P0/SDI           PB5
  19. * IRQ              PC1
  20. * A0                        PB7
  21. * RD               PA0
  22. --------------------------
  23. * K1               RST (復位鍵)
  24. * K2               PA1 (U盤處罰按鍵)
  25. * K3               PA2 (未定義功能)

  26. * LED1             PC4 (流水燈)
  27. * LED2             PC2 (流水燈)
  28. * LED3             PC3 (流水燈)
  29. * LED4             PC0 (流水燈)
  30. *****************************************/



  31. /************************************************************************************
  32. //        nAsrStatus 用來在main主程序中表示程序運行的狀態,不是LD3320芯片內部的狀態寄存器
  33. //        LD_ASR_NONE:                表示沒有在作ASR識別
  34. //        LD_ASR_RUNING:                表示LD3320正在作ASR識別中
  35. //        LD_ASR_FOUNDOK:                表示一次識別流程結束后,有一個識別結果
  36. //        LD_ASR_FOUNDZERO:        表示一次識別流程結束后,沒有識別結果
  37. //        LD_ASR_ERROR:                表示一次識別流程中LD3320芯片內部出現不正確的狀態
  38. *********************************************************************************/

  39. uint8 nAsrStatus=0;        
  40. void LD3320_Init(void);
  41. uint8 RunASR(void);
  42. void ProcessInt0(void);
  43. void LD3320_EXTI_Cfg(void);
  44. void LD3320_Spi_cfg(void);
  45. void LD3320_GPIO_Cfg(void);
  46. void LED_gpio_cfg(void);
  47. extern void PrintComBit(USART_TypeDef* USARTx, uint8_t Data);
  48. /***********************************************************
  49. * 名    稱: LD3320_main(void)
  50. * 功    能: 主函數LD3320程序入口
  51. * 入口參數:  
  52. * 出口參數:
  53. * 說    明:
  54. * 調用方法:
  55. **********************************************************/
  56. void  LD3320_main(void)
  57. {
  58.         uint8 nAsrRes=0;
  59.         LD3320_Init();         
  60.         Glide_LED();
  61.         while(1)
  62.         {
  63.             switch(nAsrStatus)
  64.                 {
  65.                         case LD_ASR_RUNING:
  66.                         case LD_ASR_ERROR:               
  67.                                                           break;
  68.                         case LD_ASR_NONE:
  69.                                                                 nAsrStatus=LD_ASR_RUNING;
  70.                                                                 if (RunASR()==0)        //        啟動一次ASR識別流程:ASR初始化,ASR添加關鍵詞語,啟動ASR運算
  71.                                                                 {               
  72.                                                                         nAsrStatus = LD_ASR_ERROR;
  73.                                                                 }
  74.                                                                 break;

  75.                         case LD_ASR_FOUNDOK:
  76.                                                                  nAsrRes = LD_GetResult( );        //識別成功自動 獲取識別碼,識別碼在LDChip.h文件中,自行定義的數據                                                                                                                                                         
  77.                                                                  PrintComBit(USART1,nAsrRes ); //串口輸出識別碼                                                               
  78.                                                                  Board_text(nAsrRes );//開發板測試演示部分---對識別碼的進行判斷做出動作 (用戶亦可以添加自己的功能,例如控制IO口輸出,串口數據輸出等)               
  79.                                                                  nAsrStatus = LD_ASR_NONE;
  80.                                                                 break;
  81.                         
  82.                         case LD_ASR_FOUNDZERO:
  83.                         default: nAsrStatus = LD_ASR_NONE;
  84.                                          break;
  85.                         }//switch        
  86.         }// while

  87. }
  88. /***********************************************************
  89. * 名    稱:LD3320_Init(void)
  90. * 功    能:模塊驅動端口初始配置
  91. * 入口參數:  
  92. * 出口參數:
  93. * 說    明:
  94. * 調用方法:
  95. **********************************************************/
  96. void LD3320_Init(void)
  97. {
  98.         LD3320_GPIO_Cfg();        
  99.         LD3320_EXTI_Cfg();
  100.         LD3320_Spi_cfg();         
  101.         LED_gpio_cfg();
  102.         LD_reset();
  103.         
  104. }
  105. /***********************************************************
  106. * 名    稱:        RunASR(void)
  107. * 功    能:        運行ASR
  108. * 入口參數:  
  109. * 出口參數:
  110. * 說    明:
  111. * 調用方法:
  112. **********************************************************/
  113. uint8 RunASR(void)
  114. {
  115.         uint8 i=0;
  116.         uint8 asrflag=0;
  117.         for (i=0; i<5; i++)                        //        防止由于硬件原因導致LD3320芯片工作不正常,所以一共嘗試5次啟動ASR識別流程
  118.         {
  119.                 LD_AsrStart();                        //初始化ASR
  120.                 LD3320_delay(100);
  121.                 if (LD_AsrAddFixed()==0)        //添加關鍵詞語到LD3320芯片中
  122.                 {
  123.                         LD_reset();                        //        LD3320芯片內部出現不正常,立即重啟LD3320芯片
  124.                         LD3320_delay(50);                        //        并從初始化開始重新ASR識別流程
  125.                         continue;
  126.                 }

  127.                 LD3320_delay(10);

  128.                 if (LD_AsrRun() == 0)
  129.                 {
  130.                         LD_reset();                        //        LD3320芯片內部出現不正常,立即重啟LD3320芯片
  131.                         LD3320_delay(50);                        //        并從初始化開始重新ASR識別流程
  132.                         continue;
  133.                 }

  134.                 asrflag=1;
  135.                 break;                                        //        ASR流程啟動成功,退出當前for循環。開始等待LD3320送出的中斷信號
  136.         }

  137.         return asrflag;
  138. }

  139. /***********************************************************
  140. * 名    稱: void Delay_( int i)
  141. * 功    能: 短延時
  142. * 入口參數:  
  143. * 出口參數:
  144. * 說    明:
  145. * 調用方法:
  146. **********************************************************/
  147. void Delay_( int i)
  148. {     
  149.     while( i--)
  150.        {        

  151.         }
  152. }        
  153. /***********************************************************
  154. * 名    稱:        LD3320_delay(unsigned long uldata)
  155. * 功    能:        長延時函數
  156. * 入口參數:  
  157. * 出口參數:
  158. * 說    明:
  159. * 調用方法:
  160. **********************************************************/
  161. void  LD3320_delay(unsigned long uldata)
  162. {
  163.         unsigned int j  =  0;
  164.         unsigned int g  =  0;
  165.         for (j=0;j<5;j++)
  166.         {
  167.                 for (g=0;g<uldata;g++)
  168.                 {
  169.                         Delay_(120);
  170.                 }
  171.         }
  172. }


  173. /***********************************************************
  174. * 名    稱:LD3320_GPIO_Cfg(void)
  175. * 功    能:初始化需要用到的IO口
  176. * 入口參數:  
  177. * 出口參數:
  178. * 說    明:
  179. * 調用方法:
  180. **********************************************************/
  181. void LD3320_GPIO_Cfg(void)
  182. {        
  183.             GPIO_InitTypeDef GPIO_InitStructure;
  184.                 // 配置PA8 輸出         8M 波形        
  185.                 //定義RST/A0/CS端口
  186.          {
  187.                  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB ,ENABLE);
  188.                 //LD_CS        /RSET
  189.                 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;
  190.                 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  191.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  192.                 GPIO_Init(GPIOB,&GPIO_InitStructure);
  193.                 GPIO_SetBits(GPIOB,GPIO_Pin_7);        /*A0默認拉高*/
  194.          }
  195. }
  196. /***********************************************************
  197. * 名    稱:LD3320_Spi_cfg(void)
  198. * 功    能:配置SPI功能和端口初始化
  199. * 入口參數:  
  200. * 出口參數:
  201. * 說    明:
  202. * 調用方法:
  203. **********************************************************/
  204. void LD3320_Spi_cfg(void)
  205. {
  206.         SPI_InitTypeDef  SPI_InitStructure;
  207.         GPIO_InitTypeDef GPIO_InitStructure;
  208.   //spi端口配置
  209.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3 | RCC_APB2Periph_GPIOB,ENABLE);           //使能SPI3外設時鐘
  210.   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

  211.         //P0/P1/P2
  212.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_4 | GPIO_Pin_3;
  213.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  214.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  215.         GPIO_Init(GPIOB,&GPIO_InitStructure);

  216.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                        //spis 片選        WR
  217.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  218.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  219.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  220.   
  221.         LD_CS_H();
  222.         
  223.         //spi功能配置
  224.         SPI_Cmd(SPI3, DISABLE);
  225.         /* SPI3 配置 */
  226.         SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;   //全雙工
  227.         SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                                                   //主模式
  228.         SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                                           //8位
  229.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;                                                   //時鐘極性 空閑狀態時,SCK保持低電平
  230.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;                                                   //時鐘相位 數據采樣從第一個時鐘邊沿開始
  231.         SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                                                           //軟件產生NSS
  232.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;   //波特率控制 SYSCLK/128
  233.         SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;                                   //數據高位在前
  234.         SPI_InitStructure.SPI_CRCPolynomial = 7;                                                           //CRC多項式寄存器初始值為7
  235.         SPI_Init(SPI3, &SPI_InitStructure);
  236.         /* 使能SPI3 */
  237.         SPI_Cmd(SPI3, ENABLE);
  238. }
  239. /***********************************************************
  240. * 名    稱: LD3320_EXTI_Cfg(void)
  241. * 功    能: 外部中斷功能配置和相關端口配置
  242. * 入口參數:  
  243. * 出口參數:
  244. * 說    明:
  245. * 調用方法:
  246. **********************************************************/
  247. void LD3320_EXTI_Cfg(void)
  248. {
  249.   EXTI_InitTypeDef EXTI_InitStructure;
  250.         NVIC_InitTypeDef NVIC_InitStructure;
  251.   GPIO_InitTypeDef GPIO_InitStructure;

  252.   //定義IRQ中斷引腳配置
  253.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  254.   GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1;
  255.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  256.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  257.   GPIO_Init(GPIOC, &GPIO_InitStructure);
  258.         //外部中斷線配置
  259.   GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource1);
  260.   EXTI_InitStructure.EXTI_Line = EXTI_Line1;
  261.   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  262.   EXTI_InitStructure.EXTI_Trigger =EXTI_Trigger_Falling;
  263.   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  264.   EXTI_Init(&EXTI_InitStructure);
  265.   EXTI_GenerateSWInterrupt(EXTI_Line1);
  266.                
  267.         GPIO_SetBits(GPIOC,GPIO_Pin_1);         //默認拉高中斷引腳

  268.         EXTI_ClearFlag(EXTI_Line1);
  269.         EXTI_ClearITPendingBit(EXTI_Line1);
  270.         //中斷嵌套配置
  271.   NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;
  272.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  273.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  274.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  275.   NVIC_Init(&NVIC_InitStructure);
  276. }


  277. /***********************************************************
  278. * 名    稱:  EXTI1_IRQHandler(void)
  279. * 功    能: 外部中斷函數
  280. * 入口參數:  
  281. * 出口參數:
  282. * 說    明:
  283. * 調用方法:
  284. **********************************************************/
  285. void EXTI1_IRQHandler(void)
  286. {
  287.         if(EXTI_GetITStatus(EXTI_Line1)!= RESET )
  288.         {
  289.                  ProcessInt0();
  290.                 EXTI_ClearFlag(EXTI_Line1);
  291.                 EXTI_ClearITPendingBit(EXTI_Line1);
  292.         }
  293. }
復制代碼

51單片機程序:
  1. /*************************飛音云電子******************************************
  2. **        版權所有:Copyright (c) 2005 - 2010 ICRoute INC.
  3. **        CPU: STC89LE52
  4. **        晶振:22.1184MHZ
  5. **        波特率:9600 bit/S
  6. **  說明:本工程只具有 語音識別功能。屬基本驅動代碼,
  7.                                         附加串口、如不需要用到可
  8.                                         屏蔽刪除,根據需要自行移植到相關的單片機上。
  9. 本程序中帶/*text.....*///為串口打印輸出提示內容,查看工作狀態使用的,可以全部刪除

  10. /************************************************************************************/
  11. #include "config.h"

  12. /************************************************************************************/
  13. //        nAsrStatus 用來在main主程序中表示程序運行的狀態,不是LD3320芯片內部的狀態寄存器
  14. //        LD_ASR_NONE:                表示沒有在作ASR識別
  15. //        LD_ASR_RUNING:                表示LD3320正在作ASR識別中
  16. //        LD_ASR_FOUNDOK:                表示一次識別流程結束后,有一個識別結果
  17. //        LD_ASR_FOUNDZERO:        表示一次識別流程結束后,沒有識別結果
  18. //        LD_ASR_ERROR:                表示一次識別流程中LD3320芯片內部出現不正確的狀態
  19. /***********************************************************************************/
  20. uint8 idata nAsrStatus=0;        
  21. extern void   _nop_     (void);
  22. void MCU_init();
  23. uint8 RunASR();
  24. void ProcessInt0(); //識別處理函數
  25. void  delay(unsigned long uldata);
  26. /************************************************************************
  27. 功能描述: 主函數程序入口
  28. 入口參數:        none
  29. 返 回 值:         none
  30. 其他說明:        none
  31. **************************************************************************/
  32. void  main()
  33. {
  34.         uint8 idata nAsrRes;
  35.         uint8 i=0;

  36.         MCU_init();
  37.         LD_Reset();
  38.         UartIni(); /*串口初始化*/
  39.         nAsrStatus = LD_ASR_NONE;                //        初始狀態:沒有在作ASR
  40.         PrintCom("串口運行中....\n"); /*text.....*/
  41.         PrintCom("口令:1、代碼測試\n"); /*text.....*/
  42.         PrintCom("        2、開發板驗證\n"); /*text.....*/
  43.         PrintCom("        3、檢查完畢\n"); /*text.....*/

  44.         while(1)
  45.         {
  46.                 switch(nAsrStatus)
  47.                 {
  48.                         case LD_ASR_RUNING:
  49.                         case LD_ASR_ERROR:               
  50.                                 break;
  51.                         case LD_ASR_NONE:
  52.                         {
  53.                                 nAsrStatus=LD_ASR_RUNING;
  54.                                 if (RunASR()==0)        /*        啟動一次ASR識別流程:ASR初始化,ASR添加關鍵詞語,啟動ASR運算*/
  55.                                 {
  56.                                         nAsrStatus = LD_ASR_ERROR;
  57.                                 }
  58.                                 break;
  59.                         }

  60.                         case LD_ASR_FOUNDOK: /*        一次ASR識別流程結束,去取ASR識別結果*/
  61.                         {
  62.                                 
  63.                                 nAsrRes = LD_GetResult();                /*獲取結果*/
  64.                                 PrintCom("\n識別碼:"); /*text.....*/
  65.                                 UARTSendByte(nAsrRes+0x30); /*text.....*/                                
  66.                                  switch(nAsrRes)                   /*對結果執行相關操作,客戶修改*/
  67.                                   {
  68.                                           case CODE_DMCS:                        /*命令“測試”*/
  69.                                                         PrintCom("“代碼測試”命令識別成功\n"); /*text.....*/
  70.                                                                                                                  break;
  71.                                                 case CODE_KFBYZ:         /*命令“全開”*/
  72.                                                         PrintCom("“開發板驗證”命令識別成功\n"); /*text.....*/
  73.                                                                                                                  break;
  74.                                                 case CODE_JCWB:                /*命令“復位”*/
  75.                                 
  76.                                                         PrintCom("“檢查完畢”命令識別成功\n"); /*text.....*/
  77.                                                                                                                 break;
  78.                                                 default:break;
  79.                                         }                                

  80.                                 nAsrStatus = LD_ASR_NONE;
  81.                                 break;
  82.                         }
  83.                         case LD_ASR_FOUNDZERO:
  84.                         default:
  85.                         {
  86.                                 nAsrStatus = LD_ASR_NONE;
  87.                                 break;
  88.                         }
  89.                 }// switch         
  90.         }// while

  91. }
  92. /************************************************************************
  93. 功能描述:         單片機初始化
  94. 入口參數:
  95. 返 回 值:
  96. 其他說明:
  97. **************************************************************************/
  98. void MCU_init()
  99. {
  100.         P0 = 0xff;
  101.         P1 = 0xff;
  102.         P2 = 0xff;
  103.         P3 = 0xf7;
  104.         IE0=1;
  105.         EX0=1;
  106.         EA=1;
  107. }

  108. /************************************************************************
  109. 功能描述: 延時函數
  110. 調用函數:
  111. 入口參數:
  112. 返回函數:
  113. **************************************************************************/
  114. void  delay(unsigned long uldata)
  115. {
  116.         unsigned int j  =  0;
  117.         unsigned int g  =  0;
  118.         for (j=0;j<5;j++)
  119.         {
  120.                 for (g=0;g<uldata;g++)
  121.                 {
  122.                         _nop_();
  123.                         _nop_();
  124.                         _nop_();
  125.                 }
  126.         }
  127. }
  128. /************************************************************************
  129. 功能描述:         運行ASR識別流程
  130. 入口參數:        none
  131. 返 回 值:  asrflag:1->啟動成功, 0—>啟動失敗
  132. 其他說明:        識別順序如下:
  133.                                                 1、RunASR()函數實現了一次完整的ASR語音識別流程
  134.                                                 2、LD_AsrStart() 函數實現了ASR初始化
  135.                                                 3、LD_AsrAddFixed() 函數實現了添加關鍵詞語到LD3320芯片中
  136.                                                 4、LD_AsrRun()        函數啟動了一次ASR語音識別流程                                       
  137.                                                 任何一次ASR識別流程,都需要按照這個順序,從初始化開始
  138. **************************************************************************/
  139. uint8 RunASR()
  140. {
  141.         uint8 i=0;
  142.         uint8 asrflag=0;
  143.         for (i=0; i<5; i++)                        //        防止由于硬件原因導致LD3320芯片工作不正常,所以一共嘗試5次啟動ASR識別流程
  144.         {
  145.                 LD_AsrStart();
  146.                 delay(100);
  147.                 if (LD_AsrAddFixed()==0)
  148.                 {
  149.                         LD_Reset();                        //        LD3320芯片內部出現不正常,立即重啟LD3320芯片
  150.                         delay(100);                        //        并從初始化開始重新ASR識別流程
  151.                         continue;
  152.                 }
  153.                 delay(10);
  154.                 if (LD_AsrRun() == 0)
  155.                 {
  156.                         LD_Reset();                        //        LD3320芯片內部出現不正常,立即重啟LD3320芯片
  157.                         delay(100);                        //        并從初始化開始重新ASR識別流程
  158.                         continue;
  159.                 }
  160.                 asrflag=1;
  161.                 break;                                        //        ASR流程啟動成功,退出當前for循環。開始等待LD3320送出的中斷信號
  162.         }

  163.         return asrflag;
  164. }
  165. /************************************************************************
  166. 功能描述: 中斷處理函數
  167. 調用函數:
  168. 入口參數:
  169. 返回函數:
  170. **************************************************************************/
  171. void ExtInt0Handler(void) interrupt 0  
  172. {         
  173.         ProcessInt0();                                //        LD3320 送出中斷信號,包括ASR和播放MP3的中斷,需要在中斷處理函數中分別處理
  174.         PrintCom("進入中斷/n"); /*text.....*/
  175. }
復制代碼


所有資料51hei提供下載:
LD3320模塊開發首選資料.zip (5.04 MB, 下載次數: 312)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:636032 發表于 2019-11-5 15:04 | 只看該作者
感謝分享!
回復

使用道具 舉報

板凳
ID:642991 發表于 2019-11-16 08:39 | 只看該作者
Great Post!!!
回復

使用道具 舉報

地板
ID:742468 發表于 2020-5-1 19:09 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

5#
ID:742468 發表于 2020-5-2 11:06 | 只看該作者
感謝樓主分享 非常有用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人一区二免费视频软件 | 国精日本亚洲欧州国产中文久久 | 亚洲高清在线观看 | 97精品国产 | 久久伊人在 | www.三级 | 超碰在线国产 | 天天曰天天干 | 精品欧美乱码久久久久久1区2区 | 精品久久99| 欧美视频二区 | 91成人在线视频 | 国产精品久久久久久久久久久久久 | 国产999精品久久久久久 | 国产精品99久久久久久久久 | 精品国产乱码久久久久久蜜柚 | 国产在线二区 | 日韩国产中文字幕 | 亚洲精品国产综合区久久久久久久 | 久久99视频这里只有精品 | 国产精品揄拍一区二区久久国内亚洲精 | 一区二区三区亚洲视频 | 区一区二在线观看 | 精品欧美一区二区三区久久久 | 亚洲 欧美 激情 另类 校园 | 黄色片免费在线观看 | 亚州精品天堂中文字幕 | 亚洲久久在线 | 免费一级片 | av看片网站| 亚洲精品一区中文字幕乱码 | 久久久久久久久久久久91 | 亚洲视频免费在线观看 | 亚洲网站在线观看 | 99re在线免费视频 | 欧美日韩综合视频 | 看片国产| 精品久久久久久亚洲综合网 | 国产影音先锋 | 久久国产精品亚洲 | 免费在线观看av网址 |