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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MLX90614紅外測溫模塊程序源代碼與資料分享

[復制鏈接]
跳轉到指定樓層
樓主
MLX90614ESF+傳感器+紅外非接觸溫度測量傳感器模塊程序源代碼,用msp430的單片機

電路原理圖如下:


單片機源程序如下:
  1. //*****************************************************************************
  2. //   MSP430x42x0 Demo - SD16_A, LCD
  3. //*****************************************************************************

  4. //MLX90614 Pin Config

  5. //GND-----6.0.....I/O supply the MLX90614
  6. //SDA-----6.1
  7. //SCL-----6.2
  8. //POW-----6.3.....I/O supply the MLX90614

  9. #include  <msp430x42x0.h>

  10. void LCD_CHECK(void);
  11. void Init_LCD(void);
  12. unsigned int A1,A2,A3,A4,A5;

  13. #define a 0x01
  14. #define b 0x02
  15. #define c 0x04
  16. #define d 0x80
  17. #define e 0x40
  18. #define f 0x10
  19. #define g 0x20
  20. #define h 0x08

  21. const char char_gen[] = {                   // definitions for digits
  22.   a+b+c+d+e+f,                              // Displays "0"
  23.   b+c,                                      // Displays "1"
  24.   a+b+d+e+g,                                // Displays "2"
  25.   a+b+c+d+g,                                // Displays "3"
  26.   b+c+f+g,                                  // Displays "4"
  27.   a+c+d+f+g,                                // Displays "5"
  28.   a+c+d+e+f+g,                              // Displays "6"
  29.   a+b+c,                                    // Displays "7"
  30.   a+b+c+d+e+f+g,                            // Displays "8"
  31.   a+b+c+d+f+g,                              // Displays "9"
  32. };

  33. //*************************************************************
  34. //*************************************************************

  35. void Delay(unsigned int n);
  36. void start_bit();
  37. void stop_bit();
  38. void send_bit(unsigned char bit_out);
  39. unsigned char receive_bit();
  40. unsigned char slave_ack();
  41. void TX_byte(unsigned char TX_buffer);
  42. unsigned char RX_byte(unsigned char ack_nack);
  43. unsigned char PEC_cal(unsigned char pec[],int n);
  44. unsigned long int MEM_READ( unsigned char slave_addR, unsigned char cmdR );                                                
  45. void CALTEMP(unsigned long int TEMP);

  46. void mlx90614_POW_0() { P6OUT &= ~0x08;}  // define P6.3 ---> POW
  47. void mlx90614_POW_1() { P6OUT |= 0x08;}

  48. void mlx90614_GND_0() { P6OUT &= ~0x01;}  // define P6.0 ---> GND
  49. void mlx90614_GND_1() { P6OUT |= 0x01;}

  50. void mlx90614_SCL_0() { P6OUT &= ~0x04;}  // define P6.2 ---> SCL
  51. void mlx90614_SCL_1() { P6OUT |= 0x04;}

  52. void mlx90614_SDA_0() { P6OUT &= ~0x02;}  // define P6.1 ---> SDA
  53. void mlx90614_SDA_1() { P6OUT |= 0x02;}


  54. #define _SDA_OUTPUT P6DIR |=0x02; //Set SDA as Output
  55. #define _SDA_INPUT P6DIR &=~0x02; //Set SDA as Input

  56. #define SDA ((P6IN & BIT1)>>1) //define input pin

  57. //*************************************************************
  58. //*************************************************************

  59. void Delay(unsigned int n)
  60. {
  61.   unsigned int i;
  62.   for(i=0;i<n;i++)
  63.   _NOP();
  64. }

  65. //----------------------------------------------------------------------------------------------------------------------------------------//
  66. //Name: start_bit
  67. //----------------------------------------------------------------------------------------------------------------------------------------//
  68. void start_bit()
  69. {
  70.   _SDA_OUTPUT; //Set SDA as output
  71.   Delay(5);
  72.   mlx90614_SDA_1();
  73.   //Delay(30);
  74.   mlx90614_SCL_1();
  75.   
  76.   Delay(30);
  77.   mlx90614_SDA_0();
  78.   Delay(30);
  79.   mlx90614_SCL_0();
  80.   Delay(30);
  81.   
  82. }

  83. //----------------------------------------------------------------------------------------------------------------------------------------//
  84. //Name: stop_bit
  85. //----------------------------------------------------------------------------------------------------------------------------------------//
  86. void stop_bit()
  87. {
  88.   _SDA_OUTPUT; //Set SDA as output
  89.   Delay(1);
  90.   //mlx90614_SCL_0();
  91.   mlx90614_SDA_0();
  92.   Delay(2);
  93.   mlx90614_SCL_1();
  94.   Delay(2);
  95.   mlx90614_SDA_1();
  96. }

  97. //----------------------------------------------------------------------------------------------------------------------------------------//
  98. //Name: send_bit
  99. //----------------------------------------------------------------------------------------------------------------------------------------//
  100. void send_bit(unsigned char bit_out)
  101. {
  102.   _SDA_OUTPUT; //Set SDA as output
  103.   Delay(5);
  104.   if(bit_out==0) {mlx90614_SDA_0();}else{mlx90614_SDA_1();}
  105.   Delay(5);
  106.   mlx90614_SCL_1();
  107.   Delay(30);
  108.   mlx90614_SCL_0();
  109.   Delay(30);
  110. }

  111. //----------------------------------------------------------------------------------------------------------------------------------------//
  112. //Name: receive_bit
  113. //----------------------------------------------------------------------------------------------------------------------------------------//
  114. unsigned char receive_bit()
  115. {
  116.   unsigned char bit_in;
  117.   _SDA_INPUT; //Set SDA as input
  118.   Delay(5);
  119.   mlx90614_SCL_1();
  120.   Delay(5);
  121.   if(SDA==1){bit_in=1;}else{bit_in=0;}
  122.   Delay(10);
  123.   mlx90614_SCL_0();
  124.   Delay(30);
  125.   return bit_in;
  126. }

  127. //----------------------------------------------------------------------------------------------------------------------------------------//
  128. //Name: slave_ack
  129. //1 - ACK
  130. //0 -NACK
  131. //----------------------------------------------------------------------------------------------------------------------------------------//
  132. unsigned char slave_ack()
  133. {
  134.   unsigned char ack;
  135.   ack=0;
  136.   _SDA_INPUT; //Set SDA as input
  137.   Delay(5);
  138.   mlx90614_SCL_1();
  139.   Delay(10);
  140.   if(SDA==1){ack=0;}else{ack=1;}
  141.   Delay(10);
  142.   mlx90614_SCL_0();
  143.   Delay(30);
  144.   return ack;
  145. }

  146. //----------------------------------------------------------------------------------------------------------------------------------------//
  147. //Name: TX_byte
  148. //----------------------------------------------------------------------------------------------------------------------------------------//
  149. void TX_byte(unsigned char TX_buffer)
  150. {
  151.   unsigned char Bit_counter;
  152.   unsigned char bit_out;
  153.   for(Bit_counter=8;Bit_counter;Bit_counter--)
  154.   {
  155.     if(TX_buffer&0x80){bit_out=1;}else{bit_out=0;}
  156.     send_bit(bit_out); //Send the current bit on SMBus
  157.     TX_buffer<<=1; //Get next bit to check
  158.   }
  159. }

  160. //----------------------------------------------------------------------------------------------------------------------------------------//
  161. //Name: RX_byte
  162. //Parameters: unsigned char ack_nack (acknowledgment bit)
  163. //0 - Master device sends ACK
  164. //1 - Master device sends NACK
  165. //----------------------------------------------------------------------------------------------------------------------------------------//
  166. unsigned char RX_byte(unsigned char ack_nack)
  167. {
  168.         unsigned char RX_buffer;
  169.         unsigned char Bit_counter;
  170.         for(Bit_counter=8;Bit_counter;Bit_counter--)
  171.         {
  172.          if(receive_bit()==1) //Read a bit from the SDA line
  173.           {
  174.            RX_buffer<<=1; //If the bit is HIGH save 1 in RX_buffer
  175.            RX_buffer|=0x01;
  176.           }
  177.          else //If the bit is LOW save 0 in RX_buffer
  178.           {
  179.            RX_buffer<<=1;
  180.            RX_buffer&=0xfe;
  181.           }
  182.         }
  183.         send_bit(ack_nack); //Sends acknowledgment bit
  184.         return RX_buffer;
  185. }


  186. //----------------------------------------------------------------------------------------------------------------------------------------//
  187. //CALCULATE THE PEC PACKET
  188. //----------------------------------------------------------------------------------------------------------------------------------------//
  189. unsigned char PEC_cal(unsigned char pec[],int n)
  190. {
  191.     unsigned char crc[6];
  192.     unsigned char Bitposition=47;
  193.     unsigned char shift;
  194.     unsigned char i;
  195.     unsigned char j;
  196.     unsigned char temp;
  197.   do{
  198.     crc[5]=0; //Load CRC value 0x000000000107
  199.     crc[4]=0;
  200.     crc[3]=0;
  201.     crc[2]=0;
  202.     crc[1]=0x01;
  203.     crc[0]=0x07;
  204.     Bitposition=47; //Set maximum bit position at 47
  205.     shift=0;        //Find first 1 in the transmitted bytes
  206.     i=5; //Set highest index (package byte index)
  207.     j=0; //Byte bit index, from lowest
  208.     while((pec[i]&(0x80>>j))==0 && (i>0))
  209.     {
  210.      Bitposition--;
  211.      if(j<7){ j++;}
  212.      else {j=0x00;i--;}
  213.     }//the position of highest "1" bit in Bitposition is calculated
  214.     shift=Bitposition-8; //Get shift value for CRC value
  215.         
  216.     while(shift)
  217.     {
  218.       for(i=5;i<0xFF;i--)
  219.       {
  220.        if((crc[i-1]&0x80) && (i>0)) //Check if the MSB of the byte lower is "1"
  221.         { //Yes - current byte + 1
  222.          temp=1; //No - current byte + 0
  223.         } //So that "1" can shift between bytes
  224.        else { temp=0;}
  225.       crc[i]<<=1;
  226.       crc[i]+=temp;
  227.       }
  228.     shift--;
  229.     }
  230.     //Exclusive OR between pec and crc
  231.     for(i=0;i<=5;i++) { pec[i]^=crc[i]; }
  232.     }
  233.     while(Bitposition>8);
  234.     return pec[0];
  235.     }
  236.         
  237. //----------------------------------------------------------------------------------------------------------------------------------------//
  238. //READ DATA FROM RAM/EEPROM
  239. //----------------------------------------------------------------------------------------------------------------------------------------//
  240. unsigned long int MEM_READ(unsigned char slave_addR, unsigned char cmdR)
  241. {
  242.   unsigned char DataL; //
  243.   unsigned char DataH; //Data packets from MLX90614
  244.   unsigned char PEC; //
  245.   unsigned long int Data; //Register value returned from MLX90614
  246.   unsigned char Pecreg; //Calculated PEC byte storage
  247.   unsigned char arr[6]; //Buffer for the sent bytes
  248.   unsigned char ack_nack;
  249.   unsigned char SLA;
  250.   SLA=(slave_addR<<1);
  251. begin:
  252.   start_bit(); //Send start bit
  253.   TX_byte(SLA); //Send slave address, write
  254.   if(slave_ack()==0){stop_bit();goto begin;} //Send command
  255.   TX_byte(cmdR);
  256.   if(slave_ack()==0){stop_bit();goto begin;}//Send Repeated start bit
  257.   start_bit(); //Send slave address, read
  258.   TX_byte(SLA+1);
  259.   if(slave_ack()==0){stop_bit();goto begin;}
  260.   DataL=RX_byte(0); //
  261.   //Read two bytes data
  262.   DataH=RX_byte(0); //
  263.   PEC=RX_byte(ack_nack); //Read PEC from MLX90614
  264.   if(ack_nack==1) //Master sends ack or nack
  265.   //This depends on the pec calculation,
  266.   //if the PEC is not correct, send nack and goto begin
  267.   {stop_bit();goto begin;} //Send stop bit
  268.   stop_bit();
  269.   arr[5]=(SLA);
  270.   arr[4]=cmdR;
  271.   arr[3]=(SLA+1);
  272.   arr[2]=DataL;
  273.   arr[1]=DataH;
  274.   arr[0]=0;
  275.   Pecreg=PEC_cal(arr,6); //Calculate CRC
  276.   if(PEC==Pecreg){ ack_nack=0;}
  277.   else{ ack_nack=1;}
  278.   Data=(DataH*256)+DataL;
  279.   return Data;
  280. }

  281. //---------------------------------------
  282. //Name: CALTEMP           
  283. //Temperature data is T=(Data)*0.02-273.15
  284. //---------------------------------------
  285. void CALTEMP(unsigned long int TEMP)
  286. {
  287.    unsigned long int T;
  288.    unsigned int A, B;
  289.    //unsigned int tempb;
  290.    
  291.    T=TEMP*2;
  292.    if(T>=27315)
  293.    {
  294.      T=T-27315;
  295.      A=T/100;
  296.      B=T-A*100;
  297.      if(A>=100){A1=A/100;A=A%100;A2=A/10;A=A%10;A3=A;}
  298.      else if(A>=10){A1=0;A2=A/10;A=A%10;A3=A;}
  299.      else {A1=0;A2=0;A3=A;}
  300.      if(B>=10){A4=B/10;B=B%10;A5=B;}
  301.      else{A4=0;A5=B;}
  302.     }
  303.    else
  304.     {
  305.      T=27315-T;
  306.      A=T/100;
  307.      B=T-A*100;
  308.      A1=9;
  309.      if(A>=10){A2=A/10;A=A%10;A3=A;}
  310.      else{A2=0;A3=A;}
  311.      if(B>=10){ A4=A/10;B=B%10;A5=B;}
  312.      else{A4=0;A5=B;}
  313.     }
  314. }

  315. //------------------------------------------------------------------------------
  316. // LCD Test Code
  317. //------------------------------------------------------------------------------

  318. void LCD_CHECK()  // Clear LCD
  319. {
  320.   int j;
  321.   for( j = 0; j < 8; j ++) { LCDMEM[j] = 0; }
  322. }

  323. //------------------------------------------------------------------------------
  324. // Init_LCD.
  325. //------------------------------------------------------------------------------

  326. void Init_LCD()
  327. {
  328.   P5SEL  = 0x1C;                             // Set COM pins for LCD
  329.   LCDACTL = LCDON + LCD4MUX + LCDFREQ_128;   // 4mux LCD, ACLK/128
  330.   LCDAPCTL0 = 0x0F;                          // Segs S0-S15 = outputs
  331.   LCDAVCTL0 = LCDCPEN;                       // Enable LCDA charge pump
  332.   LCDAVCTL1 = VLCD_3_44;                     // to 3.26V
  333. }


  334. //*************************************************************
  335. //*************************************************************

  336. void main(void)
  337. {
  338.   volatile unsigned int i;                                                         
  339.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  340.   
  341.   SCFI0 |= FN_3;                            // Set DCO operating range
  342.   SCFQCTL = 121;                            // (121+1) x 32768 x 2 = 7.99 Mhz
  343.   FLL_CTL0 = DCOPLUS + XCAP14PF;            // DCO+ set so freq = xtal x D x N+1
  344.   for (i = 0; i < 10000; i++);              // Delay for 32 kHz crystal to
  345.   

  346.   P1OUT = 0;                            // All P1.x reset
  347.   P1IES = 0xC0;                         // P1.0, P1.1 hi/low edge
  348.   P1DIR = 0x3F;                         // P1.0/1 = input (switches)
  349.   P6DIR = 0xFF;                         // All P6.x outputs
  350.   P6OUT = 0;                            // All P6.x reset
  351.   P5SEL  = 0x1C;                            // Set COM pins for LCD
  352.   
  353.   mlx90614_GND_0();    //powr supply
  354.   mlx90614_POW_1();
  355.   
  356.   Init_LCD();
  357.   LCD_CHECK();
  358.   while (1)
  359.   {
  360.     unsigned long int i;
  361.     unsigned long int DATA;
  362.                               
  363.     DATA=MEM_READ(0x5a,0x07);
  364.     CALTEMP(DATA);
  365.      
  366.      //start_bit();
  367.      //A4=1; A5=2; A6=3; A7=4; A8=5;
  368.      
  369.      LCDMEM[0] |= a + f + e +d + h;
  370.      
  371.      LCDMEM[1] = char_gen[A5 & 0x0f];
  372.      LCDMEM[2] = char_gen[A4 & 0x0f];
  373.      LCDMEM[3] = char_gen[A3 & 0x0f];
  374.      LCDMEM[3] |= h;
  375.      LCDMEM[4] = char_gen[A2 & 0x0f];
  376.      LCDMEM[5] = char_gen[A1 & 0x0f];
  377.   
  378.      for (i = 0; i < 0x20000; i++);             // Delay  
  379.      for (i = 0; i < 0x20000; i++);             // Delay
  380.      
  381.   }
  382. }
復制代碼

所有資料51hei提供下載:
MLX90614ESF 傳感器 紅外非接觸溫度測量傳感器模塊1.zip (14.85 MB, 下載次數: 150)



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

使用道具 舉報

沙發
ID:697386 發表于 2020-2-24 14:15 | 只看該作者
你好我想學習一下這個軟件
回復

使用道具 舉報

板凳
ID:384489 發表于 2020-2-24 17:18 | 只看該作者
仍然感謝分享,雖然最近這個全網無貨。
回復

使用道具 舉報

地板
ID:697773 發表于 2020-2-25 10:58 | 只看該作者
onono 發表于 2020-2-24 17:18
仍然感謝分享,雖然最近這個全網無貨。

很應景啊這句話~~~
回復

使用道具 舉報

5#
ID:430492 發表于 2020-2-29 18:14 | 只看該作者
這個傳感器現在炒到幾倍價了,還是感謝樓主分享。
回復

使用道具 舉報

6#
ID:335836 發表于 2020-5-28 10:03 | 只看該作者
這個怎么用啊,程序怎么下單片機怎么接跪求大佬解答一下,來自做設計的卑微大學生
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
奇米影视亚洲狠狠色| 黄页网站在线看| 欧美国产激情18| 亚洲国产另类av| 青青草伊人久久| 乱中年女人伦av一区二区| a天堂在线资源| 深夜福利网站| xxxx国产精品| 顶臀精品视频www| 亚洲一区在线不卡| 日韩欧美亚洲日产国| 97免费在线视频| 亚洲国产美女精品久久久久∴| 中文字幕av一区二区三区| 亚洲一区视频| 免费电影一区二区三区| 成人黄色免费短视频| 91视频在线观看| 黄色av资源| 国产超级av| 蜜桃视频在线观看www| 久久久久女人精品毛片九一| 色欲AV无码精品一区二区久久 | 亚洲人成网亚洲欧洲无码| 欧美激情20| 午夜免费福利在线观看| 日本福利视频| 一级欧洲av| 欧美白人最猛性xxxxx| 国产人妻精品一区二区三| 久草资源在线视频| 中文字幕人妻一区二区三区在线视频| 五月激情婷婷在线| www.中文字幕在线| 中文字幕一区二区三区有限公司| av成人观看| 国产99视频精品免视看7| 伦理中文字幕亚洲| 亚洲欧美国产精品久久久久久久| 91精品国产色综合久久久蜜香臀| 欧美性感美女h网站在线观看免费| 久久久久久久久久美女| 国产成人精品亚洲日本在线桃色| 国产农村妇女毛片精品久久莱园子 | 成人高清视频在线| 久久超碰97中文字幕| 另类国产ts人妖高潮视频| 亚洲最新色图| 91一区二区| 精品一区二区三区的国产在线观看| 日本成人精品| 精品视频成人| 国产午夜久久av| 国产91在线播放精品| 欧美电影免费观看| 韩国成人漫画| 在线成人视屏| 日韩免费va| 国产不卡网站| 美女福利一区二区| 亚洲综合av一区二区三区| 蜜桃麻豆av在线| 日韩大片免费观看| 最新欧美色图| 桃花岛tv亚洲品质| 国产韩日精品| 国产高清精品二区| 亚洲高清999| 久久97久久97精品免视看秋霞| 精品福利一区| 久久93精品国产91久久综合| 人妖一区二区三区| 国产99久久久国产精品成人免费| 国产精品欧美日韩一区| 日韩欧美伦理| 欧美午夜久久| 男女精品视频| 麻豆成人在线观看| 懂色av一区二区夜夜嗨| 久久精品一区蜜桃臀影院| 成人免费一区二区三区视频| 一区二区三区四区在线免费观看| 亚洲国产综合在线| 在线视频一区二区免费| 欧美一级二级三级乱码| 日韩精品在线视频| 久久天堂电影网| 2018中文字幕一区二区三区| 国产精品久久久91| 国产精品久久久久免费| 伊人狠狠色丁香综合尤物| 福利在线一区二区| 婷婷丁香激情网| 日韩Av无码精品| 中文字幕求饶的少妇| wwwxxx亚洲| 成人午夜精品福利免费| 嫩草影院永久一二三入口| 日本黄色免费在线观看| 日本中文视频| 免费在线观看黄| 色综合一本到久久亚洲91| 在线综合色站| 中文字幕一区二区三三| 免费看黄色91| 国产亚洲污的网站| 天涯成人国产亚洲精品一区av| 欧美日韩免费一区二区三区视频| 亚洲精品影视在线观看| 欧美一区二区三区免费观看| 国产一区精品视频| 自拍日韩亚洲一区在线| 污网站免费观看| 久久久久久福利| 国产黄色一级大片| 人与牲动交xxxbbb| 日本私人网站在线观看| 白浆视频在线观看| 欧美wwwsss9999| 国产亚洲精品v| 91免费在线看| 欧美视频日韩视频在线观看| 主播福利视频一区| 国产有码一区二区| 91精品一区二区三区四区| 日本美女久久久| 欧美日韩免费一区二区| 黄色a在线观看| 蜜桃av网站| a级影片在线| youjizz欧美| 久久国产欧美| 国产精品传媒视频| 日韩欧美一区在线| 人体精品一二三区| 中文字幕一区二区三区最新 | 国产视频一区欧美| 久久只精品国产| 欧美系列亚洲系列| 欧美精品videos性欧美| 蜜桃免费一区二区三区| 亚洲免费999| 国产精品成人aaaa在线| 亚洲精品国产一区二区| 天堂在线中文字幕| 免费看日产一区二区三区| 99国产精品久久久久久久成人热| 亚洲国产岛国毛片在线| 精品日韩在线一区| 成人国产在线视频| 国产成人av影视| 黄网站免费在线| 国产精品免费视频一区二区三区| 国产永久av在线| 99香蕉久久| 国产曰批免费观看久久久| 黑人巨大精品欧美一区二区三区 | 一区二区三区网址| 你懂的国产视频| 精品中文字幕不卡在线视频| 大地资源中文在线观看免费版| 日韩视频1区| 国产一区二区三区国产| 欧美午夜宅男影院| 国产精品视频免费在线| 凹凸国产熟女精品视频| 日韩成人一区二区三区| xxxxwwww欧美| 国产精品一品| 亚洲欧洲一区| 亚洲二区在线观看| 欧美精品videos| av免费观看大全| 日韩精品一区二区不卡| 黄色大片a级| 久久91导航| 日韩精品电影在线观看| 91电影在线观看| 国产精品久久久| 五月天亚洲视频| 一级片免费网站| 中文字幕在线视频不卡| 国产精品色呦| 久久亚洲欧美国产精品乐播| 日韩电影在线观看中文字幕| 精品伊人久久大线蕉色首页| 91精品国产自产| 在线观看精品视频一区二区三区| 91高清在线观看视频| 欧美日韩网址| 疯狂做受xxxx高潮欧美日本| 国产成人免费av电影| 一级黄色特级片| 亚洲国产精品视频在线| 97电影在线| 激情自拍一区| 欧美亚洲禁片免费| 91视频国产精品| 182在线视频| 国产你懂的在线观看| 亚洲三级欧美| 韩国精品在线观看| 亚洲欧美国产视频| 久久观看最新视频| 精品久久久久久久久久久久久久久久久久| 免费看成一片| 国产精品麻豆久久| 色婷婷综合视频在线观看| 成人久久一区二区三区| 老牛影视av老牛影视av| 91freevideo| 国产亚洲精aa在线看| 国产日韩一级二级三级| 久久久爽爽爽美女图片| 污网站在线免费| 中文字幕在线久热精品| 韩国精品视频在线观看| 99精品国产热久久91蜜凸| 俺去啦;欧美日韩| 亚洲自偷自拍熟女另类| 亚洲国产精品久久久久久6q| 123区在线| 国产成人一区二区精品非洲| 日韩在线中文字幕| 久久久国产欧美| 一区二区三区激情视频| 九九九伊在线综合永久| 93久久精品日日躁夜夜躁欧美| 麻豆一区二区在线观看| 色一情一区二区| 久热国产在线视频| 岛国精品一区| 午夜电影一区二区| 国偷自产av一区二区三区小尤奈| 久久婷婷一区二区| 久久久久久女乱国产| 久久久精品网| 一本一本久久a久久精品牛牛影视| 日韩欧美视频网站| 俄罗斯男人又粗又大| 亚洲一区二区小说| 亚洲免费av网站| 国产一区二区三区色淫影院| 国产一级做a爱片久久毛片a| 日本黄色片在线观看| 国产综合色视频| 久久久日本电影| 90岁老太婆乱淫| 久久白虎精品| 日韩精品一区第一页| 日韩在线小视频| 四虎精品一区二区| 毛片视频免费观看| 亚洲永久视频| 久久av在线播放| 国产精品果冻传媒| 黄色三级电影网站| 国产精品毛片在线| 日韩中文字幕网站| 国产性生活毛片| 中文字幕第12页| 日本vs亚洲vs韩国一区三区二区| 久久精品国产96久久久香蕉 | 日本视频网址| 欧美一二区在线观看| 日韩一级片网址| 日韩一级在线免费观看| 影音先锋2020资源| 综合亚洲视频| 色琪琪综合男人的天堂aⅴ视频| 男男受被啪到高潮自述| 波多野结衣在线中文| 亚洲综合日本| 欧美极品美女电影一区| 国产成人免费在线观看视频| 成人性爱视频在线观看| 99精品欧美一区二区三区小说| 国产精品视频一区国模私拍| 国产 欧美 日韩 在线| 国产自产自拍视频在线观看| 亚洲欧美欧美一区二区三区| 日本一区二区免费看| 亚欧洲精品视频| 亚洲免费福利一区| 亚洲国产精品热久久| 久久久久99人妻一区二区三区| 免费av网页| 国产在线不卡一区| 亚洲最大的网站| 国产精品久久久久久免费免熟 | 日本成人一区二区三区| 成人一区二区三区中文字幕| 91色p视频在线| 亚洲精品久久久狠狠狠爱| 欧美日韩一本| 亚洲福利视频免费观看| 好吊一区二区三区视频| 国产三级视频在线看| 亚洲国产高清在线观看视频| 亚洲欧洲精品在线观看| 国产麻豆免费| 久久国产88| 国产精品国产福利国产秒拍| 中文字幕日产av| 国产三级精品三级在线观看国产| 亚洲成人亚洲激情| 国产熟妇久久777777| 老司机福利在线视频| 亚洲欧美日韩成人高清在线一区| 伊人精品久久久久7777| 日日操夜夜爽| 精品一区二区三区欧美| 亚洲精品日韩激情在线电影| 精品人妻一区二区三区浪潮在线| 久久99高清| 欧美黄色www| 精产国品一区二区| 国产一区二区三区亚洲| 亚洲欧美色图片| 99热精品免费| 亚洲一区二区三区久久久| 精品国产成人系列| 欧美做受xxxxxⅹ性视频| 国产第一页在线| 欧美色视频在线观看| 中文字幕乱视频| 在线播放免费av| 欧美性极品少妇| 国产精品无码在线| av资源在线| 欧美一区二区三区在线| 中国毛片在线观看| 外国成人直播| 欧美成人福利视频| 日本美女黄色一级片| 99亚洲男女激情在线观看| 亚洲欧美另类自拍| 久久久精品视频在线| 伊人www22综合色| 久久天堂电影网| 艳妇乳肉豪妇荡乳av| 久久人人99| 国产mv久久久| 最近中文字幕免费mv视频多少集| 香蕉久久夜色精品国产| 国产91精品入口17c| 一个人看免费www视频有多爽| 国产成人综合在线播放| 午夜啪啪福利视频| 绯色av一区二区| 亚洲国产综合色| 亚洲欧美在线不卡| 久久天天久久| 波霸ol色综合久久| 国产免费黄色大片| 一本色道久久综合亚洲精品高清 | 在线成人动漫av| 97免费在线视频| 亚洲日本伊人| 国产一区二区导航在线播放| 熟女熟妇伦久久影院毛片一区二区| 男男做性免费视频网| 亚洲精品第一国产综合野| 在线成人免费av| 日韩性xxx| 久久国产精品久久精品| 亚洲AV午夜精品| 天使萌一区二区三区免费观看| 欧美视频观看一区| 一级少妇精品久久久久久久| 亚洲人体视频| 中文字幕无线精品亚洲乱码一区 | 色猫猫国产区一区二在线视频| 国产不卡一二三| 9999精品免费视频| 久久久这里只有精品视频| 欧亚成年男女午夜| 国产精品系列在线观看| wwwwww欧美| 在线免费观看黄| 日韩欧美区一区二| 青青青国产在线| 黄色成人在线网站| 视频一区视频二区视频三区高| h网址在线观看| 在线免费观看视频一区| 久久婷婷综合国产| 中文字幕一区二区三区欧美日韩| 精品在线视频一区二区| 偷拍25位美女撒尿视频在线观看| 91久久国产最好的精华液| wwwav国产| 图片小说视频色综合| 农村寡妇一区二区三区| 九草视频在线观看| 在线观看91av| 中文字幕一区2区3区| 日韩电影在线一区| 日本国产在线播放|