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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
跳轉到指定樓層
樓主
由于網上的PM2.5測試儀質量不一,多數測試儀傳感器只能定性,而不能精確定量,而且價格還很貴,所以在家沒事做了個PM2.5測試儀,帶溫度顯示
配件:
1、空氣質量傳感器為攀騰第七代PMS7003傳感器
2、溫濕度傳感器為SHT20
3、單片機STM32F103C8T6
屏幕各界面顯示數據:空氣質量指數,PM2.5.PM0.3.PM0.5.PM1.0.PM2.5.PM10顆粒數,含量以及溫濕度




特別提示:代碼我只上傳了攀藤7003傳感器的官方測試代碼,希望各位電子愛好者勇于探索,功到才能自然成。


單片機源程序如下:
  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;                   //設置數據長度為8bit
  112.           USART_InitStructure.USART_StopBits             = USART_StopBits_1;                      //停止位為1
  113.           USART_InitStructure.USART_Parity               = USART_Parity_No;                       //無校驗位
  114.           USART_InitStructure.USART_HardwareFlowControl  = USART_HardwareFlowControl_None;//數據流控制為none
  115.           USART_InitStructure.USART_Mode                 = USART_Mode_Rx | USART_Mode_Tx; //接收和發送模式都打開

  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. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

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





評分

參與人數 2黑幣 +8 收起 理由
七號123 + 4 很給力!
zhangli019 + 4 贊一個!

查看全部評分

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

使用道具 舉報

無效樓層,該帖已經被刪除
板凳
ID:228577 發表于 2017-8-21 10:33 | 只看該作者
想看看
回復

使用道具 舉報

地板
ID:238505 發表于 2017-10-11 16:43 | 只看該作者
很好的參考
回復

使用道具 舉報

5#
ID:198608 發表于 2017-10-11 23:52 來自觸屏版 | 只看該作者
樓主,能向你學習嗎
回復

使用道具 舉報

6#
ID:242109 發表于 2017-10-23 15:03 | 只看該作者
學習了
回復

使用道具 舉報

7#
ID:70546 發表于 2017-11-21 21:59 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

8#
ID:15207 發表于 2017-12-26 16:47 | 只看該作者
這個傳感器是上電后每隔一段時間定時主動發送一條串口數據給單片機嗎?
回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
10#
ID:267330 發表于 2017-12-26 20:00 | 只看該作者
我正要找SHT20程序啊
回復

使用道具 舉報

11#
ID:270197 發表于 2018-1-2 14:59 | 只看該作者
看看,謝謝
回復

使用道具 舉報

12#
ID:273651 發表于 2018-1-9 11:02 | 只看該作者
謝謝樓主的分享
回復

使用道具 舉報

13#
ID:288544 發表于 2018-3-7 09:55 | 只看該作者
感謝分享
回復

使用道具 舉報

14#
ID:289262 發表于 2018-3-29 09:46 | 只看該作者
好東西,下載學習下。謝謝
回復

使用道具 舉報

15#
ID:334781 發表于 2018-5-21 16:35 | 只看該作者
SHT20 這款傳感器不錯,有51的程序更好了
回復

使用道具 舉報

16#
ID:366196 發表于 2018-7-6 14:29 | 只看該作者
資料能發一份到我郵箱嗎??gavin1111@126.com
謝謝
回復

使用道具 舉報

17#
ID:366196 發表于 2018-7-6 14:37 | 只看該作者
memset(&PM_Sensor_Data,0,(sizeof(PM_Sensor_Data) - 2));請問這句是什么意思?memset是什么
回復

使用道具 舉報

18#
ID:560737 發表于 2019-6-12 11:25 | 只看該作者
看看大佬的
回復

使用道具 舉報

19#
無效樓層,該帖已經被刪除
20#
ID:526058 發表于 2019-11-9 23:52 | 只看該作者
這代碼質量還可以,就是沒貼完整。
回復

使用道具 舉報

21#
ID:646328 發表于 2019-11-21 10:23 | 只看該作者
學習一下,觀摩
回復

使用道具 舉報

22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
24#
ID:818839 發表于 2020-9-14 14:01 | 只看該作者
您的這個PMS7003的機器能給我一些嗎?我不要7003模塊,只要外殼和板子
回復

使用道具 舉報

25#
無效樓層,該帖已經被刪除
26#
無效樓層,該帖已經被刪除
27#
無效樓層,該帖已經被刪除
28#
無效樓層,該帖已經被刪除
29#
ID:825701 發表于 2020-12-24 21:13 | 只看該作者
沒想到,這里居然有我想要的
回復

使用道具 舉報

30#
無效樓層,該帖已經被刪除
31#
無效樓層,該帖已經被刪除
32#
無效樓層,該帖已經被刪除
33#
ID:1120670 發表于 2024-5-16 16:08 | 只看該作者
問一下大佬,global_includes.h是什么文件,里面都聲明了哪些啊?
回復

使用道具 舉報

34#
ID:1144566 發表于 2025-2-28 10:00 | 只看該作者
請問有實物和單片機的連接圖嗎,我用的轉接板,轉成四根插針,用杜邦線連接到單片機的,連上電后傳感器沒有反應
回復

使用道具 舉報

35#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
欧美妇乱xxxxx视频| 在线观看欧美黄色| 亚洲精品v日韩精品| 欧美精品乱码| 在线中文字幕第一区| 琪琪一区二区三区| 99国产精品久久久久| 一区二区三区av电影| 欧美精品 日韩| www国产91| 国产精品日韩av| 日韩高清专区| 999精彩视频| 超碰人人干人人| 一二三区在线播放| 浮力影院欧美三级日本三级| 伊大人久久香线焦宗合一75大| 性欧美ⅴideo另类hd| 欧美久久一区二区三区| 99精品美女| 激情欧美一区二区| 一区二区三区成人在线视频| 精品国产乱码久久久久久浪潮| 久久福利视频网| 999视频在线观看| 亚洲天堂第一区| 国产精九九网站漫画| 国产网友自拍视频| www..69.hd| www.成人69.com| 伊人222成人综合网| 红杏视频成人| 久久综合影音| 亚洲欧洲国产日本综合| 日韩精品一区二区三区三区免费| 久久久久久久久久久91| 久久精品成人一区二区三区蜜臀 | 精品国产99久久久久久| 麻豆久久一区| 米奇777在线欧美播放| 一区二区中文视频| 精品香蕉一区二区三区| 成人激情视频网| 国内外免费激情视频| 91视频免费在线看| 欧美高清性xxxxxxx| 国产黄色在线播放| 白丝美女让我捅| 在线观看免费视频你懂的| 国产成人精品三级高清久久91| 老司机午夜精品| 欧美色videos| 78色国产精品| 国产精品无码免费专区午夜| 狂野欧美性猛交| 2020亚洲男人天堂| 成人免费高清在线播放| 欧美日韩精品一区二区三区在线观看| 麻豆精品久久久| 91黄视频在线| 国产999视频| 人人妻人人做人人爽| 性少妇xx生活| 欧美黑人疯狂性受xxxxx喷水| 国产视频福利在线| 久久不见久久见中文字幕免费| 成人av片在线观看| 欧美精品一区二区精品网| 成人激情免费在线| 999热精品视频| 国产精品久久久久久69| 在线观看视频免费| 一区二区三区四区高清视频| 国产一二精品视频| 欧美大片在线观看一区二区| 91在线直播亚洲| 天美一区二区三区| www.黄色小说.com| 国产香蕉视频在线看| 日本午夜一区| 亚洲天堂免费看| 久久99视频精品| 日韩成人三级视频| 日本一区二区不卡在线| fc2ppv素人在线| 亚洲福利影视| 东方aⅴ免费观看久久av| 亚洲精品一区在线观看| 久久国产一区| 欧美性x x x| h网站在线观看| 国产视频一区二| av动漫一区二区| 中文字幕欧美精品日韩中文字幕| 国产成人精品免费看在线播放| 免费看一级大片| a级免费观看| 97涩在线观看视频| 国产电影一区| 久久视频一区二区| www.亚洲男人天堂| 国产极品尤物在线| 制服丝袜在线一区| 免费播放片a高清在线观看| 国产影视一区| 亚洲一区二区美女| 国产欧美va欧美va香蕉在线| 原创真实夫妻啪啪av| 一区二区三区免费视频播放器| 久草在线资源站资源站| 日韩精品一卡二卡三卡四卡无卡| 日韩三级高清在线| 欧洲国产精品| 国产精品午夜影院| 欧美孕妇孕交| 亚洲国产裸拍裸体视频在线观看乱了中文 | 麻豆国产91在线播放| 日韩欧美高清一区| 亚洲欧美日韩另类精品一区二区三区| 日韩激情一区二区三区| 中文在线а天堂av| 国产精品啊啊啊| 91精品国产欧美一区二区18| 欧美日韩另类丝袜其他| 91香蕉在线视频| 奇米影视888狠狠狠777不卡| 一区免费视频| 日韩精品影音先锋| 肉大捧一出免费观看网站在线播放| 国产一级淫片a视频免费观看| 在线免费观看av网站| 欧美精品福利| 欧美不卡一区二区三区四区| 老司机av福利| 一级片免费观看视频| 牛牛电影国产一区二区| 国产成人在线视频网站| 久久精品99久久久香蕉| 亚洲一区二区三区观看| 国产福利微拍精品一区二区| 91久久精品无嫩草影院| 亚洲成人中文在线| 久久99久久精品国产| 天天爽夜夜爽夜夜爽精品| 3p在线观看| 黄页网站大全一区二区| 久久国产精品久久久久久| 日本中文字幕有码| 天天操夜夜逼| 欧美日韩国产免费观看 | 亚洲人成在线观| 亚欧在线免费观看| 麻豆精品传媒视频观看| 国产ts一区| 狠狠干狠狠久久| 一本色道久久综合亚洲二区三区| 国产精品久久无码一三区| 日本乱码一区二区三区不卡| 亚洲国产精品黑人久久久| 亚洲va男人天堂| 天天操天天干视频| 欧美hdxxx| 国产亚洲污的网站| 成人免费福利视频| 精品91久久久| 福利在线免费视频| 成人欧美一区二区三区在线播放| 成人动漫在线视频| 中文字幕av在线免费观看| 亚洲妇女成熟| 亚洲欧美一区二区三区极速播放| 精品久久久久久一区| 最新国产中文字幕| 345成人影院| 亚洲国产综合91精品麻豆| 欧美日韩精品免费观看| 免费国产黄色片| 女仆av观看一区| 欧美一区二区国产| 免费黄色一级网站| 狠狠擦狠狠操| 激情视频一区| 欧美另类69精品久久久久9999| 偷拍夫妻性生活| 成人资源www网在线最新版| 成人av在线资源| 97超碰最新| 国产一区二区三区中文字幕 | 精品国产区一区| 亚欧美一区二区三区| 国产美女免费观看| 久久精品99久久久| 国产精品高清在线观看| 五月天综合激情网| 91av一区| 欧美日韩电影在线播放| 一本大道熟女人妻中文字幕在线| 黄在线观看在线播放720p| 亚洲一区二区三区四区五区午夜| 欧美精品久久久久久久久| 人妻久久一区二区| 国产盗摄——sm在线视频| 午夜精品久久一牛影视| 每日在线观看av| 资源av在线| 国产一区二区三区在线看麻豆| 国产主播喷水一区二区| 国产精品午夜福利| 欧美顶级毛片在线播放| 日韩高清欧美高清| 国产 中文 字幕 日韩 在线| 狠狠人妻久久久久久综合麻豆| 玖玖玖视频精品| 日韩免费视频一区二区| 久久精品aⅴ无码中文字字幕重口| 在线观看视频网站你懂得| av亚洲精华国产精华精华| 精品无人区一区二区三区 | 妺妺窝人体色www聚色窝仙踪| 亚洲涩涩在线| 色菇凉天天综合网| 天堂视频免费看| 欧美成人片在线| 国产精品久久午夜夜伦鲁鲁| 亚洲免费视频播放| h版电影在线播放视频网站| 国内精品伊人久久久久影院对白| 99在线热播| 在线成人综合色一区| 亚洲视频综合| 国产精品视频区| 国精产品一品二品国精品69xx| 久久成人综合| 国模精品视频一区二区| 在线观看国产区| 欧美亚洲tv| 日韩中文理论片| 国产成人无码精品久在线观看| 日韩视频一二区| 伊人伊成久久人综合网小说| 久久久久性色av无码一区二区| 国产精品美女久久久久人| 国产视频精品va久久久久久| 熟女少妇a性色生活片毛片| 国产麻豆一区| 亚洲男人第一av网站| 欧美精品色哟哟| www.丝袜精品| 欧美情侣性视频| 国产美女www爽爽爽视频| 久久久久亚洲| 国产精品欧美激情在线播放| 欧美一区二区公司| 亚洲国产午夜| 成人xxxxx色| 你懂的视频在线看| 99久久99久久精品免费看蜜桃| 亚洲色图都市激情| 白白色视频在线| 一区二区欧美视频| 亚洲国产综合av| 成人影院在线视频| 亚洲第五色综合网| 久久久久亚洲av无码专区| 牛牛视频精品一区二区不卡| 久久久久久久久网站| 亚洲国产欧美另类| 久久国产日韩| 日韩精品丝袜在线| 国产97免费视频| 亚洲精品推荐| 日本欧美在线视频| 亚洲色图另类图片| 加勒比av一区二区| 9191国产视频| 国产精品无码2021在线观看| 色婷婷av一区二区三区gif | 玖玖爱免费视频| 免费日韩一区二区三区| 97视频免费观看| 亚洲影院中文字幕| 国产精品夜夜嗨| 99热久久这里只有精品| 爱久久·www| 91精品国产91热久久久做人人| 日韩欧美123区| 亚洲自拍电影| 91精品视频观看| 狠狠色噜噜狠狠狠狠黑人| 国产欧美精品区一区二区三区| 久热精品在线播放| 特黄毛片在线观看| 色一区av在线| 超碰免费在线97| 久久精品99国产精品日本| 日韩黄色短视频| 国产在线1区| 日韩电视剧免费观看网站| 伊人免费在线观看高清版| 性感少妇一区| 青青视频免费在线| caoporn免费在线| 亚洲精品网址在线观看| 97免费观看视频| 美腿丝袜亚洲色图| 久久久999视频| 欧美aaaaaaa| 日韩在线观看免费av| 偷拍精品一区二区三区| 国产精品一区在线观看你懂的| 99久久久无码国产精品6| 精品人人视频| 欧美极品少妇全裸体| 国产伊人网av.| 日韩一区中文字幕| 国产无遮挡在线观看| 欧美在线观看视频一区| 精品国产中文字幕| 国产美女性感在线观看懂色av | 成人毛片100部免费看| caopon在线免费视频| 国产亚洲欧洲高清一区| 欧美性受xxxx狂喷水| 成人动漫精品一区二区| 久久久精品高清| 欧洲一区在线| 91色p视频在线| 色资源网在线观看| 日韩欧美国产成人一区二区| 国产毛片久久久久| 成人99免费视频| 国产精品丝袜久久久久久高清| 两个人看的无遮挡免费视频| 红桃av永久久久| 天海翼一区二区| 日本欧美大码aⅴ在线播放| 欧美日韩在线中文| 少妇精品视频在线观看| 国产精品91久久| 国产中文字幕第一页| 91.成人天堂一区| 国产三级三级在线观看| www.视频一区| 中文字幕一区二区久久人妻网站 | 夜夜嗨av一区二区三区四季av| 特黄一区二区三区| 亚洲激情黄色| 131美女爱做视频| 欧美性aaa| 亚洲自拍偷拍区| 九色在线观看| 色多多国产成人永久免费网站 | 亚洲有码转帖| 亚洲图片欧美日产| 精品一区二区三区免费站| 亚洲高清视频中文字幕| 99热在线观看免费精品| 久久精品国产一区二区三区免费看| 污污的网站免费| 国产最新精品| 日本精品福利视频| 日本午夜免费一区二区| 91精品啪在线观看麻豆免费| 国模吧精品人体gogo| 久久久久999| 欧美色老女人| 日韩精品在线视频美女| 国产精品被窝福利一区 | 深田咏美在线x99av| 99色在线观看| 国产综合视频在线观看| 国产黄色片在线播放| 高清在线视频日韩欧美| 三级黄色网址| 色妞在线综合亚洲欧美| www.av在线视频| 精品国产免费一区二区三区香蕉| 在线观看精品视频看看播放| 性感美女久久精品| 91在线观看喷潮| 中文字幕一区二区三区色视频| 精品美女久久久久| 久久久夜色精品亚洲| 精品深夜av无码一区二区老年| 国产伦精品一区二区三区视频青涩 | 波多野结衣视频播放| 国产专区一区| 性生交免费视频| 日韩综合在线| 国产又黄又猛视频| 精品免费一区二区| 18禁免费观看网站| 久草在线成人| 大肉大捧一进一出好爽视频| 日本成人中文| 丰满的少妇愉情hd高清果冻传媒| 超碰成人在线观看| 国产一区 在线播放| 另类ts人妖一区二区三区| 波多野结衣与黑人|