wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 16222|回復(fù): 21
收起左側(cè)

PMS7003 PM2.5測(cè)試儀,帶SHT20溫濕度 STM32源碼

  [復(fù)制鏈接]
ID:86777 發(fā)表于 2017-7-20 14:01 | 顯示全部樓層 |閱讀模式
由于網(wǎng)上的PM2.5測(cè)試儀質(zhì)量不一,多數(shù)測(cè)試儀傳感器只能定性,而不能精確定量,而且價(jià)格還很貴,所以在家沒(méi)事做了個(gè)PM2.5測(cè)試儀,帶溫度顯示
配件:
1、空氣質(zhì)量傳感器為攀騰第七代PMS7003傳感器
2、溫濕度傳感器為SHT20
3、單片機(jī)STM32F103C8T6
屏幕各界面顯示數(shù)據(jù):空氣質(zhì)量指數(shù),PM2.5.PM0.3.PM0.5.PM1.0.PM2.5.PM10顆粒數(shù),含量以及溫濕度




特別提示:代碼我只上傳了攀藤7003傳感器的官方測(cè)試代碼,希望各位電子愛(ài)好者勇于探索,功到才能自然成。
TB2ArtEiAqvpuFjSZFhXXaOgXXa_!!0-fleamarket.jpg_728x728.jpg TB2FJ_Kg3NlpuFjy0FfXXX3CpXa_!!0-fleamarket.jpg_728x728.jpg TB2MjdXXr_0UKFjy1XaXXbKfXXa_!!0-fleamarket.jpg_728x728.jpg TB2VW9gistnpuFjSZFvXXbcTpXa_!!0-fleamarket.jpg_728x728.jpg TB2z7DYgYJkpuFjy1zcXXa5FFXa_!!0-fleamarket.jpg_728x728.jpg

單片機(jī)源程序如下:
  1. #include "global_includes.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "stm32f10x_rcc.h"


  5. typedef struct
  6. {
  7.         uint16_t Buffer_Len;
  8.         uint16_t PM1_0_CF;
  9.         uint16_t PM2_5_CF;
  10.         uint16_t PM10_CF;
  11.         uint16_t PM1_0;
  12.         uint16_t PM2_5;
  13.         uint16_t PM10;
  14.         uint16_t Count0_3nm;
  15.         uint16_t Count0_5nm;
  16.         uint16_t Count1_0nm;
  17.         uint16_t Count2_5nm;
  18.         uint16_t Count5_0nm;
  19.         uint16_t Count10nm;
  20. }PM_Sensor_DataStruct;

  21. typedef enum {RESET = 0, SET = !RESET} FlagStatus;
  22. typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;

  23. PM_Sensor_DataStruct        PM_Sensor_Data;
  24. uint8_t         PM_Sensor_RxBuffer[50];
  25. uint16_t    PM_Sensor_RxTimeOut = 0;
  26. uint16_t    PM_Sensor_RxCount = 0;

  27. FlagStatus  PM_Sensor_RxFinish = RESET;


  28. void SysTick_Handler(void)  // SYS timer interrupt function
  29. {
  30.         //OS_TimeMS ++;   //   ++1us for os timer
  31.         //==========================================================================
  32.         if(PM_Sensor_RxTimeOut != 0x00) // timeout for PM data receive
  33.         {
  34.                 PM_Sensor_RxTimeOut--;
  35.         }
  36.         else
  37.         {
  38.                 if((PM_Sensor_RxCount)&&(PM_Sensor_RxBuffer[0] == 'B')&&(PM_Sensor_RxBuffer[1] == 'M'))
  39.                 {
  40.                         PM_Sensor_RxCount = 0;
  41.                         PM_Sensor_RxFinish = SET;
  42.                         USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
  43.                 }
  44.                 else
  45.                 {
  46.                         PM_Sensor_RxCount = 0;
  47.                 }
  48.         }
  49. }

  50. void USART1_IRQHandler(void)  // USART1 interrupt
  51. {
  52.         static uint8_t                 USART1_ByteData = 0;

  53.         if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  54.         {
  55.                 USART1_ByteData = USART_ReceiveData(USART1);

  56.                 if(PM_Sensor_RxFinish == RESET)
  57.                 {
  58.                         PM_Sensor_RxBuffer[PM_Sensor_RxCount++] = USART1_ByteData;
  59.                         PM_Sensor_RxTimeOut = 20;
  60.                 }

  61.         }
  62.         //============================================================================
  63.         if(USART_GetFlagStatus(USART1, USART_FLAG_ORE) != RESET)
  64.         {
  65.                 USART1_ByteData = USART_ReceiveData(USART1);
  66.                 USART_ClearFlag(USART1, USART_FLAG_ORE);
  67.         }

  68.         if(USART_GetFlagStatus(USART1, USART_FLAG_NE) != RESET)
  69.         {
  70.                 USART_ClearFlag(USART1, USART_FLAG_NE);
  71.         }


  72.         if(USART_GetFlagStatus(USART1, USART_FLAG_FE) != RESET)
  73.         {
  74.                 USART_ClearFlag(USART1, USART_FLAG_FE);
  75.         }

  76.         if(USART_GetFlagStatus(USART1, USART_FLAG_PE) != RESET)
  77.         {
  78.                 USART_ClearFlag(USART1, USART_FLAG_PE);
  79.         }
  80. }
  81. //=============================================================================
  82. //PM_USART1_Configuartion  USART1 configuration
  83. //=============================================================================
  84. void PM_USART1_Configuartion(void)
  85. {
  86.           USART_InitTypeDef USART_InitStructure;
  87.           GPIO_InitTypeDef  GPIO_InitStructure;

  88.          
  89.         RCC_APB2PeriphClockCmd(        RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA |
  90.                                                         RCC_APB2Periph_GPIOC, ENABLE);

  91.          
  92.           RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1, ENABLE);

  93.        
  94.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  95.        
  96.        
  97.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  98.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                //
  99.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  100.        
  101.        
  102.         /* PA9 USART1_Tx */
  103.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  104.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                        //推挽輸出-TX
  105.         GPIO_Init(GPIOA, &GPIO_InitStructure);

  106.         /* PA10 USART1_Rx */
  107.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  108.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //浮空輸入-RX
  109.         GPIO_Init(GPIOA, &GPIO_InitStructure);

  110.           USART_InitStructure.USART_BaudRate             = 9600;                                                //波特率
  111.           USART_InitStructure.USART_WordLength           = USART_WordLength_8b;                   //設(shè)置數(shù)據(jù)長(zhǎng)度為8bit
  112.           USART_InitStructure.USART_StopBits             = USART_StopBits_1;                      //停止位為1
  113.           USART_InitStructure.USART_Parity               = USART_Parity_No;                       //無(wú)校驗(yàn)位
  114.           USART_InitStructure.USART_HardwareFlowControl  = USART_HardwareFlowControl_None;//數(shù)據(jù)流控制為none
  115.           USART_InitStructure.USART_Mode                 = USART_Mode_Rx | USART_Mode_Tx; //接收和發(fā)送模式都打開(kāi)

  116.           USART_Init(USART1, &USART_InitStructure);                                                 //初始化串口1

  117.           USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);                                         // 接收接收中斷

  118.         USART_ITConfig(USART1, USART_IT_ERR | USART_IT_PE, ENABLE);

  119.           /* Enable the USART1 */
  120.           USART_Cmd(USART1, ENABLE);                                                                          //使能USART1
  121. }


  122. //=============================================================================
  123. //Check_PMSensor_DataValid    //
  124. //=============================================================================
  125. ErrorStatus        Check_PMSensor_DataValid(void)
  126. {
  127.         uint16_t         Cal_CheckSum;
  128.         uint16_t         Buffer_CheckSum;
  129.         uint16_t         Buffer_Len;
  130.         uint8_t         i;
  131.         ErrorStatus Result = ERROR;

  132.         if((PM_Sensor_RxBuffer[0] == 'B')&&(PM_Sensor_RxBuffer[1] == 'M'))
  133.         {
  134.                 Buffer_Len = (uint16_t)((PM_Sensor_RxBuffer[2] << 8) | PM_Sensor_RxBuffer[3]);

  135.                 Buffer_CheckSum = (uint16_t)((PM_Sensor_RxBuffer[Buffer_Len + 2] << 8) | PM_Sensor_RxBuffer[Buffer_Len + 3]);

  136.                 Cal_CheckSum = 0;
  137.                 for(i=0;i<(Buffer_Len + 2);i++)
  138.                 {
  139.                         Cal_CheckSum += PM_Sensor_RxBuffer[i];
  140.                 }

  141.                 if(Cal_CheckSum == Buffer_CheckSum)
  142.                         Result = SUCCESS;
  143.         }
  144.         return Result;
  145. }
  146. //=============================================================================
  147. //PMSensor_DataReflash    //
  148. //=============================================================================
  149. void PMSensor_DataReflash(void)
  150. {
  151.         uint16_t Buffer_Len;

  152.         memset(&PM_Sensor_Data,0,(sizeof(PM_Sensor_Data) - 2)); //PM_Sensor_Data.PM2_5_Old should not set to zero
  153.        
  154.         Buffer_Len = (uint16_t)((PM_Sensor_RxBuffer[2] << 8) | PM_Sensor_RxBuffer[3]);
  155.         if(Buffer_Len == 28)   //PMS1003/5003
  156.         {
  157.                 PM_Sensor_Data.Buffer_Len = 28;
  158.                 PM_Sensor_Data.PM1_0_CF = (uint16_t)((PM_Sensor_RxBuffer[4]<<8) | PM_Sensor_RxBuffer[5]);
  159.                 PM_Sensor_Data.PM2_5_CF = (uint16_t)((PM_Sensor_RxBuffer[6]<<8) | PM_Sensor_RxBuffer[7]);
  160.                 PM_Sensor_Data.PM10_CF         = (uint16_t)((PM_Sensor_RxBuffer[8]<<8) | PM_Sensor_RxBuffer[9]);
  161.                 PM_Sensor_Data.PM1_0         = (uint16_t)((PM_Sensor_RxBuffer[10]<<8) | PM_Sensor_RxBuffer[11]);
  162.                 PM_Sensor_Data.PM2_5         = (uint16_t)((PM_Sensor_RxBuffer[12]<<8) | PM_Sensor_RxBuffer[13]);
  163.                 PM_Sensor_Data.PM10         = (uint16_t)((PM_Sensor_RxBuffer[14]<<8) | PM_Sensor_RxBuffer[15]);
  164.                 PM_Sensor_Data.Count0_3nm = (uint16_t)((PM_Sensor_RxBuffer[16]<<8) | PM_Sensor_RxBuffer[17]);
  165.                 PM_Sensor_Data.Count0_5nm = (uint16_t)((PM_Sensor_RxBuffer[18]<<8) | PM_Sensor_RxBuffer[19]);
  166.                 PM_Sensor_Data.Count1_0nm = (uint16_t)((PM_Sensor_RxBuffer[20]<<8) | PM_Sensor_RxBuffer[21]);
  167.                 PM_Sensor_Data.Count2_5nm = (uint16_t)((PM_Sensor_RxBuffer[22]<<8) | PM_Sensor_RxBuffer[23]);
  168.                 PM_Sensor_Data.Count5_0nm = (uint16_t)((PM_Sensor_RxBuffer[24]<<8) | PM_Sensor_RxBuffer[25]);
  169.                 PM_Sensor_Data.Count10nm = (uint16_t)((PM_Sensor_RxBuffer[26]<<8) | PM_Sensor_RxBuffer[27]);
  170.                
  171.         }
  172.         else if(Buffer_Len == 20)// PMS3003
  173.         {
  174.                 PM_Sensor_Data.Buffer_Len = 20;
  175.                 PM_Sensor_Data.PM1_0_CF = (uint16_t)((PM_Sensor_RxBuffer[4]<<8) | PM_Sensor_RxBuffer[5]);
  176.                 PM_Sensor_Data.PM2_5_CF = (uint16_t)((PM_Sensor_RxBuffer[6]<<8) | PM_Sensor_RxBuffer[7]);
  177.                 PM_Sensor_Data.PM10_CF         = (uint16_t)((PM_Sensor_RxBuffer[8]<<8) | PM_Sensor_RxBuffer[9]);
  178.                 PM_Sensor_Data.PM1_0         = (uint16_t)((PM_Sensor_RxBuffer[10]<<8) | PM_Sensor_RxBuffer[11]);
  179.                 PM_Sensor_Data.PM2_5         = (uint16_t)((PM_Sensor_RxBuffer[12]<<8) | PM_Sensor_RxBuffer[13]);
  180.                 PM_Sensor_Data.PM10         = (uint16_t)((PM_Sensor_RxBuffer[14]<<8) | PM_Sensor_RxBuffer[15]);
  181.                 PM_Sensor_Data.Count0_3nm = 0;
  182.                 PM_Sensor_Data.Count0_5nm = 0;
  183.                 PM_Sensor_Data.Count1_0nm = 0;
  184.                 PM_Sensor_Data.Count2_5nm = 0;
  185.                 PM_Sensor_Data.Count5_0nm = 0;
  186.                 PM_Sensor_Data.Count10nm = 0;
  187.         }
  188. }

  189. int main(void)
  190. {
  191.         /*!< At this stage the microcontroller clock setting is already configured,
  192.                 this is done through SystemInit() function which is called from startup
  193.                 file (startup_stm32f10x_xx.s) before to branch to application main.
  194.                 To reconfigure the default setting of SystemInit() function, refer to
  195.                 system_stm32f10x.c file
  196.         */
  197.         SetSysClockInternal();  // sysclock for internal  RC
  198.     /**/   
  199.         SysTick_Init();

  200.         /**/
  201.         NVIC_Configuration();

  202.         /**/
  203.         PM_USART1_Configuartion();
  204.        
  205.         /**/
  206. ……………………

  207. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
PMS7003測(cè)試代碼.rar (2.24 KB, 下載次數(shù): 316)





評(píng)分

參與人數(shù) 2黑幣 +8 收起 理由
七號(hào)123 + 4 很給力!
zhangli019 + 4 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

無(wú)效樓層,該帖已經(jīng)被刪除
ID:228577 發(fā)表于 2017-8-21 10:33 | 顯示全部樓層
想看看
回復(fù)

使用道具 舉報(bào)

ID:238505 發(fā)表于 2017-10-11 16:43 | 顯示全部樓層
很好的參考
回復(fù)

使用道具 舉報(bào)

ID:198608 發(fā)表于 2017-10-11 23:52 來(lái)自觸屏版 | 顯示全部樓層
樓主,能向你學(xué)習(xí)嗎
回復(fù)

使用道具 舉報(bào)

ID:242109 發(fā)表于 2017-10-23 15:03 | 顯示全部樓層
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:70546 發(fā)表于 2017-11-21 21:59 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:15207 發(fā)表于 2017-12-26 16:47 | 顯示全部樓層
這個(gè)傳感器是上電后每隔一段時(shí)間定時(shí)主動(dòng)發(fā)送一條串口數(shù)據(jù)給單片機(jī)嗎?
回復(fù)

使用道具 舉報(bào)

9#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:267330 發(fā)表于 2017-12-26 20:00 | 顯示全部樓層
我正要找SHT20程序啊
回復(fù)

使用道具 舉報(bào)

ID:270197 發(fā)表于 2018-1-2 14:59 | 顯示全部樓層
看看,謝謝
回復(fù)

使用道具 舉報(bào)

ID:273651 發(fā)表于 2018-1-9 11:02 | 顯示全部樓層
謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:288544 發(fā)表于 2018-3-7 09:55 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:289262 發(fā)表于 2018-3-29 09:46 | 顯示全部樓層
好東西,下載學(xué)習(xí)下。謝謝
回復(fù)

使用道具 舉報(bào)

ID:334781 發(fā)表于 2018-5-21 16:35 | 顯示全部樓層
SHT20 這款傳感器不錯(cuò),有51的程序更好了
回復(fù)

使用道具 舉報(bào)

ID:366196 發(fā)表于 2018-7-6 14:29 | 顯示全部樓層
資料能發(fā)一份到我郵箱嗎??gavin1111@126.com
謝謝
回復(fù)

使用道具 舉報(bào)

ID:366196 發(fā)表于 2018-7-6 14:37 | 顯示全部樓層
memset(&PM_Sensor_Data,0,(sizeof(PM_Sensor_Data) - 2));請(qǐng)問(wèn)這句是什么意思?memset是什么
回復(fù)

使用道具 舉報(bào)

ID:560737 發(fā)表于 2019-6-12 11:25 | 顯示全部樓層
看看大佬的
回復(fù)

使用道具 舉報(bào)

19#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:526058 發(fā)表于 2019-11-9 23:52 | 顯示全部樓層
這代碼質(zhì)量還可以,就是沒(méi)貼完整。
回復(fù)

使用道具 舉報(bào)

ID:646328 發(fā)表于 2019-11-21 10:23 | 顯示全部樓層
學(xué)習(xí)一下,觀(guān)摩
回復(fù)

使用道具 舉報(bào)

22#
無(wú)效樓層,該帖已經(jīng)被刪除
23#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:818839 發(fā)表于 2020-9-14 14:01 | 顯示全部樓層
您的這個(gè)PMS7003的機(jī)器能給我一些嗎?我不要7003模塊,只要外殼和板子
回復(fù)

使用道具 舉報(bào)

25#
無(wú)效樓層,該帖已經(jīng)被刪除
26#
無(wú)效樓層,該帖已經(jīng)被刪除
27#
無(wú)效樓層,該帖已經(jīng)被刪除
28#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:825701 發(fā)表于 2020-12-24 21:13 | 顯示全部樓層
沒(méi)想到,這里居然有我想要的
回復(fù)

使用道具 舉報(bào)

30#
無(wú)效樓層,該帖已經(jīng)被刪除
31#
無(wú)效樓層,該帖已經(jīng)被刪除
32#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:1120670 發(fā)表于 2024-5-16 16:08 | 顯示全部樓層
問(wèn)一下大佬,global_includes.h是什么文件,里面都聲明了哪些啊?
回復(fù)

使用道具 舉報(bào)

ID:1144566 發(fā)表于 2025-2-28 10:00 | 顯示全部樓層
請(qǐng)問(wèn)有實(shí)物和單片機(jī)的連接圖嗎,我用的轉(zhuǎn)接板,轉(zhuǎn)成四根插針,用杜邦線(xiàn)連接到單片機(jī)的,連上電后傳感器沒(méi)有反應(yīng)
回復(fù)

使用道具 舉報(bào)

35#
無(wú)效樓層,該帖已經(jīng)被刪除

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
中文字幕佐山爱一区二区免费| 欧美一级大片免费看| 国产欧美韩日| 99一区二区三区| 91在线精品播放| 91久久精品久久国产性色也91| 欧美壮男野外gaytube| 性欧美长视频免费观看不卡| 欧美国产日韩在线| 久久久欧美精品| 97免费中文视频在线观看| 韩国三级电影久久久久久| 久久久久久999| 日本中文字幕成人| 91精品视频专区| 成人三级在线| 日韩精品成人一区二区在线观看| 午夜午夜精品一区二区三区文| 日韩欧美视频一区二区三区四区 | a一级免费视频| 东方av正在进入| 日韩一区二区视频在线| 亚洲 小说区 图片区| 精品国产一级片| 综合区小说区图片区在线一区| 欧美孕妇与黑人巨交| 色一色在线观看视频网站| 成年网站免费观看| 免费成年网站| 触手亚洲一区二区三区| 中文国产字幕在线观看| 视频在线日韩| 超碰精品在线| 一本精品一区二区三区| 老色鬼久久亚洲一区二区| 国产精品一区二区在线观看不卡| 91一区一区三区| 亚洲人亚洲人成电影网站色| 欧美三级xxx| 欧美一级一区二区| 精品久久国产精品| 国产精品美女无圣光视频| 国产区二精品视| 粉嫩av一区二区三区天美传媒 | 欧美无遮挡国产欧美另类 | 日韩和欧美一区二区| 国产成人aaa| 91欧美极品| 日韩精品不卡一区二区| 首页国产欧美日韩丝袜| 久久久综合精品| 欧美日韩精品二区| 日韩精品视频在线免费观看| 国内精品免费午夜毛片| 国产精品一区在线观看| 草b视频在线观看| www.555国产精品免费| 欧美成人三级在线观看| 国产91绿帽单男绿奴| 青娱乐在线视频观看| 情se视频网在线观看| heyzo高清国产精品| 亚洲综合影院| 99riav1国产精品视频| 国产成a人无v码亚洲福利| 亚洲精品自拍动漫在线| 日韩一级高清毛片| 欧美极品少妇xxxxⅹ喷水| 国产欧美日韩一区二区三区| 欧美日韩黄色一级片| 国产老熟女伦老熟妇露脸| www.欧美色| 国产一区二区三区不卡免费观看| 在线中文字幕资源| 偷拍视频一区二区三区| 99久久www免费| 成人晚上爱看视频| 色综合视频一区二区三区高清| 亚洲欧美综合图区| 91久久精品在线| 水蜜桃色314在线观看| 在线免费看黄视频| 性一交一乱一精一晶| 亚洲jizzjizz妇女| 日韩激情电影| 91综合网人人| 91视频一区二区| 欧美精品123区| 91精品国产成人www| 亚洲精品一卡二卡三卡四卡| 人妻换人妻仑乱| 91porny九色| 免费的黄色片| 丰满大乳少妇在线观看网站| 国产精品三级| 成人av在线看| 日韩一区二区不卡| 国产免费一区二区三区在线能观看 | 亚洲国产中文字幕| 日本伊人午夜精品| 亚洲国产一区在线观看| xxxxxxxxx欧美| 欧美日韩精品中文字幕一区二区| 超碰成人在线播放| 中文天堂在线视频| 国产福利电影在线观看| 四虎4545www国产精品| 亚洲精品专区| 亚洲午夜激情网站| 欧美国产在线视频| 久久久久久久香蕉| 中文字幕在线观看成人 | 精品美女视频| 久久久综合九色合综国产精品| 精品国产乱码久久久久久1区2区| 91久久久久久| 欧美高清精品一区二区| 国产精品天天操| 在线播放你懂得| а√中文在线天堂精品| 国产精品88888| 欧美成人精品1314www| 99国产视频| 艳妇乳肉亭妇荡乳av| 欧美综合视频在线| 日本免费中文字幕在线| 亚洲成人国产| 亚洲香蕉伊在人在线观| 午夜精品久久久久久99热软件| 日韩精品一区二区免费| 伊人国产在线观看| 97视频在线| 亚洲日本一区二区三区在线| 国产1区2区3区精品美女| 亚洲精品720p| 亚洲乱码国产乱码精品天美传媒| 日本女人性生活视频| 有没有片在线看www| 免费在线观看一区| 国内一区二区在线| 日韩av网站电影| 亚洲成人精品电影在线观看| 国产免费美女视频| 九色蝌蚪在线观看| 粉嫩av国产一区二区三区| 成人爱爱电影网址| 色婷婷综合久久久久| 国产一级做a爰片久久毛片男| 国产精品人人人人| 中文字幕欧美一区二区| 日韩欧美视频| 欧美日韩一区二区精品| 国产一区二区丝袜| 女人被狂躁c到高潮| 国产剧情av片巨作醉酒女邻居| 精品一区二区在线观看| 精品亚洲永久免费精品 | 五月激情综合网| 欧美精品精品精品精品免费| 国产h视频在线播放| 亚洲高清在线看| 国产乱子伦三级在线播放| 91精品国产自产拍在线观看蜜| 亚洲国产日韩av| 国产日韩在线播放| www.免费av| 色姑娘资源站| 久久a爱视频| 亚洲一区二区三区视频在线播放 | 日韩大片免费在线观看| 天堂av在线播放| 国语精品一区| 日韩视频一区二区| eeuss中文| 一级全黄少妇性色生活片| 日本在线免费看| 日韩av中文字幕一区二区| 亚洲男人的天堂网站| 国产高清www| 成人免费观看在线视频| 欧美黑人粗大| 国产欧美综合在线观看第十页| 91精品国产91久久久| 男人的天堂影院| 黑人性受xxxx黑人xyx性爽| 国产欧美日韩影院| 欧美视频在线观看一区| 中文字幕精品—区二区日日骚| 在线视频1卡二卡三卡| 9lporm自拍视频区在线| 成人动漫一区二区在线| 欧美中文字幕在线播放| 公侵犯人妻一区二区三区| 免费yellow网站| 午夜国产精品视频免费体验区| 欧美一区永久视频免费观看| 欧美大黑帍在线播放| 天天干天天舔天天射| 2019中文亚洲字幕| 亚洲影院在线观看| 美脚丝袜一区二区三区在线观看| 在线免费观看av网址| 欧美v亚洲v| 91视频观看视频| 91精品国产综合久久久久久蜜臀| 日本天堂中文字幕| porn亚洲| 成人黄色在线看| 国产色视频一区| 啦啦啦免费高清视频在线观看| 黄色网在线免费观看| 丰满放荡岳乱妇91ww| 青草热久免费精品视频| 国产色无码精品视频国产| jizz在线免费观看| 国产成人久久精品77777最新版本| 隔壁老王国产在线精品| 国产精品美女高潮无套| 国产一二三在线观看| 国产福利91精品| 国产精品香蕉av| 一级片中文字幕| 在线天堂资源| 亚洲最新视频在线观看| 亚洲一区二区在线免费观看| 午夜国产在线视频| 欧美影院天天5g天天爽| 日韩三区在线观看| 不卡的在线视频| 免费av高清| 韩国精品久久久| 国产精品视频在线观看| 一本一道无码中文字幕精品热| 美女露胸视频在线观看| 亚洲一区二区精品久久av| 在线丝袜欧美日韩制服| 日韩在线第二页| 亚洲不卡av不卡一区二区| 在线一区二区日韩| 美国黄色特级片| 亚洲丝袜精品| 亚洲一线二线三线视频| 天天操天天干天天玩| 国产精品免费视频一区二区三区| 99久久www免费| 精品少妇v888av| av一区和二区| 亚洲精品久久久久久久久久久久久久| 99精品国产一区二区三区2021| 日韩你懂的电影在线观看| 少妇熟女视频一区二区三区 | 国产精品99久久久久久久女警| 成人福利网站在线观看11| 亚洲图片视频小说| 久久aimee| 亚洲精品中文字幕av| 中日韩精品一区二区三区| 日本a级在线| 一区二区三区四区视频精品免费 | a屁视频一区二区三区四区| 欧美午夜一区二区三区 | 欧美日韩在线精品一区二区三区激情| 99热成人精品热久久66| 激情视频免费| 91一区二区在线| 日韩中文一区二区三区| 国产美女视频网站| 日韩精品一区第一页| 91精品久久久久久久久中文字幕 | 美女视频网站久久| 97av影视网在线观看| 男女猛烈无遮挡| 亚洲久久一区| 国产一区香蕉久久| 欧美一级一区二区三区| 亚洲精品午夜av福利久久蜜桃| 97视频人免费观看| 中文永久免费观看| 亚洲动漫精品| 欧美成人精品激情在线观看| www.av麻豆| 在线成人动漫av| 欧美国产精品人人做人人爱| 精品黑人一区二区三区| 国模精品一区| 98视频在线噜噜噜国产| av网站在线免费看| 永久91嫩草亚洲精品人人| 日韩美女免费视频| 东京干手机福利视频| 国产精品扒开腿做爽爽爽软件| 国产精品91久久久| 天堂在线视频免费观看| 亚洲麻豆视频| 国产精品一 二 三| 青娱乐在线视频观看| 成人黄色在线看| 日本高清视频免费在线观看| 欧美高清xxxxxkkkkk| 成人免费一区二区三区在线观看| 国产深夜男女无套内射| 小明精品国产一区二区三区| 亚洲永久免费av| 欧美图片自拍偷拍| 巨茎人妖videos另类| 日韩毛片在线看| 精品国产xxx| 亚洲国产精品综合久久久 | 欧美一区二区三区艳史| 理论片中文字幕| 久久精品成人| 日韩精品一区二区三区丰满| 成人黄色电影网址| 国产精品国产自产拍在线| 国内国产精品天干天干| 欧美人与动牲性行为| 精品1区2区在线观看| 国产成人在线播放视频| 999国产精品永久免费视频app| 成人免费网站在线| 免费在线看大片无需流量| 国产日韩av一区二区| 啊啊啊国产视频| 精品众筹模特私拍视频| 亚洲欧美日韩中文在线| 亚洲精品国产欧美在线观看| 欧美日本不卡| 欧美1o一11sex性hdhd| 黄色成人av| 欧美日韩性生活视频| 亚洲av成人无码久久精品 | 亚洲成人黄色网| 国产精品久久久久久久妇| 中文字幕免费精品| 久久香蕉综合色| 黄网站app在线观看下载视频大全官网| 亚洲精品国产成人久久av盗摄| 在线黄色免费网站| 99这里只有精品视频| 青青草成人在线| 五月天丁香在线| 亚洲另类在线制服丝袜| 伊人网伊人影院| 香蕉视频一区| 91久久大香伊蕉在人线| www.成人69.com| 色婷婷av一区| 精品视频久久久久| 亚洲国产专区校园欧美| 欧美一区二区三区视频免费| 国产精品99re| 在线精品在线| 国产经典久久久| 超免费在线视频| 久久精品视频导航| 欧美性猛交xxxxbbb| 亚洲国产成人午夜在线一区| 国产熟女高潮一区二区三区| 香蕉久久99| 鲁丝一区二区三区免费| gogogo高清在线观看免费完整版| 精品国产一区二区三区久久久蜜月| 最近中文字幕在线观看视频| 久久精品999| 免费看污污网站| 国产免费区一区二区三视频免费 | 亚洲一卡二卡三卡四卡无卡网站在线看| 免费在线视频你懂得| 亚洲国产中文字幕在线观看| 精品女同一区二区三区| av电影在线观看一区| 制服丝袜在线第一页| 免费视频国产一区| 欧美午夜精品久久久久久蜜| 中文字幕在线观看日本| 中文字幕欧美亚洲| 国产免费黄色| 色婷婷亚洲精品| 一级做a爰片久久毛片16| 成人av在线播放网址| 亚洲色图14p| 欧美激情1区| 波多野结衣综合网| 亚洲人成777| 91福利入口| 国产免费av在线| 久久精品久久久久久国产 免费| 国产麻豆剧果冻传媒观看hd高清 | 久久精品人人| 激情五月婷婷久久| 久久97久久97精品免视看秋霞| 麻豆av一区二区| 中文字幕在线观看网站| 91av在线免费观看| 麻豆电影传媒二区| 精品爽片免费看久久| 精品国内自产拍在线视频| 欧美视频第一页| 99热这里只有精品99| 国产精品国产馆在线真实露脸|