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

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

QQ登錄

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

搜索
查看: 3971|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的智能家居程序+電路設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
智能家居基于51單片機(jī)控制, 同時(shí)外接DS1302DS18B20以及LCD液晶屏等,對(duì)智能家居智進(jìn)行簡(jiǎn)易的控制。
該設(shè)計(jì)運(yùn)用到的芯片:STC89C58+DS18B20+DHT11+DS1302+LCD12864+紅外人體感應(yīng)器+無(wú)線遙控
功能:
1.數(shù)字可調(diào)萬(wàn)年歷
2.顯示空氣中溫度和濕度
3.對(duì)環(huán)境溫度和濕度可以自動(dòng)控制
4.測(cè)量水的溫度
5.無(wú)線控制
6.防盜報(bào)警
7.低功耗模式
8.開(kāi)機(jī)圖片
9.EEPROM數(shù)據(jù)保存
原理圖設(shè)計(jì):


單片機(jī)源程序如下:
  1. /***************************************************************/
  2. /*                  智能家居控制系統(tǒng)
  3.                       設(shè)計(jì):劉東宇
  4.                                
  5.                                            2013.04                        
  6. 芯片:STC89C58+DS18B20+DHT11+DS1302+LCD12864+紅外人體感應(yīng)器+無(wú)線遙控
  7. 功能:1.數(shù)字可調(diào)萬(wàn)年歷
  8.       2.顯示空氣中溫度和濕度
  9.           3.對(duì)環(huán)境溫度和濕度可以自動(dòng)控制
  10.           4.測(cè)量水的溫度
  11.           5.無(wú)線控制
  12.           6.防盜報(bào)警
  13.           7.低功耗模式
  14.           8.開(kāi)機(jī)圖片
  15.           9.EEPROM數(shù)據(jù)保存                                                                */
  16. /***************************************************************/

  17. #include<reg52.h>
  18. #include<absacc.h>
  19. #include<intrins.h>
  20. #include"LCD12864.h"
  21. #include"DS18B20.h"
  22. #include"DS1302.h"
  23. #include"delay_ms.h"
  24. #include"key.h"
  25. #include"DHT11.h"
  26. #include"start_logo.h"
  27. #include"picture.h"
  28. #include"Flash_ROM.h"
  29. /********************函數(shù)申明********************/
  30. void init();                                        //初始化程序
  31. void sleep_sign_init();                                //睡眠(報(bào)警)模式初始化
  32. void init_time_DHT11_DS18B20();                    //初始化定時(shí)器T0和T1
  33. void open_logo();                           //開(kāi)機(jī)圖片
  34. void kay_scan();                                            //kay_scan 按鍵掃描程序
  35. void display_time();                                    //display_time時(shí)間掃描(LCD12864顯示)
  36. void alarm();                                                //溫濕度超值判斷
  37. void sleep_sign();                          //睡眠(報(bào)警)模式和正常模式切換函數(shù)
  38. void sos_display();                         //當(dāng)聲光報(bào)警時(shí)LCD12864顯示“報(bào)警!”  
  39. /************位變量定義****************/
  40. sbit lcd_lig=P2^4;                          //LCD12864背光控制
  41. sbit relay1=P1^0;                          //繼電器1
  42. sbit relay2=P1^1;                          //繼電器2
  43. sbit voi_lig_sigo=P1^2;                  //聲光報(bào)警控制位
  44. sbit key_sigo=P1^6;                          //睡眠(報(bào)警)模式進(jìn)入按鍵
  45. /************變量定義****************/
  46. unsigned char code shu5[]={"0123456789"};
  47. unsigned char code shu6[]={"年月日:"};
  48. unsigned int k,T;
  49. bit Interrupt_flag=1;                              //該標(biāo)志位可以有效防止報(bào)警觸發(fā)后影響其他程序
  50. bit sos=0;                                    //LCD12864顯示報(bào)警標(biāo)志位

  51. void main()
  52. {   
  53.     init();                                                  //初始化程序
  54.         lcd_lig=0;                                  //開(kāi)LCD背光
  55.         open_logo();                                  //開(kāi)機(jī)LOGO
  56.         sleep_sign_init();                      //睡眠(報(bào)警)模式初始化
  57.         init_lcd12864();                          //初始化LCD12864       
  58.     init_time_DHT11_DS18B20();          //初始化定時(shí)器T0和T1
  59.         DS18B20_caution();            //DS18B20溫度報(bào)警設(shè)置
  60.         while(1)
  61.         {       
  62.                    kay_scan();                                  //kay_scan 按鍵掃描程序       
  63.                  display_time();                          //display_time 時(shí)間顯示掃描(LCD12864顯示)
  64.                 alarm();                              //溫濕度超值判斷
  65.                 sleep_sign();             //睡眠(報(bào)警)模式和正常模式切換函數(shù)
  66.                 sos_display();                          //當(dāng)聲光報(bào)警時(shí)LCD12864顯示“報(bào)警!”
  67.         }
  68. }

  69. /************************************************/
  70. /****************程序初始化**********************/
  71. /************************************************/
  72. void init()
  73. {
  74.   IAP_ReadCode(0x8000,&set_up_sd,1);                                  //讀濕度閥值
  75.   IAP_ReadCode(0x800f,&set_up_wd,1);                                  //讀溫度閥值

  76.   relay1=1;                        //繼電器1(濕度控制)
  77.   relay2=1;                        //繼電器2(溫度控制)

  78.   IP=0X0A;                                  //中斷優(yōu)先級(jí)設(shè)定,將定時(shí)器T0和T1設(shè)置為高級(jí)

  79.   sd_shi=0;
  80.   sd_ge=0;
  81.   wd_shi1=0;
  82.   wd_ge1=0;
  83.   dsq_0=0;                         //定時(shí)器T0
  84.    
  85. /***********DS1302初始化****************/
  86.    ds_io=0;
  87.    ds_rst=0;
  88.    ds_sclk=0;                    //DS1302初始化  
  89.    ds_xieshu(0x8e,0x00);    //控制
  90. }

  91. /*****************************************************/
  92. /**************睡眠(報(bào)警)模式初始化*****************/
  93. /*****************************************************/
  94. void sleep_sign_init()                  //睡眠(報(bào)警)模式初始化
  95. {
  96.    voi_lig_sigo=1;                          //初始化聲光報(bào)警控制位
  97.    key2=1;                                          //初始化按鍵key2(睡眠報(bào)警模式進(jìn)入鍵)
  98.    lcd_lig=0;                                  //LCD12864背光控制位

  99.    TCON=0X55;                       //INT0設(shè)置為下降沿觸發(fā),INT0設(shè)置為下降沿觸發(fā)
  100.    EX0=1;                               //開(kāi)外部中斷INT0
  101.    EX1=0;                                           //關(guān)外部中斷INT1
  102.    EA=1;                                           //開(kāi)總中斷
  103. }

  104. /**************************************/
  105. /********初始化計(jì)時(shí)器T0和T1************/
  106. /**************************************/
  107. void init_time_DHT11_DS18B20()         //初始化定時(shí)器T0和T1
  108. {
  109.            TMOD=0X11;                                         //定時(shí)器T0和T1工作于方式1

  110.         TH0=(65535-50000)/256;                 //給定時(shí)器T0裝初值
  111.         TL0=(65535-50000)%256;
  112.         TR0=1;                                                 //開(kāi)定時(shí)器T0計(jì)數(shù)
  113.         ET0=1;                                                 //開(kāi)定時(shí)器T0中斷

  114.         TH1=(65535-50000)/256;                  //給定時(shí)器T1裝初值
  115.         TL1=(65535-50000)%256;
  116.         TR1=1;                                                  //開(kāi)定時(shí)器T1計(jì)數(shù)
  117.         ET1=1;                                                  //開(kāi)定時(shí)器T1中斷
  118. }

  119. /************************************************/
  120. /****************  開(kāi)機(jī)圖片  ********************/
  121. /************************************************/
  122. void open_logo()
  123. {
  124.      display_bmp_logo(bmp_1);                        //寫(xiě)入圖片1
  125.          delay(10000);
  126.          display_bmp_logo(bmp_2);                        //寫(xiě)入圖片2
  127.          delay(10000);
  128.          display_bmp_logo(bmp_3);                        //寫(xiě)入圖片3
  129.          delay(10000);
  130.          display_bmp_logo(bmp_4);                        //寫(xiě)入圖片4
  131.          delay(10000);
  132.          display_bmp_logo(bmp_5);                        //寫(xiě)入圖片5
  133.          delay(8000);
  134.          display_bmp_logo(bmp_6);                        //寫(xiě)入圖片6
  135.          delay(8000);         
  136.          display_bmp_logo(bmp_7);                        //寫(xiě)入圖片7
  137.          delay(8000);         
  138. }

  139. /************************************************/
  140. /****************溫濕度報(bào)警檢測(cè)******************/
  141. /************************************************/
  142. void alarm()                                            //溫濕度超值判斷
  143. {
  144.                 if(sign_sd>=set_up_sd)                    //濕度判斷
  145.                     relay1=0;                        //繼電器1(降濕度控制)
  146.             else
  147.                     relay1=1;                       
  148.                 if(sign_wd>=set_up_wd)                    //溫度判斷
  149.                     relay2=0;                        //繼電器2(降溫度控制)
  150.                 else
  151.                     relay2=1;       
  152. }

  153. /***************************************************/
  154. /*********************按鍵掃描程序******************/
  155. /***************************************************/
  156. void kay_scan()                                     //kay_scan按鍵掃描程序
  157. {
  158.              if(key1==0)                             
  159.            {
  160.              delay(20);                                  //按鍵消抖
  161.                  if(key1==0)
  162.                 {
  163.                     TR0=0;                                  //關(guān)溫度和濕度掃描
  164.                     TR1=0;                                  //關(guān)水溫掃描
  165.                        
  166.                     i=0;
  167.                     i++;
  168.                         miao=BCD_Decimal(ds_dushu(0x81));                //將現(xiàn)在顯示的數(shù)值賦給要進(jìn)行調(diào)整的變量
  169.                         fen=BCD_Decimal(ds_dushu(0x83));                //這樣在調(diào)時(shí)間的時(shí)候就不會(huì)出現(xiàn)從0開(kāi)始調(diào)整
  170.                         shi=BCD_Decimal(ds_dushu(0x85));                //這樣就可以在原來(lái)的數(shù)值上進(jìn)行調(diào)整
  171.                         xq=BCD_Decimal(ds_dushu(0x8b));
  172.                         ri=BCD_Decimal(ds_dushu(0x87));
  173.                         yue=BCD_Decimal(ds_dushu(0x89));
  174.                         nian=BCD_Decimal(ds_dushu(0x8d));
  175.                         shidu=set_up_sd;                                    //將濕度當(dāng)前值賦給要調(diào)節(jié)的值
  176.                         wendu=set_up_wd;                                          //將溫度當(dāng)前值賦給要調(diào)節(jié)的值
  177.                         if(i>=9)                                                                //可以直接將9改成1
  178.                           i=1;
  179.                         delay(20);
  180.                     while(key1==0);                                                         //松手檢測(cè)
  181.                         delay(20);
  182.                         while(key1==0);
  183.                         while(i)                                                                 //當(dāng)i大于0時(shí)進(jìn)入按鍵掃描死循環(huán),當(dāng)i=0時(shí)跳出該循環(huán)
  184.                     key();                                                     //掃描按鍵
  185.                 }               
  186.           }
  187. }

  188. /*****************************************************/
  189. /**************LCD12864 display時(shí)間掃描***************/
  190. /*****************************************************/
  191. void display_time()                               //display_time時(shí)間掃描(LCD12864顯示)
  192. {
  193.            qushu_time(ds_dushu(0X81));        //秒
  194.            delay(1);
  195.            zhiling(0x88+6);
  196.            delay(1);
  197.            shuju(shu5[shi]);
  198.            delay(1);
  199.            shuju(shu5[ge]);
  200.            delay(1);
  201.            shuju(' ');
  202.            shuju(' ');
  203.            delay(1);
  204.        
  205.            qushu_time(ds_dushu(0X83));         //分
  206.            delay(1);
  207.            zhiling(0x88+4);
  208.            delay(1);
  209.            shuju(shu5[shi]);
  210.            delay(1);
  211.            shuju(shu5[ge]);
  212.            delay(1);
  213.            shuju(':');
  214.            shuju(' ');
  215.            delay(1);

  216.            qushu_time(ds_dushu(0X85));          //時(shí)
  217.            delay(1);
  218.            zhiling(0x88);
  219.            delay(1);
  220.            shuju(0xca);
  221.            shuju(0xb1);
  222.            delay(1);
  223.            shuju(0xbc);
  224.            shuju(0xe4);
  225.            delay(1);
  226.            shuju(shu5[shi]);
  227.            delay(1);
  228.            shuju(shu5[ge]);
  229.            delay(1);
  230.            shuju(':');
  231.            shuju(' ');
  232.            delay(1);

  233.            qushu_time(ds_dushu(0X8b));         //星期
  234.            delay(1);
  235.            zhiling(0x90);
  236.            delay(1);
  237.            shuju(0xd0);
  238.            shuju(0xc7);
  239.            delay(1);
  240.            shuju(0xc6);
  241.            shuju(0xda);
  242.            delay(1);
  243.            shuju(shu5[ge]);
  244.            shuju(' ');
  245.            delay(1);                     

  246.            qushu_time(ds_dushu(0X87));         // 日
  247.            delay(1);
  248.            zhiling(0x80+5);
  249.            delay(1);
  250.            shuju(shu5[shi]);
  251.            delay(1);
  252.            shuju(shu5[ge]);
  253.            delay(1);
  254.            shuju(0xc8);                                 //日       
  255.            shuju(0xd5);                                 //日
  256.            delay(1);       
  257.            shuju(' ');                                 //       
  258.            shuju(' ');                                 //
  259.            delay(1);       

  260.            qushu_time(ds_dushu(0X89));         //月
  261.            delay(1);
  262.            zhiling(0x80+3);
  263.            delay(1);
  264.            shuju(shu5[shi]);
  265.            delay(10);
  266.            shuju(shu5[ge]);
  267.            delay(1);
  268.            shuju(0xd4);                                 //月       
  269.            shuju(0xc2);                                 //月
  270.            delay(1);
  271.           
  272.            qushu_time(ds_dushu(0X8d));        //年
  273.            delay(1);
  274.            zhiling(0x80);
  275.            delay(1);
  276.            shuju('2');                                 //2
  277.            shuju('0');                                 //0
  278.            delay(1);
  279.            shuju(shu5[shi]);
  280.            delay(1);
  281.            shuju(shu5[ge]);
  282.            delay(1);
  283.            shuju(0xc4);                                 //年
  284.            shuju(0xea);                                 //年
  285.            delay(1);
  286. }

  287. /*****************************************************/
  288. /*******進(jìn)入低功耗模式(報(bào)警模式)的按鍵檢測(cè)**********/
  289. /*****************************************************/
  290. void sleep_sign()
  291. {
  292.    if(Interrupt_flag)
  293.          {
  294.        if(!key_sigo)
  295.            {
  296.                 delay(5);
  297.                 if(!key_sigo)
  298.                  {                          
  299.                    lcd_lig=1;
  300.                    key2=1;                                   //初始化按鍵key2(睡眠報(bào)警模式進(jìn)入鍵)
  301.                    voi_lig_sigo=1;                   //初始化聲光報(bào)警控制位
  302.                    relay1=1;                   //繼電器1(濕度控制)
  303.            relay2=1;                   //繼電器2(溫度控制)       
  304.                    zhiling(0x08);               //LCD12864進(jìn)入睡眠模式
  305.                    P0=0XFF;                                      //初始化所有IO口,防止干擾出現(xiàn)
  306.                    P1=0XFF;
  307.                    P2=0XFF;
  308.                    P3=0XFF;
  309.                    delay(10);
  310.                    EX1=1;                                      //打開(kāi)人體感應(yīng)報(bào)警中斷
  311.                    PCON=0X02;                       //51單片機(jī)進(jìn)入掉電模
  312.                  }
  313.            }
  314.          }
  315. }

  316. /************************************************/
  317. /*******當(dāng)聲光報(bào)警時(shí)LCD12864顯示“報(bào)警!”**********/
  318. /************************************************/
  319. void sos_display()                                                //當(dāng)聲光報(bào)警時(shí)LCD12864顯示“報(bào)警!”
  320. {
  321.     while(sos)                                                        //判斷是否報(bào)警
  322.         {
  323.           display_bmp_logo(bmp_8);                        //寫(xiě)入圖片8
  324.           if(!sos)
  325.           init_lcd12864();                                //初始化LCD12864       
  326.         }
  327. }

  328. /***************************************************************/
  329. /*kay按鍵中斷,進(jìn)入報(bào)警(休眠)模式和退出該模式(也是喚醒中斷)*/
  330. /***************************************************************/
  331. void sleep_int0() interrupt 0        //kay按鍵中斷,進(jìn)入報(bào)警(休眠)模式和退出該模式(也是喚醒中斷)
  332. {
  333.         Interrupt_flag=1;
  334.                 voi_lig_sigo=1;                             //關(guān)閉報(bào)警
  335.               zhiling(0x0c);                         //將LCD12864從睡眠模式喚醒
  336.                 lcd_lig=0;                                 //打開(kāi)LCD12864背光               
  337.                 EX1=0;                                                  //關(guān)閉人體感應(yīng)報(bào)警中斷
  338.                 TR0=1;                                         //開(kāi)溫度和濕度掃描
  339.                 TR1=1;                                         //開(kāi)水溫掃描
  340.                 sos=0;                                                 //LCD12864取消顯示“報(bào)警!”
  341. }

  342. /*****************************************************/
  343. /****人體感應(yīng)模式中斷(報(bào)警中斷,也是喚醒中斷)*******/
  344. /*****************************************************/
  345. void voi_lig_int1() interrupt 2             //人體感應(yīng)模式中斷(報(bào)警中斷,也是喚醒中斷)
  346. {
  347.         Interrupt_flag=0;
  348.                voi_lig_sigo=0;                             //開(kāi)起報(bào)警
  349.                 zhiling(0x0c);                         //將LCD12864從睡眠模式喚醒
  350.                 lcd_lig=0;;                                 //打開(kāi)LCD12864背光
  351.                 EX1=0;                                                 //關(guān)閉人體感應(yīng)報(bào)警中斷
  352.                 TR0=0;                                         //開(kāi)溫度和濕度掃描
  353.                 TR1=0;                                         //開(kāi)水溫掃描
  354.                 sos=1;                                                 //LCD12864顯示“報(bào)警!”
  355. }

  356. /**************************************/
  357. /********計(jì)時(shí)器T0中斷函數(shù)DHT11*********/
  358. /**************************************/
  359. void time0_DHT11() interrupt 1          //定時(shí)器T0中斷,DHT11數(shù)據(jù)讀取程序
  360. {
  361.         TH0=(65535-50000)/256;
  362.         TL0=(65535-50000)%256;
  363.           dsq_0++;
  364.         if(dsq_0==20)
  365.         {
  366.        TR1=0;                                           //關(guān)定時(shí)器T1
  367.            ET1=0;          

  368.            dsq_0=0;
  369.            w_s=return_wendu_shidu();
  370.            qushu_DHT11(w_s);                  //讀取溫度濕度
  371.            delay(1);

  372.            TR1=1;                                           //開(kāi)定時(shí)器T1
  373.            ET1=1;
  374.         }
  375. }

  376. /**************************************/
  377. /********計(jì)時(shí)器T1中斷函數(shù)DS18B20*******/
  378. /**************************************/
  379. void time1_DS18B20() interrupt 3  //定時(shí)器T1中斷函數(shù)DS18B20,DHT11數(shù)據(jù)顯示程序
  380. {                                                              //T1中斷函數(shù)(中斷里面程序的運(yùn)行時(shí)間要在50ms以內(nèi),此處中斷程序運(yùn)行為8.753ms)
  381.         TH0=(65535-50000)/256;
  382.         TL0=(65535-50000)%256;
  383.         k++;
  384.         if(k==20)
  385.         {
  386.            TR0=0;                                                  //關(guān)定時(shí)器T0
  387.            ET0=0;
  388.           
  389.                 k=0;
  390.                 T=return_wendu_DS18B20();          //讀取溫度
  391.             qushu_DS18B20(T);                          //分離溫度數(shù)值
  392.             
  393.           /*****************************************/
  394.           /*  display水的溫度*/
  395.           /******************************************/  
  396.             delay(10);
  397.                 zhiling(0x90+3);
  398.                 delay(1);
  399.                 shuju(0xcb);                                 //水
  400.             shuju(0xae);                                 //
  401.             delay(1);
  402.                 shuju(0xce);                                 //溫
  403.             shuju(0xc2);                                 //
  404.             delay(1);
  405.                 shuju(shu5[wd_shi]);           //溫度十位
  406.                 delay(1);
  407.                 shuju(shu5[wd_ge]);               //溫度個(gè)位
  408.                 delay(1);
  409.                 shuju('.');                               //小數(shù)點(diǎn)
  410.                 delay(1);
  411.                 shuju(shu5[wd_xiao1]);           //溫度小數(shù)0.1位
  412.                 delay(1);
  413.                 shuju(0xa1);                   //顯示℃(本來(lái)為溫度小數(shù)0.01位 )
  414.                 shuju(0xe6);                   //顯示℃(本來(lái)為溫度小數(shù)0.01位 )

  415.           /*****************************************/
  416.           /*  display環(huán)境的溫度和濕度,注:本來(lái)下面的
  417.              這段display應(yīng)該是放在定時(shí)器T0中斷函數(shù)中
  418.                  但是那樣會(huì)對(duì)顯示產(chǎn)生印象,所以選擇同時(shí)寫(xiě)入,
  419.                  也介于LCD12864屏幕的特點(diǎn),第二行的地址和第
  420.                  四行地址是連在一起的*/
  421.           /******************************************/
  422.             zhiling(0x98);
  423.                 delay(1);                 
  424.                 shuju(0xca);                                 //濕
  425.             shuju(0xaa);                                 //
  426.             delay(1);
  427.                 shuju(0xb6);                                 //度
  428.             shuju(0xc8);                                 //
  429.             delay(1);
  430.             shuju(shu5[sd_shi]);              //濕度十位
  431.             delay(1);
  432.             shuju(shu5[sd_ge]);                  //濕度個(gè)位
  433.             delay(1);
  434.             shuju(0xa3);                                 //%
  435.             shuju(0xa5);                                 //
  436.             delay(1);
  437.                 shuju(0xce);                                 //溫
  438.             shuju(0xc2);                                 //
  439.             delay(1);
  440.                 shuju(0xb6);                                 //度
  441.             shuju(0xc8);                                 //
  442.             delay(1);
  443.             shuju(shu5[wd_shi1]);               //溫度十位
  444.             delay(1);
  445.             shuju(shu5[wd_ge1]);               //溫度個(gè)位
  446.             delay(1);
  447.             shuju(0xa1);                       //顯示℃
  448.             shuju(0xe6);                       //顯示℃
  449.                
  450.                 TR0=1;                                               //開(kāi)定時(shí)器T0
  451.             ET0=1;       
  452.          }               
  453. }
復(fù)制代碼

所有資料51hei提供下載:
原理圖.zip (36.87 KB, 下載次數(shù): 73)
源程序.zip (134.66 KB, 下載次數(shù): 68)






評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:570917 發(fā)表于 2020-6-11 20:00 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:772623 發(fā)表于 2020-6-12 14:27 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久草.com| 国产98色在线 | 日韩 | 久久综合九色综合欧美狠狠 | 日韩精品一区二区三区视频播放 | 欧美一区二区三区在线看 | 亚洲毛片在线观看 | 国产欧美日韩精品一区 | 日韩一二三区视频 | 密室大逃脱第六季大神版在线观看 | 欧美电影一区 | 国产激情精品视频 | 香蕉视频黄色 | 久久综合九九 | 国产午夜一级 | 欧美成人精品在线观看 | 国产精品视频一二三区 | 亚洲一区在线免费观看 | 玖玖色在线视频 | 国产在线精品一区二区三区 | 欧美精品一区二区免费 | 97av视频 | 久久综合一区二区 | 97人澡人人添人人爽欧美 | 国产精品久久久久久妇女6080 | 久久久高清| 久色网 | www.色.com| 美女亚洲一区 | 成人欧美一区二区 | 久久久99精品免费观看 | 一区二区三区四区免费观看 | av网站免费 | 国产三级一区二区三区 | www.亚洲视频 | 精品在线 | 在线欧美小视频 | 亚洲一区二区三区福利 | 一区二区在线视频 | 成人综合一区 | 日韩欧美在线观看视频 | 性做久久久久久免费观看欧美 |