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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 287|回復: 2
收起左側

基于51單片機智能垃圾桶源程序Proteus仿真原理圖設計

[復制鏈接]
ID:578150 發表于 2025-11-25 10:00 | 顯示全部樓層 |閱讀模式
這個51單片機做的智能垃圾桶具備以下功能:
自動感應開蓋:通過紅外傳感器(來人檢測)感應人體,觸發箱蓋開關電路自動打開箱蓋。
箱滿檢測:另一路紅外傳感器(箱滿檢測)識別桶內垃圾是否裝滿,滿時會觸發提示。
語音提示:支持 3 種語音播報:
提示垃圾分類
提示垃圾桶已滿
提示正在消毒
消毒功能:通過消毒泵電路,可對桶內進行消毒操作。
參數設置:借助按鍵電路(設置 / 增加 / 減。,可調整系統參數。
顯示功能:通過 LCD 顯示電路,展示時間、狀態等信息(搭配時鐘電路提供時間基準)。
上位機交互:支持與模擬上位機通信,可傳輸數據或接收控制指令。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png

單片機源程序如下:
  1. //宏定義
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. //程序頭函數
  5. #include <reg52.h>
  6. #include <string.H>
  7. #include <intrins.h>
  8. #include "Data.h"
  9. #include "DS1302.h"
  10. //顯示函數
  11. #include <display.h>

  12. bit flag1s = 0;           //1s定時標志
  13. unsigned char T0RH = 0;  //T0重載值的高字節
  14. unsigned char T0RL = 0;  //T0重載值的低字節

  15. void ConfigTimer0(unsigned int ms);

  16. //按鍵
  17. sbit Key1=P3^5;         //設置鍵
  18. sbit Key2=P3^6;         //加按鍵
  19. sbit Key3=P3^7;         //減按鍵

  20. sbit beng=P2^3;          //消毒泵

  21. sbit yuyin_1=P3^2;        //請垃圾分類
  22. sbit yuyin_2=P3^3;         //垃圾桶已滿
  23. sbit yuyin_3=P3^4;        //垃圾桶正在消毒
  24. sbit HW1=P2^6;            //紅外1
  25. sbit HW2=P2^7;            //紅外2   垃圾箱滿標志

  26. uchar set;                    //設置狀態
  27. uchar kaigai_yanshi;

  28. bit full=0;         //箱滿標志

  29. bit flag1=0;  //
  30. bit flag2=0;  //  //開關門標志
  31. bit flag3=0;   //
  32. bit flag4=0;   //
  33. bit flag5=0;  // 正反轉
  34. /*******************************定義全局變量********************************/

  35. //電機部分

  36. unsigned char code Z_BeatCode[8] = { 0x1, 0x3, 0x2, 0x6, 0x4, 0xc, 0x8, 0x9};   //正向步進電機節拍對應的IO控制代碼
  37. unsigned char code F_BeatCode[8] = { 0x9, 0x8, 0xc, 0x4, 0x6, 0x2, 0x3, 0x1};   //反向步進電機節拍對應的IO控制代碼
  38. unsigned long beats = 0;  //電機轉動節拍總數
  39. void StartMotor(unsigned long angle);
  40. //函數聲明

  41. void Key();
  42. //毫秒延時**************************
  43. void delay_nms(unsigned int k)        
  44. {                                                
  45. unsigned int i,j;                                
  46. for(i=0;i<k;i++)
  47. {                        
  48. for(j=0;j<121;j++)                        
  49. {;}}                                                
  50. }


  51. void Key()                          //按鍵函數
  52. {

  53.         if(Key1==0)                        //設置鍵按下時
  54.         {
  55.                 while(Key1==0);        //檢測按鍵是否釋放
  56.                  set++;                        //設置狀態標志加                                 
  57.         }
  58.         if(set==1)                        //設置時
  59.         {
  60.                 write_com(0x38);//屏幕初始化
  61.                 write_com(0x80+1);//選中的位置
  62.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  63.                    write_com(0x06);//當讀或寫一個字符是指針后一一位        
  64.         }
  65.         else if(set==2)                        //設置時
  66.         {
  67.                 write_com(0x38);//屏幕初始化
  68.                 write_com(0x80+4);//選中的位置
  69.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  70.                    write_com(0x06);//當讀或寫一個字符是指針后一一位         
  71.         }
  72.         else if(set==3)                        //設置時
  73.         {
  74.                 write_com(0x38);//屏幕初始化
  75.                 write_com(0x80+7);//選中的位置
  76.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  77.                    write_com(0x06);//當讀或寫一個字符是指針后一一位        
  78.         }
  79.         else if(set==4)                        //設置時
  80.         {
  81.                 write_com(0x38);//屏幕初始化
  82.                 write_com(0x80+0x40+1);//選中的位置
  83.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  84.                    write_com(0x06);//當讀或寫一個字符是指針后一一位         
  85.         }
  86.         else if(set==5)                        //設置時
  87.         {
  88.                 write_com(0x38);//屏幕初始化
  89.                 write_com(0x80+0x40+4);//選中的位置
  90.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  91.                    write_com(0x06);//當讀或寫一個字符是指針后一一位         
  92.         }
  93.         else if(set==6)                        //設置時
  94.         {
  95.                 write_com(0x38);//屏幕初始化
  96.                 write_com(0x80+0x40+7);//選中的位置
  97.                    write_com(0x0f);//打開顯示 無光標 光標閃爍
  98.                    write_com(0x06);//當讀或寫一個字符是指針后一一位
  99.         }
  100.         else if(set>=7)                //再按一下設置鍵時,退出設置
  101.         {
  102.                 set=0;                        //設置狀態清零                                
  103.                 Ds1302_Write_Time();  //保存時間
  104.                 Init1602();           //初始化顯示  
  105.                 write_com(0x38);//屏幕初始化
  106.                 write_com(0x0c);//打開顯示 無光標 無光標閃爍
  107.         }
  108.         if(Key2==0&&set!=0)        //當在設置狀態時,按下加鍵時
  109.         {
  110.                 while(Key2==0);        //按鍵釋放         ++        
  111.                                 //年
  112.                                 if(set==1)
  113.                                 {
  114.                                         time_buf1[1]++;
  115.                                         if(time_buf1[1]>=100)
  116.                                                 time_buf1[1]=0;
  117. ...........
  118. ............
  119.         }
  120. }
  121. /* 步進電機啟動函數,angle-需轉過的角度 */
  122. void StartMotor(unsigned long angle)
  123. {
  124.     //在計算前關閉中斷,完成后再打開,以避免中斷打斷計算過程而造成錯誤
  125.    // EA = 0;
  126.     beats = (angle * 4076) / 360; //實測為4076拍轉動一圈
  127.    // EA = 1;
  128. }
  129. /* 配置并啟動T0,ms-T0定時時間 */
  130. void ConfigTimer0(unsigned int ms)
  131. {
  132.     unsigned long tmp;  //臨時變量

  133.     TMOD=0x21;//定時器1操作模式2:8位自動重載定時器  
  134.         TH1=0xfd;//裝入初值,波特率9600
  135.         TL1=0xfd;
  136.         
  137.         TR1=1;//打開定時器
  138.         SM0=0;//設置串行通訊工作模式,(10為一部發送,波特率可變,由定時器1的溢出率控制)
  139.         SM1=1;//(同上)在此模式下,定時器溢出一次就發送一個位的數據
  140.         REN=1;//串行接收允許位(要先設置sm0sm1再開串行允許)
  141.         ES=1;//開串行口中斷        

  142.     tmp = 11059200 / 12;      //定時器計數頻率
  143.     tmp = (tmp * ms) / 1000;  //計算所需的計數值
  144.     tmp = 65536 - tmp;        //計算定時器重載值
  145.     tmp = tmp + 12;           //補償中斷響應延時造成的誤差
  146.     T0RH = (unsigned char)(tmp>>8);  //定時器重載值拆分為高低字節
  147.     T0RL = (unsigned char)tmp;

  148.     TH0 = T0RH;     //加載T0重載值
  149.     TL0 = T0RL;
  150.     ET0 = 1;        //使能T0中斷
  151.     TR0 = 1;        //啟動T0
  152. }
  153. /* T0中斷服務函數,執行2ms定時 */
  154. void InterruptTimer0() interrupt 1
  155. {
  156.     static unsigned int tmr1000ms = 0;
  157.     static unsigned int tmr50ms = 0;
  158.     unsigned char tmp;  //臨時變量
  159.     static unsigned char index = 0;  //節拍輸出索引

  160.     TH0 = T0RH;  //重新加載重載值
  161.     TL0 = T0RL;
  162.     tmr1000ms++;
  163.     if (tmr1000ms >= 500)  //定時1s
  164.     {
  165.         tmr1000ms = 0;
  166.         flag1s = 1;
  167.     }         
  168.         // StartMotor(180);          //半圈
  169.         //電機部分
  170.     if (beats != 0)  //節拍數不為0則產生一個驅動節拍
  171.     {
  172.          
  173.         tmp = P1;                    //用tmp把P1口當前值暫存
  174.         tmp = tmp & 0xF0;            //用&操作清零低4位
  175.                 if(flag5==1)
  176.                 {
  177.           tmp = tmp | Z_BeatCode[index]; //用|操作把節拍代碼寫到低4位
  178.                 }
  179.                 else
  180.                 {
  181.                   tmp = tmp | F_BeatCode[index]; //用|操作把節拍代碼寫到低4位
  182.                 }
  183.         P1  = tmp;                   //把低4位的節拍代碼和高4位的原值送回P1
  184.         index++;                     //節拍輸出索引遞增
  185.         index = index & 0x07;        //用&操作實現到8歸零
  186.         beats--;                     //總節拍數-1
  187.     }
  188.     else  //節拍數為0則關閉電機所有的相
  189.     {
  190.        // P1 = P1 | 0x0F;
  191.            P1 = P1 & 0xF0;
  192.            if(flag5==1)          //反轉 并停止時
  193.            {   
  194.                tmr50ms++;
  195.                    if(tmr50ms>=500)
  196.                    {
  197.                         tmr50ms=0;
  198.                     flag1=0;   //箱蓋關閉標志
  199.                    }
  200.            }
  201.     }
  202. }

  203. /*串行通訊中斷,收發完成將進入該中斷*/
  204. void Serial_interrupt() interrupt 4
  205. {
  206.         unsigned char temp_rec_data_uart0;        
  207.         temp_rec_data_uart0 = SBUF;//讀取接收數據               
  208.         RI=0;//接收中斷信號清零,表示將繼續接收                        

  209. }
  210. void Uart1Send(uchar c)
  211. {
  212.         SBUF=c;
  213.         while(!TI);//等待發送完成信號(TI=1)出現
  214.         TI=0;        
  215. }

  216. //延時函數大概是1s鐘
  217. void DelaySec(int sec)
  218. {
  219.         uint i , j= 0;
  220.         for(i=0; i<sec; i++)
  221.         {
  222.                 for(j=0; j<40000; j++)
  223.                 {
  224.                         
  225.                 }
  226.         }
  227. }

  228. void main()          //主函數
  229. {
  230.         uchar i = 0;
  231.          EA = 1;            //開總中斷
  232.     ConfigTimer0(2);  //配置T0定時2ms
  233.         
  234.         Ds1302_Init();
  235.         Init1602();//初始化顯示
  236.         
  237.         HW1=1;  // 紅外檢測
  238.         yuyin_1=1;
  239.         yuyin_2=1;
  240.         yuyin_3=1;
  241.         beng=1;
  242.     DelaySec(1);//延時約1秒
  243.            
  244.         while(1)   //進入循環
  245.         {
  246.            if(set==0)                                           //只有在非設置狀態時,
  247.                   {                                   
  248.                      Ds1302_Read_Time();        
  249.                          display_NYR(time_buf1,full,flag2);
  250.                   }
  251.                   else         //if(set==1)
  252.                   {        
  253.                            delay_nms(180);              //延時180ms        
  254.                            display_NYR(time_buf1,full,flag2);
  255.                   }

  256.   if(flag1s==1)  //1s延時
  257.         {
  258.            flag1s=0;

  259.       if(yuyin_1==0)
  260.          {                  
  261.            yuyin_1=1;
  262.          }
  263.          if(yuyin_2==0)
  264.          {                  
  265.            yuyin_2=1;
  266.          }   
  267.      if(yuyin_3==0)
  268.          {                  
  269.            yuyin_3=1;
  270.          }                  
  271.           if((flag1==1)&&(flag2==1))         //   
  272.           {
  273.             kaigai_yanshi++;  //開蓋延時
  274.                 if(kaigai_yanshi>10)
  275.                  {
  276.                    kaigai_yanshi=0;                  
  277.                             flag2=0;    //  箱蓋關閉標志                    
  278.                      StartMotor(180);         //關閉箱蓋                           
  279.                     flag5=1;           //電機反傳         
  280.                  }
  281.           }         
  282.              if(HW2==0)         //垃圾桶已滿  通知上位機
  283.                    {               
  284.                           Uart1Send('F');
  285.                           Uart1Send('U');
  286.                           Uart1Send('L');
  287.                           Uart1Send('L');
  288.                           Uart1Send('\r');
  289.                           Uart1Send('\n');
  290.                    }                                                   
  291.         }

  292.    if(HW2==0)         //垃圾桶已滿
  293.    {
  294.           full=1;
  295.    }
  296.    else
  297.    {
  298.           full=0;
  299.    }

  300. if((HW2==1)&&(beng==1))          //垃圾桶未滿并且沒有消毒
  301. {
  302.    if(flag1==0)
  303.    {
  304.           if(HW1==0)         //有人倒垃圾
  305.            {
  306.               flag5=0;           //電機正傳         
  307.                   yuyin_1=0;  //語音垃圾分類         
  308.                   flag1=1;    //  箱蓋打開標志
  309.                   flag2=1;    //  箱蓋打開標志
  310.         
  311.                   StartMotor(180);         //打開箱蓋
  312.            }
  313.         }
  314. }

  315. if(HW2==0)          //垃圾桶滿
  316. {   
  317.           if(HW1==0)         //有人倒垃圾
  318.            {                       
  319.                   yuyin_2=0;  //垃圾桶已滿                           
  320.            }        
  321. }


  322.          if(time_buf1[5]==59)
  323.          {
  324.                  beng=0;         //啟動消毒泵 1分鐘
  325.          }
  326.          else
  327.          {
  328.                    beng=1;          //關閉消毒泵
  329.          }

  330.    if(beng==0)
  331.    {
  332.               if(HW1==0)         //有人倒垃圾
  333.            {                       
  334.                   yuyin_3=0;  //垃圾桶消毒                           
  335.            }
  336.    }

  337.         Key();                                                   //掃描按鍵
  338.         

  339.                                                 
  340.         }
  341. }


復制代碼

Proteus仿真和Keil程序下載: 見2樓

評分

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

查看全部評分

回復

使用道具 舉報

ID:578150 發表于 2025-11-25 10:04 | 顯示全部樓層
補資料

基于51單片機的智能垃圾桶設計.7z

227.1 KB, 下載次數: 0, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:1160028 發表于 2025-11-26 09:23 | 顯示全部樓層
收藏起來,作為參考。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
日本大胆欧美人术艺术动态| 91精品国产手机| 久久视频免费| 成人丁香基地| 国产成人一级片| 农村寡妇一区二区三区| 欧美二区在线观看| 丝袜美腿亚洲综合| 免费视频成人| 日本wwwwwwwzzzzz视频| 99热只有这里有精品| 男人操女人逼免费视频| 日韩精品一区二区三区三区免费| 国产精品一区二区无线| 亚洲va欧美va人人爽成人影院| www.亚洲| 午夜久久久久久久久久| 国产精品一区二区人妻喷水| 久久综合一区| 欧美成人免费一级人片100| 亚洲综合视频在线| 久久久久久9| 一区二区三区国产好| 色天堂在线视频| 青青草社区视频| 久久嫩草捆绑紧缚| 日本中文字幕亚洲| 成人激情黄色网| 日韩电影免费在线观看中文字幕| 欧美激情一区二区| av成人国产| 国产精品国产亚洲精品| 日本韩国一区| 国产精品美女一区二区三区四区| 国产成人精品一区二三区| 亚洲美女爱爱视频| 免费观看成人在线| 国模叶桐国产精品一区| 欧美美女黄视频| 久久精品30| gogo人体一区| 午夜在线激情影院| caoporen人人| 极品销魂一区二区三区| 国产精久久久久久| 欧美xxxxx少妇| 天堂а√在线中文在线| 成人免费网站在线| www.欧美精品| 欧美日韩国产一二三| 久久久一区二区| 亚洲欧美日韩国产一区| 国产乱人伦丫前精品视频| 免费大片黄在线观看视频网站| 再深点灬舒服灬太大了少妇| 国产三级第一页| 青青青在线免费观看| 日韩欧美理论片| 色乱码一区二区三区熟女| 国产中文字幕91| 久久影院模特热| 日韩欧美国产麻豆| 亚洲成年人网站在线观看| 丁香五精品蜜臀久久久久99网站 | 亚洲午夜久久久久中文字幕久| 欧美专区在线| 深爱激情久久| 亚洲人成777| 日本在线视频网址| 麻豆国产在线播放| 裸体av在线| 欧洲av在线播放| 在线观看亚洲大片短视频| 欧美日韩在线免费播放| a级黄色片网站| 国产精品久久久久久久久久直播 | 免费黄色福利视频| 日本一区二区三区视频免费看| 91av福利视频| 久久精品国产亚洲| 91精品国产日韩91久久久久久| 一级日本不卡的影视| 美女视频一区二区| 欧美极品中文字幕| 日韩欧美中文字幕一区二区三区| 天堂中文av在线资源库| 麻豆传媒在线完整视频| 日本韩国精品一区二区| 最全影音av资源中文字幕在线| 免费免费啪视频在线观播放| 在线观看亚洲电影| 91av在线免费视频| 久草网在线观看| 日本激情视频一区二区三区| 久久精品aⅴ无码中文字字幕重口| 久草在在线视频| 成熟丰满熟妇高潮xxxxx视频| 看高清中日韩色视频| 超碰在线97av| 92福利视频午夜1000合集在线观看| 91精品国产91久久久久久久久| 美女国内精品自产拍在线播放| 国产午夜精品视频| 亚洲欧美日韩国产中文专区| 精品嫩草影院久久| 日韩欧美激情四射| 日韩精品一区二区三区四区| 欧美一区二区不卡视频| 欧美顶级少妇做爰| 欧美巨大另类极品videosbest| 欧美婷婷六月丁香综合色| 色视频一区二区| 色婷婷一区二区| 一本一道波多野结衣一区二区 | av在线播放国产| 欧美a在线看| 麻豆传媒免费在线观看| 久操免费在线| 麻豆影院在线| 亚洲乱亚洲乱妇| 色女人在线视频| 三级中文字幕在线观看| 美女视频在线免费| 欧美精品日日操| 日韩成人在线一区| 高清精品久久| 国产精品亲子伦av一区二区三区| 亚洲国产尤物| 激情不卡一区二区三区视频在线 | a级在线免费观看| 精品国产一二区| 天堂www中文在线资源| 爱爱免费小视频| 国产精品精品软件男同| 日本va欧美va国产激情| 国产又黄又爽又色| 免费看91的网站| 国产精品无码自拍| 亚洲做受高潮无遮挡| 国产又粗又硬又长又爽| 日本少妇性生活| 中文字幕一区二区人妻| 隣の若妻さん波多野结衣| 国语对白中文字幕| free欧美性| 国产网站观看9久| 青青青手机在线视频观看| 视频免费一区| 最新中文字幕在线播放| 成人精品高清在线视频| 同性恋视频一区| 日韩08精品| 欧美日韩色图| 伊人春色精品| av成人毛片| 成人一区二区三区在线观看| 亚洲人成人一区二区在线观看| 在线免费不卡电影| 亚洲精品一区二区三区不| 亚洲国产成人精品久久久国产成人一区| 一区二区av在线| 国产精欧美一区二区三区| 96亚洲精品久久久蜜桃| 国产精品高潮视频| 国产精品麻豆网站| www视频在线播放| 国产女主播在线| 欧美日韩伦理片| 影音先锋男人资源在线| 香蕉久久一区| 伊人情人综合网| 九九精品视频在线看| 国产三级三级三级精品8ⅰ区| 国产欧美中文在线| 欧美日韩一区二区在线观看| 这里只有视频精品| 国产精品久久久久一区二区| 神马一区二区影院| 青青草久久伊人| 久久网中文字幕| 久久久久久久美女| 国产女优裸体网站| 岛国片av在线| 亚洲人成精品久久久| 日本伊人精品一区二区三区观看方式| 91亚洲精品久久久蜜桃| 欧美视频一区二区三区在线观看| 久久久999精品免费| 精品欧美国产| 成人免费性视频| 国产三级短视频| 精品美女www爽爽爽视频| 黄色免费直接看| 在线播放免费av| 免费av一区二区三区四区| 蜜臀国产一区二区三区在线播放| 中文字幕在线播放不卡一区| 亚洲激情视频在线播放| 国产精品免费久久久久影院| 日韩小视频网站| 黄大色黄女片18第一次| 久久综合激情网| 日韩欧美一区二区三区不卡视频| 日韩欧美亚洲系列| 亚瑟国产精品| 视频一区欧美精品| 亚洲一区二区三区四区中文字幕| 亚洲欧洲偷拍精品| 国产精品一区视频| 免费国产一区| 欧美 日韩 亚洲 一区| www.超碰97| 国产精品九九九九| 国产成免费视频| 老司机精品影院| 免费视频观看成人| 亚洲欧美成人| 色屁屁一区二区| 69国产精品成人在线播放| 黄色一级视频播放| 国产3级在线观看| 欧美爆操老女人| 免费在线看黄色| 婷婷精品进入| 日韩美女啊v在线免费观看| 深夜福利日韩在线看| 日韩精品成人一区二区在线观看| 90岁老太婆乱淫| 国产乱码精品一区二三区蜜臂| 美女视频黄a视频全免费观看| 成人精品一区二区三区电影| 丝袜a∨在线一区二区三区不卡| 欧美日韩国产区| 国产成人综合精品在线| mm131亚洲精品| 久久一区二区三| 九色成人在线| 一区二区三区自拍视频| 成人爱爱电影网址| 成人av午夜影院| 欧美成人欧美edvon| 亚洲专区在线视频| 亚洲图片欧美另类| 免费一区二区在线观看| 中日韩高清电影网| 美女久久一区| 欧美一区二区性放荡片| 久久久7777| www成人啪啪18软件| 久久久久国产美女免费网站| 国产乱码精品一区二三赶尸艳谈| 日韩中文字幕区一区有砖一区 | 日本v片在线高清不卡在线观看| 黄色一区二区在线观看| 中文字幕日韩在线观看| 最近中文字幕免费mv| 日本特黄一级片| 日日噜噜噜夜夜爽爽狠狠视频| 婷婷五月色综合香五月| 韩国三级一区| 久久99这里只有精品| 欧美v国产在线一区二区三区| 久99久视频| 免费视频一二三区| 在线观看成年人视频| 国产精品一区二区av交换| 伊人婷婷欧美激情| 国产精品自在线| 91激情视频在线观看| 轻轻操 在线观看| 成人高潮视频| 成人av资源网站| 久久成人人人人精品欧| www.色就是色| 亚洲欧美日韩一区二区三区四区| 亚洲社区在线| 午夜久久久久| 日韩一区二区在线观看视频| 亚洲精品不卡| 一级片视频网站| 另类视频在线| 国产成人亚洲综合a∨婷婷| 色婷婷av一区二区三区在线观看| av免费播放网址| 人妻一区二区三区四区| 免费成人在线电影| 99热这里都是精品| 九九视频直播综合网| 91精品999| 精品国内自产拍在线视频| 免费黄色网址在线观看| 狠狠色丁香婷婷综合| 美日韩在线视频| 色婷婷综合在线观看| 18free性欧美另类hd| 伊甸园亚洲一区| 欧美日韩亚洲高清| 日本不卡一区二区三区视频| 国产精品xxxxxx| 91电影91视频| 欧美猛男男男激情videos| 色综合久久久久综合| 日韩久久久久久久久久久久久| 中文字幕+乱码+中文| 美女扒开腿让男人桶爽久久软| 91蜜桃网址入口| 日本视频久久久| 国产综合精品久久久久成人av| 99re99| 99久久激情| 亚洲精品中文字| 国产一区二区精品在线| 日韩欧美亚洲一区二区三区| 伊人影院蕉久影院在线播放| 91视频免费观看| 成人免费午夜电影| 中文字幕丰满乱子伦无码专区| 天堂中文字幕| 蜜桃视频第一区免费观看| 久久久女女女女999久久| 欧美特黄一区二区三区| 在线视频三级| 精品一区二区在线看| 69久久夜色精品国产7777 | 丰满圆润老女人hd| 影院免费视频| 国产一区二区精品久久99| 国产成人极品视频| 97中文字幕在线观看| www.99av| 中文一区一区三区免费在线观看| 亚洲成色www8888| 亚洲色图偷拍视频| 国产视频97| 久热成人在线视频| 日本欧美一二三区| 欧美日韩精品免费看 | 久久97视频| 亚洲国产精品字幕| 国产精欧美一区二区三区白种人| 天天操夜夜爽| 999国产精品999久久久久久| 亚洲国产欧美久久| 劲爆欧美第一页| 精品久久对白| 久久免费少妇高潮久久精品99| 国产欧美一级片| 亚洲精选久久| 精品一区二区国产| 免费搞黄视频| 久久精品亚洲精品国产欧美kt∨| 久久久久久久久久久99| 国产免费av高清在线| 91成人在线免费观看| 中文字幕免费高清| 粉嫩av国产一区二区三区| 久久久久www| 亚洲a视频在线观看| 亚洲在线成人| 亚洲精品视频一二三| 免费在线观看麻豆视频 | 麻豆国产一区二区| 一区二区三区av在线| 中文字幕在线一二| 色哟哟在线观看一区二区三区| 亚洲精品女人久久久| 国产精品蜜月aⅴ在线| 久久久精品在线| 亚洲国产剧情在线观看| 日韩电影在线一区| 特色特色大片在线| 大乳在线免费观看| 日韩欧美国产系列| 亚洲中文字幕无码爆乳av| 亚洲高清在线| 亚洲午夜精品国产| 国产高清一级毛片在线不卡| 欧美理论片在线| 九九热精品视频在线| 欧美伊人影院| 青青草原亚洲| 福利在线午夜| 亚洲福利影片在线| 97人妻精品视频一区| 香蕉久久夜色精品国产| 人人妻人人澡人人爽精品欧美一区| 可以在线观看的av网站| 91麻豆精品国产无毒不卡在线观看| 国产一级视频在线观看| 欧美不卡视频| 亚洲国内在线| 色网站在线看| 国产日韩av一区| 色婷婷狠狠18禁久久| 天堂久久av| 国产精品永久免费| 2020天天干夜夜爽| 色综合咪咪久久| 国产欧美日韩另类| 久久久精品午夜少妇|