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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12127|回復: 5
收起左側

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

[復制鏈接]
ID:378239 發表于 2018-7-23 23:43 | 顯示全部樓層 |閱讀模式
MLX90614ESF+傳感器+紅外非接觸溫度測量傳感器模塊程序源代碼,用msp430的單片機

電路原理圖如下:
0.png

單片機源程序如下:
  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)



回復

使用道具 舉報

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
仍然感謝分享,雖然最近這個全網無貨。

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

使用道具 舉報

ID:430492 發表于 2020-2-29 18:14 | 顯示全部樓層
這個傳感器現在炒到幾倍價了,還是感謝樓主分享。
回復

使用道具 舉報

ID:335836 發表于 2020-5-28 10:03 | 顯示全部樓層
這個怎么用啊,程序怎么下單片機怎么接跪求大佬解答一下,來自做設計的卑微大學生
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
wwwwxxxx国产| 亚洲国产成人一区二区三区| 一区二区三区欧美日韩| 亚洲第一中文字幕| 91亚洲国产成人精品性色| 欧美成人精品欧美一级乱| a级片在线观看免费| 四虎影视最新网址| yiren22亚洲综合伊人22| 影音先锋欧美激情| 国产精品亚洲专一区二区三区 | 精品成人一区二区三区四区| 国产视频观看一区| 亚洲一区二区蜜桃| 午夜精品久久久久久久蜜桃| 九色在线91| 高清精品久久| 国产在线日韩欧美| 337p亚洲精品色噜噜噜| 国产精品视频区1| 天堂一区在线观看| 波多野结衣一区二区三区四区| 黄漫在线观看| 成人精品动漫| 捆绑紧缚一区二区三区视频| 欧美性受xxxx黑人xyx性爽| 欧美亚洲成人xxx| 久久精品99久久香蕉国产色戒| 国产在线资源一区| 国产在线观看无码免费视频| 天天干,夜夜爽| 日本暖暖在线视频| 欧美亚洲不卡| 天天综合网天天综合色| 国产91露脸中文字幕在线| 91国产精品视频在线观看| 又骚又黄的视频| 亚洲色图16p| 成人羞羞网站入口| 亚洲高清久久久| 国产精品久久999| 久久久九九九热| 十八禁一区二区三区| 成人午夜在线影视| 午夜影院日韩| 欧美一区二区日韩| 欧美日本韩国一区二区三区| 69夜色精品国产69乱| 黄色网址网站| 国产精品丝袜在线播放| 日本一区二区综合亚洲| 欧美激情在线观看| 国产wwwxx| 欧美77777| 四虎.com| japanese23hdxxxx日韩| 国产精品一区三区| 伊人精品在线观看| 成人午夜免费在线| 国产人妻精品一区二区三区| 精品自拍一区| 老司机午夜精品视频| 日韩精品一区二区三区视频| 亚洲日本精品一区| 日本黄色一级视频| 国产一区二区三区福利| 亚洲国产午夜| 日韩亚洲欧美综合| 日本成人性视频| 波多野结衣大片| av在线播放av| 日韩国产在线一| 日韩精品极品在线观看播放免费视频| a级网站在线观看| 中文字幕一级片| 久久精品视频观看| 日韩国产精品91| 亚洲男人的天堂在线| 欧美日韩性生活片| 亚洲女人18毛片水真多| 国产99在线观看| 国产欧美日韩在线一区二区| 一区二区三区四区激情 | 亚洲国产精品久久艾草纯爱| 国产精品一区二区三区久久| xxx在线播放| 免费男女羞羞的视频网站中文版| 免费看成人哺乳视频网站| 欧美日韩在线免费观看| 免费一区二区三区| 岛国av中文字幕| 国产原创在线观看| 狠狠久久亚洲欧美| 欧美成人精品激情在线观看| 97人人模人人爽人人澡| 啪啪免费网站| 欧美电影《睫毛膏》| 日韩一区二区三区免费看| 中文字幕人妻熟女人妻洋洋| 手机在线不卡av| 成人影院网站ww555久久精品| 首页国产精品| 在线观看网站黄不卡| 亚洲精品国产精品国自产| 一级黄色a毛片| 最近最好的中文字幕2019免费| 一区二区三区午夜视频| 精品国产免费视频| 国产免费人做人爱午夜视频| 国产chinese男男gaygay网站| 天海翼精品一区二区三区| 国产日韩一级二级三级| 国产日韩欧美成人| 国产网友自拍视频| 在线免费观看的av| 久久久国产精品不卡| 成人免费在线网址| 国产性xxxx高清| 欧美xxx黑人xxx水蜜桃| 久久久亚洲精品石原莉奈| 成人黄色免费网站在线观看| 久久一区二区三区视频| 91吃瓜在线观看| 中文字幕在线视频一区| 久久人人爽爽人人爽人人片av| 中文人妻熟女乱又乱精品| 中文字幕在线官网| 亚洲一区二区三区视频在线播放 | 国产精品av免费| 人人妻人人澡人人爽精品日本| 日本精品视频| 欧美少妇xxx| 69堂免费视频| 秋霞午夜电影| 日韩午夜免费| 欧美美女15p| 日本美女黄色一级片| 色的视频在线免费看| 久久精品无码一区二区三区| 精品产品国产在线不卡| а√中文在线资源库| 成人动漫视频| 日韩一区二区麻豆国产| 最新国产黄色网址| 毛片手机在线观看| 精品一区二区三区免费毛片爱| 97色在线视频| 国产第一页第二页| 国模套图日韩精品一区二区| 很黄很黄激情成人| 亚洲欧洲黄色网| 亚洲av无码国产精品久久| 久草视频在线看| 久久夜色精品国产噜噜av| 麻豆精品传媒视频| 亚州男人的天堂| 四虎成人av| 久久天天躁狠狠躁老女人| 99自拍视频在线| av影院在线| 亚洲成人免费在线观看| 男的插女的下面视频| 开心婷婷激情| 免费xxxx性欧美18vr| 国产精品中文字幕久久久| 最近中文字幕在线免费观看 | 久久97久久97精品免视看| 特黄一区二区三区| hd国产人妖ts另类视频| 亚洲国产精品久久人人爱蜜臀| 男人日女人视频网站| se在线视频| 激情久久五月天| 2022国产精品| 亚洲 欧美 自拍偷拍| 亚洲成人一区| 91精品国产高清| 欧美一区二区三区久久久| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 综合激情五月婷婷| 亚洲精品福利在线| 人与嘼交av免费| 99riav视频在线观看| 日本韩国一区二区| 亚洲网中文字幕| 日本在线免费中文字幕| 一区二区三区四区国产精品| 欧在线一二三四区| 日韩欧美亚洲系列| 亚洲色图制服丝袜| 久久久999视频| 天堂在线视频| 国产精品女主播在线观看| www.男人天堂网| 国产美女特级嫩嫩嫩bbb片| 99天天综合性| 亚洲成人动漫在线| 1234区在线观看视频免费| 成人免费观看av| 一区二区三区四区视频在线观看| 91精品国产91久久久久久三级| 外国电影一区二区| 69久久夜色精品国产69蝌蚪网 | 亚洲高清黄色| 精品剧情v国产在线观看在线| 午夜理伦三级做爰电影| 成人直播视频| 亚洲爱爱爱爱爱| 午夜国产小视频| 久久精品九色| 久久精品欧美视频| 精品成人无码久久久久久| 精品国产91| 57pao精品| 日本黄色大片视频| 免费亚洲网站| 久久久精品动漫| bbw丰满大肥奶肥婆| 91丝袜美腿高跟国产极品老师| 男人天堂网站在线| 中国在线观看免费国语版电影| 一区免费观看视频| 777视频在线| 麻豆网站在线| 欧美高清一级片在线| 婷婷综合在线视频| 日本免费精品| 欧美极品在线视频| 三级小视频在线观看| 日韩和欧美一区二区| 亚洲色图欧美视频| 日韩欧美小视频| 久99久精品视频免费观看| 亚洲深夜福利在线| 女人另类性混交zo| 四虎永久网址| 亚洲91网站| 亚洲国产色一区| 国产精品免费一区二区三区四区| 久热精品在线观看| 1024视频在线| 国产精品资源站在线| 九九九久久久久久| 中文字幕乱码一区| 成人福利网址| 欧美成人亚洲| 精品日韩一区二区三区 | 亚洲先锋影音| 欧美高清视频一二三区| 自拍另类欧美| 人妻丰满熟妇av无码久久洗澡| 你懂的视频网址| 日韩精品丝袜美腿| 在线精品视频免费播放| 黄色一级片网址| 欧美自拍第一页| 中文成人在线| 欧美日韩精品在线视频| 欧美成人综合一区| 国产精品久久影视| 婷婷午夜社区一区| 亚洲四区在线观看| 久久久久欧美| 国产深喉视频一区二区| 久久av影院| 亚洲不卡av一区二区三区| 日本三级中国三级99人妇网站| 国产精品视频在线观看免费| 国产在线日韩在线| 激情综合网五月激情| 26uuu久久综合| 超碰在线资源站| 色综合久久久| 97av在线播放| 免费看大片爽| 一区二区三区不卡在线观看 | 55av亚洲| 欧美成年人在线观看| 四虎www4hu永久免费| 国产日韩欧美一区二区三区综合 | 亚洲特级黄色片| 九九精品视频在线看| 国产av无码专区亚洲精品| 日韩电影免费观| 97久久久免费福利网址| 青青草免费观看完整版高清| 亚洲自拍偷拍综合| 日韩一区二区三区四区在线| 欧美在线影院| 少妇高潮流白浆| 日本一本在线免费福利| 久久精品国产清自在天天线| 国产成人无码精品久久二区三| 国产精品色呦| 国产一区二区不卡视频| 青青青免费视频在线2| 亚洲国产精品yw在线观看| 性欧美videos另类hd| 99re热这里只有精品免费视频| 一级黄色免费视频| 欧美大胆视频| 国产美女在线精品免费观看| 天堂av在线播放| 亚洲精品综合精品自拍| 亚洲成人在线电影| 久久er精品视频| 亚洲成人福利在线观看| 91麻豆精品国产综合久久久| 成人h视频在线| 影院免费视频| 精品欧美乱码久久久久久1区2区| 国产后入清纯学生妹| 91麻豆国产在线观看| 久操视频在线观看免费| 国产综合欧美| 欧美韩国日本在线| 欧美日本三级| 久久精品ww人人做人人爽| 亚洲欧美视频一区二区| 麻豆国产精品va在线观看不卡| 你懂的网址视频| 欧美高清www午色夜在线视频| jlzzjlzzjlzz亚洲人| 久久精品人人做人人爽97| 欧美一级片在线视频| 日韩精品一卡二卡三卡四卡无卡| 久久99999| 久久91精品| 国产女教师bbwbbwbbw| 欧美爱爱视频| 国产精品.com| 中国av在线播放| 日本中文字幕久久看| 国产91久久久久蜜臀青青天草二 | 69久久精品| 色综合色综合久久综合频道88| 激情综合丁香| 亚洲精品v欧美精品v日韩精品| 亚洲精品7777| 色噜噜狠狠色综合欧洲selulu| 国产又黄又大又爽| 国产精品盗摄一区二区三区| 日韩欧美国产亚洲| 99久久久免费精品国产一区二区| 国产欧美一区二区三区在线观看视频| 国产一级一区二区| 免费人成视频在线播放| 婷婷综合视频| 国产成人精品无码播放| 最新亚洲精品| cao在线观看| 国产日韩三级| 一区二区三区av在线| 亚洲国产伊人| 亚洲高清不卡一区| 中文字幕日韩亚洲| 日韩电影在线播放| 国产美女久久| 日本电影一区二区三区| 国产成人免费| 亚洲不卡一卡2卡三卡4卡5卡精品| 日产精品一区| 久久久av水蜜桃| 久久精品国产福利| 亚洲国产成人不卡| 成人网av.com/| 亚洲区成人777777精品| xxxx日韩| 青青草精品视频在线| 蜜桃成人av| 日本韩国在线不卡| 日韩大片b站免费观看直播| 国模私拍视频一区| 免费在线稳定资源站| 欧美一区视频在线| 尤物网在线观看| 国产精品网站入口| 青春草视频在线| 成人免费看片网址| 岛国在线视频| 青青草国产精品一区二区| 最新国产在线观看| 国产91精品网站| 七七成人影院| 国外成人在线视频网站| 亚洲不卡系列| 亚洲欧美日韩不卡| 日韩手机在线| 国产天堂在线播放| 97色成人综合网站| 少妇大叫太大太粗太爽了a片小说| 日韩美女精品| 99视频在线视频| 亚洲国产精品一区制服丝袜| 亚洲一区二区观看| 国产91在线|亚洲| 日本视频在线观看免费| 亚洲综合男人的天堂| 亚洲日本在线播放| 精品国产乱码91久久久久久网站|