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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

GY-906 MLX90614紅外測溫模塊單片機代碼及全部注釋 OLED顯示 非接觸式智能測溫系統

  [復制鏈接]
跳轉到指定樓層
樓主
ID:578997 發表于 2020-10-22 10:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本程序出自:http://www.zg4o1577.cn/bbs/dpj-181601-1.html
本作品大部分內容來自于網上轉載,做出了一些修改,目前也不是很完善,望大家能繼續完善本開源作品,一起學習,共同進步,感謝開源作者,感謝大家:

非接觸式智能測溫系統

本系統以單片機STC89C51為核心,使用紅外傳感器作為感應器,檢測是否有人要進行溫度測量,將檢測的結果轉化為電信號傳輸至單片機中。單片機再進行判斷是否啟用紅外測溫傳感器進行溫度數據采集。將采集的數據送至單片機進行計算、處理后傳輸到OLED顯示屏進行顯示,并且由MP3播放器進行播報溫度是否正常。


隨著人們對自身安全和健康要求的不斷提高,原有接觸式水銀溫度腋測法的缺點不斷顯露。其接觸式的體溫測量方法可能直接導致發熱類的傳播。臨床上常用的水銀體溫計雖價格便宜,測量性能穩定,但缺點明顯,測溫時間長,消毒繁瑣,易破損,造成水銀泄漏,增加護理工作量和潛在危險性,
不適用于人員流動較大的公共場所進行體溫篩查。選擇一種快速、簡單、精確的體溫篩查器械尤為重要,紅外體溫測量裝置在大規模人群防控傳染病監測中具有較好的應用效果,具有適應性高、響應快、精度高、可動態監測等優勢。
因此許多國家紛紛采取措施,主要方法是采用手持式的紅外測溫儀檢測。該方式的優點是不接觸皮膚,對人體無任何害處,而且速度快,在1秒鐘內就能鑒別被檢測者是否發燒,缺點是增加了檢測者的感染幾率,給他們造成很大的心理負擔。在復學的同時,我們迎來了電子系統設計,借助這次設計作品的機會我們研發了一款具有自動感應、自動測量、智能播報的非接觸式智能測溫系統,該系統不僅可以提高測量效率,還可以有效地解決檢測者被感染的問題。
二、系統硬件的具體設計與實現
2.1系統原理和框圖
非接觸式智能測溫系統的硬件組成如下圖2-1所示。本系統主要由STC89C51單片機及其外圍電路、紅外檢測傳感器、紅外測溫傳感器、顯示裝置、MP3播放器等五部分組成。單片機循環檢測由紅外傳感器檢測傳輸來的電信號,據此產生的電信號來判斷是否有人,同時紅外測溫傳感器進行相應的工作方式。當檢測到有人靠近時,紅外測溫傳感器開始運行,此時OLED顯示屏上將會顯示當前檢測者的溫度,并且進行語音播報溫度是否正常(體溫在36.2°—37.2°之間播放:體溫正常且綠燈亮起;否則,播報體溫異常且紅燈亮起)。如果沒有人靠近,OLED顯示屏將會在2秒之后進行熄屏。此時紅外傳感器繼續檢測是否有人。
                                    
           圖2-1系統設計框圖

2.2主控芯片
該作品采用了STC89C51作為控制核心,對每個模塊傳送過來的數據進行處理并發送。該單片機是一種低功耗、高性能CMOS8位微控制器,具有8K字節系統可編程Flash存儲器,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C51為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。內部看門狗定時器、低電壓復位和低電壓檢測等內部保護特性。
2.3紅外測溫傳感器
2.3.1紅外測溫原理
紅外測溫系統是采用紅外測溫模塊接收不同光譜,經過STC89C51單片機處理后在OLED顯示模塊上顯示不同數字來實現的。物體或人的不同溫度反應出不同的光譜,紅外測溫系統發射一束光到物體或人的表面,然后反射到紅外測溫模塊中接收,其物體或人的溫度的光譜經過紅外測溫模塊處理后,將以數字信號傳給單片機,再由OLED顯示模塊顯示出來。
2.3.2 GY-906 MLX90614的特點
1)應用范圍廣泛,適用于恒溫控制、工業系統、消費類產品、溫度計或任何熱敏系統。
2)體積小巧,可安裝于狹小的空間范圍內,進行溫度測量。
3)易集成。
4)3V和5V電源電壓。
(5)節能工作模式。
(6)車用級別標準。
2.4紅外感應傳感器
該傳感器對環境光線適應能力強,其具有一對紅外線發射與接收管,發射管發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收。經過比較器電路處理之后綠色指示燈會亮起,同時信號輸出接口輸出數字信號(一個低電平)。該傳感器的探測距離可以通過電位器調節、具有干擾小、便于裝配、使用方便等特點。



2.5顯示裝置
OLED(Organic Light-Emitting Diode)有機發光二極管又稱為有機激光顯示、OLED顯示技術具有自發光的特性、采用非常薄的有機材料涂層和玻璃基板、當有電流通過時、這些有機材料就會發光、而且OLED顯示屏幕可視角大、功耗低、OLED由于同時具備自發光、不需背光源、對比度高、厚度薄視角廣、反應速度快、可用于撓曲面板、使用溫度范圍廣、結構及制程等優異之特性、先接觸的1286屏都是LCD的、需要背光、功耗較高,OLED的功耗低、更加適合小系統、由于兩者發光材料的不同、在不同的環境中、OLED的顯示效果好、模塊供電可以是3.3v也可以是5v、不需要修改模塊電路、OLED屏具有多個控制指令、可以控制OLED的亮度、對比度、開關升壓電路等指令、操作方便、功能豐富、可顯示漢字、ASCII、圖案等、同時為了方便應用在產品上、預留4個M3固定孔、方便用戶固在機殼上。
2.6 MP3播放器
YS-M3語音播放器的特點有:
(1)觸發一次播放一次。
(2)9個觸發端口,直接觸發播放。
(3)結合單片機IO口編碼觸發播放31首MP3。
(4)內部帶3W功放,滿足大部分應用要求。
三、系統軟件設計
3.1 程序描述
程序中主要用到的知識點有:單片機定時器、紅外測溫傳感器的I2C通信方式和溫度計算、OLED的顯示、延時函數的調用以及LED燈的亮滅等。其中,單片機中的定時器尤為重要,主要用于產生固定時間,也可以作為UART等外設的頻率發生器。
3.2 程序設計思路
紅外感應傳感器一旦檢測到有人靠近,紅外測溫模塊開始采集溫度數據并送至單片機進行計算,再將單片機計算出來的數據進行比較,若在正常范圍值,則單片機發送一個低電平信號到MP3播放器進行播報“體溫正常”且綠燈亮起。否則,播報“體溫異常”且紅燈亮起。同時,OLED顯示屏也將從單片機得到處理完的溫度數據進行顯示當前檢測溫度,若在兩秒后沒人檢測溫度,OLED顯示屏將會熄滅。此時紅外感應傳感器持續檢測是否有人。
3.3 程序流程圖
作品的程序流程圖如下圖3-1所示,紅外感應傳感器一旦檢測到有人,將會發送一個低電平信號到單片機中,單片機即發出開始信號START,緊接著在總線上發出尋址信號(AddressByte),其地址信息的讀/寫控制位為1時,表示對GY-906進行讀操作。單片機接收到GY-906的應答信號,通信建立起來,接著GY-906發送溫度數據的高8位。單片機則開始一位一位的接收GY-906發出的溫度數據,然后保存,完成8位數據接收后,單片機便發送一個應答信號。GY-906收到應答信號后,再發送溫度數據的低8位。單片機收到并保存低8位數據后,單片機在緊隨的下一個周期拉高SDA,發送不應答信號。由此單片機將得到十六位二進制數并加以處理,變成十進制的BCD碼,最后通過顯示屏顯示出來。

                                               

                      圖3-1系統程序流程圖


四、系統創新
1、相對于額溫槍而言,該作品采用了智能感應,實現了非接觸式紅外測溫,可以有效地解決檢測者被感染的問題。
2、在OLED顯示溫度的基礎上,增加了智能語音播報系統,免去了人眼去獲取數據的步驟。
3、在GY-906紅外測溫的探頭上添加了菲涅爾光學透鏡,增加了紅外探頭的測試距離,也使整個測試系統更加穩定。
五、相關調試
5.1 電前檢查
任何電子電路在組裝好之后,都必須要進行線路檢查,以免出現短路。檢查的方法就是按照一定順序對照著電路圖進行逐級檢查,其中要特別注意電源是否連接正確,電源與地是否有短接,集成電路和晶體管的引腳是否連接正確,用手輕輕觸動一下元器件看焊點是否焊牢等等。
5.2 通電檢查
將所需電源電壓數值先調試好之后,就可以接通電路電源。電源接通之后,先觀察電路是否出現異,F象,例如出現冒煙、異常氣味以及器件發燙等等。如果出現上述異,F象就應該立即斷開電源,在確保 排除故障后才能再次接通電源。然后,測量每個集成塊的電源引腳電壓是否正常,確保集成電路已進行正常的通電工作。
5.3 軟件調試
硬件調試完之后還要進行軟件調試,就是將程序寫入到單片機的存儲器中來實現整個實物的設計功能。
六、結論
體溫作為防控篩查的重要指標之一,其數據需高度準確,以利于醫護人員及時采取防控措施。在體溫篩查中,應用非接觸式智能測溫系統進行體溫初步篩查安全、有效,測量時間短,節約時間,降低感染風險,節省工作人員勞動量等。
在此次非接觸式智能測溫控制系統的設計中,讓我感覺到了單片機應用的廣泛性,它很貼切我們的日常生活,應用無處不有,它并不是想象中的那么復雜。在設計中,要充分了解所用芯片的使用條件及輸入輸出的特性,這樣才能避免因使用錯誤而多走彎路。電路設計部分應該有的精神就是廣集資料。只憑借自己頭腦中的知識是遠遠不夠的。哪里出現了問題,就要翻書本,或上網查資料。當然也要開動自己的腦筋怎樣使系統電路更完美。例如我的設計是非接觸式智能測溫系統。有非接觸式測溫,自然會用到紅外測溫傳感器,每種紅外測溫傳感器都有不同的特性和功能,你就要進行選擇了。例如對紅外測溫傳感器的選擇,你就要選擇你所熟悉的、所了解的。在電路設計時,應充分發揮單片機的記憶運算、判斷控制能力,避免采用復雜的、穩定性較差的模擬電路。為了使微機控制系統各種硬件設備能夠正常運行,有效地實現作品的相關功能,除了要設計合理的硬件電路,還必須要有高質量的軟件支持,兩者相輔相成,共同維持系統的正常運作。
   七、單片機+MLX90614代碼及作品圖
  1. #include "reg52.h"
  2. #include "stdio.h"
  3. #include "LQ12864.h"
  4. #include "GY906.h"
  5. #include "eepom.h"

  6. sbit  hongwai=P1^5;                                  //紅外感應傳感器
  7. sbit MP3_1 = P2^4;                                              //語音播放異常
  8. sbit MP3_2 = P2^5;                                                  //語音播放正常
  9. sbit LED1 = P1^2;                                                  //紅色LED燈
  10. sbit LED2 = P1^3;                                                  //綠色LED燈

  11. float  wendu_change;
  12. unsigned int temp_int;
  13. unsigned int  temp ;
  14. unsigned int ceshi ;
  15. uint temp_[3]={0};
  16. uint biaohao_num_[3]={0};
  17. uchar diaplay_5s = 0;                        //讀取顯示
  18. uchar flage_5s;                         //5s計時
  19. uint zhancun;
  20. uchar first_flage = 1;


  21. /*

  22. 紅外感應傳感器 P1^5;
  23. 語音播放       P2^4/P2^5
  24. LED            P1^2/P1^3

  25. oled  端口定義
  26. sbit SCL_OLED=P1^0; //串行時鐘
  27. sbit SDA_OLED=P1^1; //串行數據

  28. //GY-906 端口定義
  29. sbit  SCL=P2^6;// 時鐘線
  30. sbit  SDA=P2^7;// 數據線
  31. */



  32. void oled_gd_diaplay()
  33. {
  34.         
  35.                 OLED_P16x16Ch(70,0,0);         //溫
  36.                 OLED_P16x16Ch(90,0,1);        //度
  37.                 OLED_P16x16Ch(110,0,2);        //:
  38. //                dxzm('.',70,0);                        //.
  39.         
  40. }

  41. void oled_wendu()
  42. {

  43.         char i;
  44.         if(temp > 0)
  45.         {
  46.                         if (0 == diaplay_5s)        
  47.                         {
  48.                                 
  49.                                         OLED_P16x16Ch(0,0,3);          // 閩
  50.                                 OLED_P16x16Ch(20,0,4);             // 南
  51.                                         OLED_P16x16Ch(40,0,5);          // 科
  52.                                 OLED_P16x16Ch(60,0,6);             // 技
  53.                                         OLED_P16x16Ch(80,0,7);          // 學
  54.                                 OLED_P16x16Ch(100,0,8);             // 院

  55.                                 OLED_P16x16Ch(0,4,0);              // 溫
  56.                                 OLED_P16x16Ch(20,4,1);             // 度
  57.                                 OLED_P16x16Ch(40,4,2);             //  :
  58.                                 
  59.                                         //我們要達到的體溫精度是0.1,因此要有三位數
  60. //                                dxzm(((int)(temp)/100)+48,50,0);
  61.                                 dxzm(((temp)/100)+48,60,4);          //進行顯示百位        
  62.                                 dxzm(((temp)/10%10)+48,70,4); //進行顯示十位
  63.                                 dxzm('.',80,4);                                  //進行顯示.
  64.                                 dxzm(((temp)%10+48),90,4);          //進行顯示個位
  65.                         }
  66.                         
  67.                         else                                       //讀取溫度標志位等于 1
  68.                         {
  69.                                         oled_gd_diaplay();                                 
  70.                                         TR0 =1;                              //打開定時器
  71.                                        
  72.                                 for(i = 0;i < 3;i++)
  73.                                 {
  74.                                        
  75.                                                 dxzm(0+48,70,i*2+2);
  76.                                                 dxzm((temp_[i]/100)+48,80,i*2+2);
  77.                                                 dxzm((temp_[i]/10%10)+48,90,i*2+2);
  78.                                                 dxzm('.',100,i*2+2);                        //.
  79.                                                 dxzm((temp_[i]%10)+48,110,i*2+2);        
  80.                                        
  81.                                 }
  82.                                 
  83.                                 if(flage_5s >= 100)          //顯示5s
  84.                                 {
  85.                                         TR0 = 0;
  86.                                         diaplay_5s = 0;
  87.                                         flage_5s = 0;
  88.                                         OLED_Fill(00);
  89.                                 }
  90.                                 
  91.                         }
  92.         }
  93.                
  94. }

  95. /******************把數據保存到單片機內部eepom中******************/
  96. void write_eepom(uchar num)
  97. {        char num_num,i;
  98.         if(1 == first_flage)
  99.         {
  100.                 SectorErase(0x2000);
  101.                 first_flage = 0;
  102.         }
  103.         
  104.         if(5 == num)
  105.         {
  106.                 for(i=0;i<9;i++)
  107.                 {
  108.                         byte_write(0x2000+i,0);
  109.                 }

  110.         }
  111.         else if(num!=5)
  112.         {
  113.                 num_num = num*3;
  114.                 byte_write(0x2000+num_num,(temp) % 256);
  115.                 byte_write(0x2001+num_num,(temp) / 256);
  116.                 byte_write(0x2002+num_num,num);
  117.         }

  118. }

  119. /******************把數據從單片機內部eepom中讀出來*****************/
  120. void read_eepom(uchar tem_num, uchar biao ,uchar num)
  121. {
  122.         temp_[tem_num]  = byte_read(0x2001+num*3);
  123.         temp_[tem_num]  <<= 8;
  124.         temp_[tem_num]   |= byte_read(0x2000+num*3);
  125.         biaohao_num_[biao] = byte_read(0x2002+num*3);

  126. }

  127. void read_all_data()
  128. {
  129.         uchar i;
  130.         for(i =0;i<3;i++)
  131.         {
  132.                 read_eepom(i,i,i);
  133. //                delay(50);
  134.         }
  135. }

  136. void Tim_init()
  137. {
  138.                 SCON = 0x50;        /* 010 1 0000B,工作方式1, 8位UART,波特率可變,允許接收 */
  139.                 TMOD = 0x21;        /* T1工作于方式2 T0工作在方式1*/
  140.                 TCON = 0x40;        /* 定時器1開始計數 */
  141.                 TH1 = 250;                /* T1計數初值 */
  142.                 TL1 = 250;
  143.                 PCON = 0x80;        /* SMOD置1,雙倍速率 */
  144.                 RI = 0;
  145.                 TI = 1;                //串口打印必需為1
  146.         
  147.     TL0 = (65536-50000)%256;                     //reload timer0 low byte
  148.     TH0 = (65536-50000)/256;               //reload timer0 high byte
  149. //    TR0 = 1;                        //timer0 start running
  150.     ET0 = 1;                        //enable timer0 interrupt
  151.     EA = 1;                         //open global interrupt switch
  152. }


  153.    

  154. int main(void)
  155. {
  156.         Tim_init();                                            //定時器和串口的初始化
  157.         i2c_Init();                                            //屏幕通訊初始化
  158.         OLED_Init();                                    //oled顯示初始

  159.         while(1)
  160.         {
  161.                  if(hongwai==0)                                                        //紅外感應傳感器判斷是否有人
  162.                   {
  163.                          temp = (int)(memread()*10);                //  讀取溫度,讀取小數點后一位所以*10        
  164.                          oled_wendu();                                       //        oled顯示當前溫度
  165.                           if(temp>372)                                            //判斷溫度是否大于37.2
  166.                           {
  167.                             MP3_1=0;                                            //播放體溫異常
  168.                                 LED1=0;                                                    // 同時紅色LED燈亮起
  169.                                    delay(1000);                                    // 給語音播放和紅色lED燈亮,留一點時間
  170.                                    MP3_1=1;                                            // 關閉語音播放
  171.                                  LED1=1;                                            //關閉紅色LED
  172.                           }
  173.                           else if(temp<361)                                    //判斷溫度是否小于36.1
  174.                           {
  175.                             MP3_1=0;                                            //播放體溫異常
  176.                                    LED1=0;                                                    // 同時紅色LED燈亮起
  177.                                    delay(1000);                                        // 給語音播放和紅色lED燈亮留一點時間
  178.                                   MP3_1=1;                                                // 關閉語音播放
  179.                                 LED1=1;                                                        //關閉紅色LED
  180.                           }
  181.                           else                                                                // 溫度在36.1-37.2之間         
  182.                           {
  183.                                     MP3_2=0;                                                //播放體溫正常
  184.                                   LED2=0;                                                // 同時綠色LED燈亮起
  185.                                     delay(1000);                                // 給語音播放和綠色lED燈亮,留一點時間
  186.                                     MP3_2=1;                                                // 關閉語音播放
  187.                                   LED2=1;                                                //關閉綠色LED
  188.                           }
  189.                            delay(1200);                                                //使得一秒左右的時間,只采集一次,避免測量者再測溫的時候一下子采集了好幾組數據
  190.                
  191.                   }
  192.                   else                                                                        //紅外檢測沒人
  193.                   {
  194.                   
  195.                           MP3_1=1;                                                        // 關閉語音播放
  196.                         MP3_2=1;                                                        // 關閉語音播放
  197.                         LED1=1;                                                                //關閉紅色LED
  198.                         LED2=1;                                                                //關閉綠色LED
  199.                            delay(1200);                                                //調用延時 ,讓最后一個的體溫數據顯示停留一段時間
  200.                         OLED_Fill(0x00);                    //進行清屏,熄滅屏幕
  201.                   }
  202.          
  203.         }
  204. }



  205. /* Timer0 interrupt routine */
  206. void tm0_isr() interrupt 1 using 1                //50ms中斷計時
  207. {
  208.     TL0 = (65536-50000)%256;                     //reload timer0 low byte
  209.     TH0 = (65536-50000)/256;               //reload timer0 high byte
  210.                 flage_5s++;

  211. }



  212.         

復制代碼




本程序出自:http://www.zg4o1577.cn/bbs/dpj-181601-1.html
本作品大部分內容來自于網上轉載,做出了一些修改,目前也不是很完善,望大家能繼續完善本開源作品,一起學習,共同進步,感謝開源作者,感謝大家:
上圖代碼的Keil工程文件51hei附件下載:
非接觸式智能測溫系統-程序.zip (94.66 KB, 下載次數: 239)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:699194 發表于 2020-10-22 20:40 | 只看該作者
你好,這是我關注的博主發的,你抄別人的程序,然后原博主都不標志名字。。。你有點那個。。。。拿別的博主程序加了個提醒。。。。
回復

使用道具 舉報

板凳
ID:97678 發表于 2020-10-23 11:00 | 只看該作者
我叫小大打 發表于 2020-10-22 20:40
你好,這是我關注的博主發的,你抄別人的程序,然后原博主都不標志名字。。。你有點那個。。。。拿別的博 ...

在哪里抄的?
說明一下!!!
回復

使用道具 舉報

地板
ID:699194 發表于 2020-10-24 19:51 | 只看該作者
jovew 發表于 2020-10-23 11:00
說明一下。!

想看看原博主的東西嗎
回復

使用道具 舉報

5#
ID:876653 發表于 2021-1-15 17:36 來自手機 | 只看該作者
請問MP3模塊怎么接線呢,試了下能測體溫,但是為什么每次測人體溫都是40多度了,求教
回復

使用道具 舉報

6#
ID:905656 發表于 2021-5-23 22:54 來自手機 | 只看該作者
請問MP3模塊具體型號是什么
回復

使用道具 舉報

7#
ID:957243 發表于 2021-8-1 12:02 | 只看該作者
海鷹zero 發表于 2021-1-15 17:36
請問MP3模塊怎么接線呢,試了下能測體溫,但是為什么每次測人體溫都是40多度了,求教

原理圖能分享一下嗎?
回復

使用道具 舉報

8#
ID:328014 發表于 2021-8-1 17:12 | 只看該作者
123單片機學習 發表于 2021-8-1 12:02
原理圖能分享一下嗎?
直接看程序里面的引腳定義,如果和你的不同,根據自己的電路修改

回復

使用道具 舉報

9#
ID:990898 發表于 2021-12-12 23:11 | 只看該作者
那些沒有的頭文件是怎么打出來的?
回復

使用道具 舉報

10#
ID:1020809 發表于 2022-4-23 23:48 | 只看該作者
51hei團團 發表于 2021-8-1 17:12
直接看程序里面的引腳定義,如果和你的不同,根據自己的電路修改

你好,可以分享一下這個程序的全圖嗎?
回復

使用道具 舉報

11#
ID:1052693 發表于 2022-11-18 19:53 | 只看該作者
jovew 發表于 2020-10-23 11:00
說明一下!!

我也想知道,我翔咨詢點GY-906的問題
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99久久免费精品国产男女高不卡 | 精品一区二区三区在线视频 | 久久成人国产 | 自拍视频精品 | 久久亚洲一区二区 | 一级片免费视频 | 一区二区三区四区在线 | 日韩免费视频一区二区 | 国内久久精品 | 少妇精品亚洲一区二区成人 | 日本一区二区三区四区 | 国产精品1| 久久精品一区二区 | 毛片国产| 少妇淫片aaaaa毛片叫床爽 | 成人a免费 | 国产一级久久久久 | 久久精品av麻豆的观看方式 | 国产精品视频区 | 亚洲最大的成人网 | 免费高清成人 | 免费成人在线网站 | 国产一区二区三区在线视频 | 香蕉大人久久国产成人av | 在线观看第一区 | 国产免费麻豆视频 | 国产专区在线 | 国产一区二区 | 日韩欧美精品在线播放 | 韩国毛片一区二区三区 | 精品美女久久久久久免费 | 国产精品国产精品国产专区不卡 | 成人免费在线观看 | 亚洲精品国产a久久久久久 午夜影院网站 | 成人一区二区三区 | 日韩一区在线观看视频 | www.久久.com| 国产精品日产欧美久久久久 | 夜夜操av | 欧美a√ | 久久看看|