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

標題: 按鍵消抖方法與抖動原因分析(狀態機,延時,邏輯關系消抖)單片機源程序 [打印本頁]

作者: 烏托邦的犬次郎    時間: 2018-8-31 02:34
標題: 按鍵消抖方法與抖動原因分析(狀態機,延時,邏輯關系消抖)單片機源程序
本人第一次發帖,如果有錯誤,歡迎大家指正!!!有關按鍵消抖的話題已經有很多人提出來了,在這里我把它進行一個總結。希望能幫助到大家!
1.按鍵抖動的原因
       按鍵消抖通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。形成以下的波形
   
2.按鍵抖動的原理
      按鍵抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數,在很多場合都要用到。按鍵穩定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數秒。鍵抖動會引起一次按鍵被誤讀多次。為確保單片機對按鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩定時讀取鍵的狀態,并且必須判別到按鍵釋放到穩定狀態后再去作處理。
3.按鍵消抖的方法
(1)硬件的消抖
      利用電容的充放電特性來對抖動過程中產生的電壓毛刺進行平滑處理,從而實現消抖。在按鍵的兩端并聯一個0.1uf的電容。如按鍵消抖硬件圖

(2)軟件的消抖
     1.延時消抖
        剛接觸單片機的時候,最常用的方法,利用延時,消去抖動。代碼如下:
       if(按鍵是否按下)
       {                        //按鍵按下的條件下
           Deadly_1ms(5); // 延時消去抖動
           if(按鍵是否按下)
          {                   //按鍵再次確認按下
              //執行按鍵功能
             while(按鍵是否松開);
          }
       }
   注:按鍵詳細代碼見工程文件延時消抖
    2.狀態機消抖
      將按鍵的狀態分為三種 是否按下,是否抖動,是否彈起。檢測到按下時,轉向判斷是否抖動,并執行按鍵功能。等按鍵功能執行完了以后直接跳到按鍵是否彈起的狀態。等彈起后,再來判斷是否按下的狀態。
       在按鍵的原理圖中,將1、2相接,則構成的是4*4的矩陣鍵盤,并且矩陣鍵盤與單片機的P3口相接。
       //按鍵原理圖見上傳的圖片
        
//設置按鍵的三種狀態及按鍵接口
#define KEY P3
#define key_state_0  0  //判斷是否按下
#define key_state_1  1 //判斷是否為抖動
#define key_state_2  2 //判斷是否彈起

unsigned char key_read(void)
{
  static char key_state = key_state_0;
  unsigned char key_return=0, key_press;
  unsigned char key1,key2;
        
        KEY=0xf0;   
        key1=KEY&0xf0;
        KEY=0x0f;
        key2=KEY&0x0f;
        key_press =key1|key2;  //讀取矩陣按鍵每個按鍵的狀態,存在key_press里
        
switch (key_state)  // 判斷按鍵狀態
{         
   case key_state_0:    //是否按下
   if (key_press!=0xff) key_state = key_state_1;  //沒有按鍵按下時則讀取出的0xff,若有不同說明有按鍵按下,則跳轉到判斷是否為抖動的狀態
   break;
         
   case key_state_1:     
   if (key_press !=0xff) //再次確認是否按下,防止因單片機的速度過快,導致誤判。
   {   
       switch (key_press)//根據key_press的值來執行相對應的功能
       {
           case 0xee: key_return = 19; //這里的0xee是怎么的來的,簡單來推一下
           case 0xed: key_return = 18; //單片機的P3口初始化輸出的是高電平,先將P3口輸出0xf0,如果有按鍵按下,則P3口中的高四位的某一位的電平會被拉低,此時記錄P3口的狀態(key1)
           case 0xeb: key_return = 17; //讀取了高四位的電平,之后再來讀取低四位的電平(key2) ,之后 | 在一起得到key_press,得到的key_press中一定有兩位是0;
           case 0xe7: key_return = 16;//舉例 : 當我按下s19時,key1 = 0xe0;(即P3^4 = 0,高四位的第一位電平被拉低),key2 = 0x0e;(即P3^0 = 0,低四位的第一位電平被拉低),這樣key_press = key_press =key1|key2  = 0xee;
           case 0xde: key_return = 15;//以此類推
           case 0xdd: key_return = 14;
           case 0xdb: key_return = 13;
           case 0xd7: key_return = 12;
           case 0xbe: key_return = 11;
           case 0xbd: key_return = 10;
           case 0xbb: key_return = 9;
           case 0xb7: key_return = 8;
           case 0x7e: key_return = 7;
           case 0x7d: key_return = 6;
           case 0x7b: key_return = 5;
           case 0x77: key_return = 4;
       }
                        key_state = key_state_2; //這里跳轉到判斷彈起的狀態
   }
   else
                        key_state = key_state_0;  
   break;

   case key_state_2:
   if (key_press==0xff) key_state = key_state_0;  //等待按鍵完全彈起
   break;
}
return key_return;
}
注:具體用法見工程狀態機消抖  

    3.邏輯關系消抖
       將按鍵的原理圖中,將2、3相接,則構成的是獨立鍵盤(s4,s5,s6,s7),并且獨立鍵盤與單片機的P3口的低四位相接,另一端與gnd相接。
    利用邏輯關系 與&、或 | 、非 !、異或 ^,來消除抖動。先貼出源代碼:

    unsigned char ReadData = KEYPORT^0xff;
    Trg = ReadData & (ReadData ^ Cont);      
    Cont = ReadData;

    Trg是判斷那個按鍵按下,Cont用來判斷長按、短按的;
分析:   (1)沒有按鍵按下(初始值 Trg  =  0,Cont  = 0)
                  unsigned char ReadData = P3^0xff;  => ReadData  = 0xff ^0xff = 0x00;
                  Trg = ReadData & (ReadData ^ Cont); =>Trg  =0x00 &  (0x00 ^0x00)  = 0x00;
                  Cont = ReadData;    =>Cont  = 0x00;

                 結果 :
                         ReadData  = 0x00
                        Trg           = 0x00
                        Cont         = 0x00

            (2) s4按下
                  剛按下時
                  unsigned char ReadData = P3^0xff;  => ReadData  = 0xf7 ^0xff = 0x08;
                  Trg = ReadData & (ReadData ^ Cont); =>Trg  =0x08 &  (0x08^0x00)  = 0x08;
                  Cont = ReadData;    =>Cont  = 0x08;

               抖動時
                  unsigned char ReadData = P3^0xff;  => ReadData  = 0xff ^0xff = 0x00;
                  Trg = ReadData & (ReadData ^ Cont); =>Trg  =0x00 &  (0x00^0x08)  = 0x00;
                  Cont = ReadData;    =>Cont  = 0x00;

                 結果 :
                       剛按下時:
                        ReadData  = 0x08
                        Trg           = 0x08
                        Cont         = 0x08

                       抖動時:
                        ReadData  = 0x00
                        Trg           = 0x00
                        Cont         = 0x00


            (3) s4長按
                  unsigned char ReadData = P3^0xff;  => ReadData  = 0xf7 ^0xff = 0x08;
                  Trg = ReadData & (ReadData ^ Cont); =>Trg  =0x08 &  (0x08 ^0x00)  = 0x00;
                  Cont = ReadData;    =>Cont  = 0x08;

                 結果 :
                         ReadData  = 0x08
                        Trg           = 0x00
                        Cont         = 0x08


            (4) s4松開
                  unsigned char ReadData = P3^0xff;  => ReadData  = 0xff ^0xff = 0x00;
                  Trg = ReadData & (ReadData ^ Cont); =>Trg  =0x08 &  (0x08 ^0x00)  = 0x00;
                  Cont = ReadData;    =>Cont  = 0x00;

                 結果 :
                         ReadData  = 0x00
                        Trg           = 0x00
                        Cont         = 0x00


將上面的數據進行匯總、分析
ReadData  Trg           Cont         
沒有按鍵按下 0x00 0x00 0x00
s4剛按下 0x08 0x08 0x08
s4有抖動時 0x00 0x00 0x00
s4長按 0x08 0x00 0x08
  s4松開 0x00 0x00 0x00


Trg只有在按鍵剛按下時有不到等于0的值,因此我們檢測到Trg 不為0時,說明有按鍵按下;
Cont 只要有按鍵按下時,它的值就不為0,因此我們定時一段時間,來檢測Cont,,若不變,則按鍵時長按的狀態。
注:具體用法見工程邏輯關系消抖

          到這里只是簡單的介紹了幾種按鍵消抖,還有很多方法沒有介紹,比如,中斷消抖,門電路消抖,計時消抖…,但萬變不離其中。學會了其中一種,其他的就自然懂了。
         希望這篇帖子能幫助到大家!!!!

全部資料51hei下載地址(全部程序源碼):
按鍵.rar (68.28 KB, 下載次數: 171)



作者: yinlingwei66    時間: 2018-8-31 14:09
樓主寫的非常詳細 好資料,51黑有你更精彩!!!

作者: keliandexiaowa    時間: 2021-3-26 14:36
樓主寫的很好,先收藏研究一下
作者: aaron800    時間: 2023-5-29 16:48
非常好的資料,謝謝樓主
作者: huaruolong    時間: 2023-6-21 10:55
不錯,萬丈高樓平地起,越是看似簡單的東西,越要用心去學。謝謝樓主分享。

作者: huaruolong    時間: 2023-6-21 11:01
樓主是你的資料有問題,還是我的軟件有問題。

error.JPG (50.54 KB, 下載次數: 125)

error.JPG

作者: huaruolong    時間: 2023-6-21 11:03
oh,在不解壓下可以打開,解壓了反而打不開了,是我的原因。

作者: zlj20181110    時間: 2023-8-13 09:16
感謝樓主,非常好的資料,很有用。
作者: dyx811    時間: 2023-8-15 10:45
分析很透徹!好辦法!
作者: likejian    時間: 2023-8-17 14:08
分析很透,佩服這些大神
作者: 量子工業    時間: 2023-8-20 09:55
很棒的分析,感謝分享。
作者: huaruolong    時間: 2023-8-30 13:19

樓主寫的非常詳細 好資料,51黑有你更精彩!!!
作者: newlined    時間: 2024-8-14 13:40
謝謝大佬
作者: Tao濤    時間: 2024-8-16 19:18
哎呀,你為什么把每個按鍵都定義呢,直接橫掃縱掃不就行了
作者: donglw    時間: 2024-8-17 03:04
使用硬件去抖動電路:1)RS觸發器去抖動,2)單穩觸發器——74HC221,3)同相器組成的積分去抖動電路。
作者: 藍藍小星星    時間: 2024-8-17 03:09
程序啰里啰唆,采樣后僅判斷2次,完全沒這個必要的邏輯,后面的keycode重新賦值也根本沒必要,采樣出來本來已經是按鍵值,沒必要再次轉換。除非還有其他的采樣,要放在一個8位的byte里面去識別。
作者: 勞資蜀道山111    時間: 2024-8-17 09:34
寫的非常詳細
作者: 新昌小徐    時間: 2024-8-17 12:16
看了一下,你的狀態機消抖,你key_press!=0xff時,表明有鍵按下,賦key_state=1,則執行case=1語句,再判斷key_press!=0xff,就幾條語句,也就幾個微秒而已,延時很短的,這有問題。
還是手把手教你學51單片機 宋學松處理陣列按鍵程序來得好。
它的思路是:采用中斷的形式,1毫秒中斷,在1毫秒中斷中,使某一行為低電平,其它為高電平。然后把這一行中的按鍵狀態緩存在狀態字節數組中(4*4的二維數組中),有四行,則要執行4次,花4毫秒才能把各個按鍵的狀態存儲一遍。存儲的字節先左移一位,然后從最低位移入狀態位(列狀態),1為按鍵沒按下,0表示按下。通過16次,16毫秒掃描,就存儲了四次矩陣按鍵狀態,這樣存儲在字節的低四位中。
假設4次都是1,表明已穩定彈起,假設4次都為0,表明穩定鍵下,如果不全是1或是0,則在按鍵過渡期。只要把這16這字節的數組與0x0f按位與,就能判斷是不是穩定按下,或是穩定彈出,如果是,就返回某按鍵值為1或是0,使代表按鍵消抖狀態的二維數組中的某個數為1或是0
作者: 新昌小徐    時間: 2024-8-17 12:23
貼上宋學松的程序片段:此程序在1毫秒中斷程序中執行
//將一行的 4 個按鍵值移入緩沖區
keybuf[keyout][0] = (keybuf[keyout][0] << 1) | KEY_IN_1;
keybuf[keyout][1] = (keybuf[keyout][1] << 1) | KEY_IN_2;
keybuf[keyout][2] = (keybuf[keyout][2] << 1) | KEY_IN_3;
keybuf[keyout][3] = (keybuf[keyout][3] << 1) | KEY_IN_4;
//消抖后更新按鍵狀態
for (i=0; i<4; i++) //每行 4 個按鍵,所以循環 4 次
{
if ((keybuf[keyout][i] & 0x0F) == 0x00)
{ //連續 4 次掃描值為 0,即 4*4ms 內都是按下狀態時,可認為按鍵已穩定的按下
KeySta[keyout][i] = 0;
}
else if ((keybuf[keyout][i] & 0x0F) == 0x0F)
{ //連續 4 次掃描值為 1,即 4*4ms 內都是彈起狀態時,可認為按鍵已穩定的彈起
KeySta[keyout][i] = 1;
}
}
//執行下一次的掃描輸出
keyout++; //輸出索引遞增
keyout = keyout & 0x03; //索引值加到 4 即歸零
switch (keyout) //根據索引,釋放當前輸出引腳,拉低下次的輸出引腳
{
case 0: KEY_OUT_4 = 1; KEY_OUT_1 = 0; break;
case 1: KEY_OUT_1 = 1; KEY_OUT_2 = 0; break;
case 2: KEY_OUT_2 = 1; KEY_OUT_3 = 0; break;
case 3: KEY_OUT_3 = 1; KEY_OUT_4 = 0; break;
default: break;
}

作者: 東籬南山客    時間: 2024-8-31 10:17
看了樓主的貼子對按鍵消抖又有了新的理解




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
精品国产乱码一区二区三| 日本在线成人| 亚洲妇熟xxxx妇色黄| а√在线中文在线新版| 国产美女视频一区二区| 亚洲乱码免费伦视频| 99re热视频在线| 国产色在线 com| 亚洲精品一区二区在线播放∴| 欧美3p视频| 国产日韩在线不卡| 亚洲人a成www在线影院| 日韩av日韩在线观看| 三年中国中文在线观看免费播放| 折磨小男生性器羞耻的故事| 日韩三级视频在线| www.就去干.com| 97人澡人人添人人爽欧美| 伊人久久大香线蕉av不卡| 成人午夜激情视频| 欧美一卡二卡三卡| 91精品国产高清久久久久久91裸体 | 欧美撒尿777hd撒尿| 欧美极品少妇xxxxx| 人妻夜夜添夜夜无码av| 国产精品入口尤物| 91传媒久久久| 亚洲 欧美 成人| 18以下岁禁止1000部免费| 搞黄网站在线看| 99久久婷婷这里只有精品| 久久激五月天综合精品| 欧美性猛交xxxxx水多| 亚洲欧美一区二区精品久久久| 97超碰人人模人人爽人人看| 亚洲人成色77777| 在线观看中文字幕2021| 成年在线观看免费人视频| 欧美a级片一区| 日韩欧美一级特黄在线播放| 久久亚裔精品欧美| 国产18无套直看片| www.eeuss影院| 91麻豆精品| 国产一区二区三区免费| 精品国产乱码久久久久久免费 | 欧美黑人性受xxxx精品| 国产激情久久| 久久久99精品久久| 国产美女扒开尿口久久久| 国产男女在线观看| 狠狠人妻久久久久久综合麻豆| 亚洲小说区图片| 国产亚洲视频系列| 成人免费直播live| 国产午夜精品无码| av在线中文| 日韩电影免费在线| 北条麻妃久久精品| 国产亚洲色婷婷久久| 免费黄色片视频| 99riav视频在线观看| 久久av资源站| 日韩一级片网站| 亚洲成在人线免费| 色一情一区二区三区四区| 欧美自拍偷拍第一页| 99精品在免费线偷拍| 一区二区三区视频在线看| 日韩欧美精品在线不卡| 日韩一级片免费观看| 国产福利资源一区| 91精品黄色片免费大全| 在线观看国产网站| 国产中文在线视频| 丁香婷婷深情五月亚洲| 91传媒免费看| 波多野结衣网站| 精品国产亚洲日本| 欧美刺激脚交jootjob| 岛国av免费观看| 日韩在线观看www| 日韩理论在线观看| 欧美精品丝袜中出| 久久久精品麻豆| 亚洲sss视频| 久久精品视频在线看| 国内精品视频在线播放| 中文字幕在线观看视频一区| 三上亚洲一区二区| 国产成人精品综合| 国产xxx免费观看| 国产三级欧美三级| 人妻少妇偷人精品久久久任期| 岛国av在线播放| 夜夜嗨av色一区二区不卡| 免费黄色av片| 99精品福利视频| 亚洲一区二区三区精品在线观看 | 好色视频app| 天天综合网入口| 久草在线青青草| 亚洲成人黄色网| 国产精品久久久久久久成人午夜| 亚洲爱爱天堂| 亚洲高清视频在线播放| 日本美女一区二区三区视频| 国产人成亚洲第一网站在线播放| 国产午夜精品免费一区二区三区 | 成人激情小说乱人伦| 欧美精品久久久久久久久25p| 久久久123| 91精品国产高清一区二区三区蜜臀| 九九视频直播综合网| 黄色激情小视频| 成人噜噜噜噜| 色综合天天狠天天透天天伊人| a级片在线视频| 日欧美一区二区| 青青草综合在线| 亚洲精品传媒| 337p日本欧洲亚洲大胆精品| 国产一卡二卡在线| 欧美国产激情| 日本欧美精品久久久| 免费观看的av网站| 欧美视频中文字幕在线| 99久久99久久精品免费看小说.| 日韩三级毛片| 国产精品私拍pans大尺度在线 | 污污视频网站免费观看| h片精品在线观看| 欧美大片va欧美在线播放| 日本免费一区视频| 丁香五精品蜜臀久久久久99网站| 黄色a级片免费| 老司机免费在线视频| 日韩成人在线免费观看| 天天综合天天干| 国产精品亚洲综合久久| 国产一级片91| 成人在线观看免费网站| 亚洲欧美中文日韩v在线观看| 国产精品九九九九| 白白色亚洲国产精品| 视频二区在线播放| 成人免费91| 99久久精品无码一区二区毛片| eeuss影院网站免费观看| 一本到不卡精品视频在线观看 | 国产一区二区三区黄| 亚洲av综合一区二区| 8848成人影院| 天堂精品一区二区三区| 羞羞污视频在线观看| 欧美激情xxxx性bbbb| av福利网址| 日韩欧美国产小视频| 俄罗斯嫩小性bbwbbw| 中文av一区二区| frxxee中国xxx麻豆hd| 黄色不卡一区| 国产精品无码电影在线观看| 桃色av一区二区| 亚洲永久在线观看| 美足av综合网| 国产不卡在线观看| 九色视频网站在线观看| 国产精品一二三视频| 在线激情av| 欧美激情伊人电影| 性xxxfreexxxx性欧美| 国产日产欧美a一级在线| 免费在线观看黄色网| 99r国产精品视频| 色综合久久久| 十八禁视频网站在线观看| 国产精品入口久久| 免费黄色在线播放| 粉嫩av一区二区三区在线播放| 久久久久国产精品无码免费看| 久久丁香综合五月国产三级网站| 日日操免费视频| 欧美极品aⅴ影院| 亚洲av激情无码专区在线播放| 精品一区二区三区免费毛片爱| 欧美被狂躁喷白浆精品| 亚洲成年人网站在线观看| 亚洲视频免费播放| 亚洲免费高清视频在线| xxxx69·hdxxxxx| 亚洲精品在线不卡| 欧美性天天影视| 亚洲三区视频| 在线精品福利| 精品在线视频免费| 在线观看精品一区| 免费观看的av网站| 久久香蕉综合色| 天天射天天综合网| 久久一二三四区| 欧美日韩美少妇| 国产日韩精品在线看| 欧美国产一二三区| 999久久久91| 日本在线播放视频| 日韩三级视频在线看| 啊v视频在线| 久草视频这里只有精品| 国产久卡久卡久卡久卡视频精品| 精品欧美一区二区精品久久| 日本精品三区| 丰满少妇xoxoxo视频| 亚洲精品一区二区三区精华液| 国产一级片在线| 久久久亚洲国产精品| 久久这里只有精品6| 日本jizz中国| 蜜桃视频在线观看91| 青青青伊人色综合久久| 天堂中文网在线| 国产精品偷伦一区二区| 欧美69视频| www.午夜激情| 国产成人精品av| 午夜精品久久| 污污的视频网站在线观看| 国产精品久久久久久久久久三级| 日韩中文首页| 国产精品无码天天爽视频| 97在线看福利| 亚洲国产精品第一区二区三区| 性xxxxbbbb| 精品一区二区三区日本| 国产福利视频一区二区三区| 美女高潮黄又色高清视频免费| 欧美一进一出视频| www.欧美亚洲| 男男激情在线| www.日本久久| 精品国产一区二区三区忘忧草| 日韩一级特黄| 91精品中文字幕| 成人黄色免费看| 不卡av在线免费观看| 在线播放91| 永久av免费在线观看| 精品盗摄一区二区三区| 欧美在线关看| 男男h黄动漫啪啪无遮挡软件| 久久精品日产第一区二区三区乱码 | 人妻久久久一区二区三区| 亚洲欧美国产三级| 高清在线视频不卡| 久久高清免费视频| 国产一区在线精品| 中文在线а√天堂官网| 好吊操视频这里只有精品| 欧美α欧美αv大片| 蜜桃精品wwwmitaows| 欧美娇小性xxxx| 久久精品电影网站| 水野朝阳av一区二区三区| 可以免费看污视频的网站| 亚洲色图偷拍视频| 综合激情国产一区| 天堂精品中文字幕在线| 久草视频在线看| 男女性高潮免费网站| 91亚洲一区精品| 尤物在线观看一区| 久久国产精品免费一区二区三区| 蜜桃av噜噜一区二区三区麻豆| 在线免费一区| 欧美一级高清大全免费观看| 99re6这里只有精品| 毛片视频免费| 久久国产露脸精品国产| 91成人免费在线观看| 午夜欧美视频在线观看| 九九久久精品| 理论片播放午夜国外| tube国产麻豆| 欧洲成人一区二区| 3atv一区二区三区| 视频一区二区不卡| av日韩国产| 欧美色图欧美色图| 亚洲精品乱码久久久久久久| 成人免费午夜电影| 色婷婷综合久色| 免费日韩精品中文字幕视频在线| 国产黄a三级三级三级av在线看| 国产精品乱码一区二区| 国产精品wwwww| 88xx成人精品| 91福利资源站| 奇米精品一区二区三区在线观看一| 性欧美videoshd高清| 一本久道久久综合多人| 国产传媒第一页| 欧美精品国产精品久久久| 日韩理论片久久| 97久久人人超碰| 国产欧美一区| 精品自拍一区| 国产尤物视频| 日韩av电影网| 亚洲第一色av| 久99久在线| 欧美俄罗斯乱妇| 91福利在线免费观看| 国产成人精品三级| 婷婷精品在线观看| av电影高清在线观看| 日本大片在线看黄a∨免费| 日韩欧美a级片| 亚洲成人福利视频| 可以免费看的黄色网址| 国产欧美一区二区三区在线看| 精品国产精品一区二区夜夜嗨| 国产午夜精品久久久久久久| 国内精品福利| 国偷自产av一区二区三区| 性欧美ⅴideo另类hd| 激情四房婷婷| 欧美色欧美亚洲另类二区精品| 欧美啪啪小视频| 精品国产无码在线观看| 欧美极品欧美精品欧美图片| 欧美日韩在线高清| 国产精品视频久久久| 欧美精品在线播放| 亚洲国内高清视频| 91久久精品一区二区三| 欧美激情一区二区三区不卡 | 一区二区三区国产视频| 欧美日韩日日骚| 亚洲伊人色欲综合网| 成人午夜电影小说| 免费观看久久久4p| 欧美日韩精品免费观看视频完整| 嗯用力啊快一点好舒服小柔久久| 成人爽a毛片免费啪啪动漫 | 国产又黄又爽视频| 日韩免费黄色片| 免费成人深夜天涯网站| 亚洲美女精品视频| 日韩一级片播放| 99热成人精品热久久66| 在线视频一区观看| 日韩美女一区| 日韩欧美激情一区二区| 精品国产区在线| 久久国产精品免费一区| 国产美女久久精品| 91久久久亚洲精品| 91夜夜揉人人捏人人添红杏| 成人亚洲欧美一区二区三区| 国产精品av在线| 国产一区二区色| 91在线观看免费高清| 成人高清在线观看| 日韩美女视频在线| 欧美电影免费观看完整版| 精品久久久久香蕉网| 亚洲国产精品网站| 亚洲天堂av高清| 最近中文字幕日韩精品| 欧美黑人一级爽快片淫片高清| 91高清免费在线观看| 日韩美女在线播放| 亚洲资源在线看| 亚洲精品9999| 免费观看国产精品视频| 免费看污污网站| 国产亚洲色婷婷久久99精品91| 黄色av免费播放| 免费的毛片视频| 亚洲国产成人在线观看| 中文岛国精品亚洲一区| 18成年在线观看| 精品久久av| 亚洲成av在线| 九九视频精品全部免费播放| 亚洲欧美一区在线| 精品在线播放午夜| 亚洲人成影院在线观看| 欧美人与性动xxxx| 最近2019免费中文字幕视频三| 热久久这里只有精品| 欧美日韩精品一区| 日本久久久精品视频| 亚洲最大成人综合网| 欧美成人一区二区视频| brazzers欧美精品| 久久伊伊香蕉| 成人av综合网| 日韩不卡手机在线v区| 国产精品免费久久久久|