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

標題: 單片機矩陣鍵盤掃描驅動程序與電路分析 [打印本頁]

作者: qinlu123    時間: 2021-11-15 14:47
標題: 單片機矩陣鍵盤掃描驅動程序與電路分析
矩陣鍵盤的掃描原理很多教材都介紹過,在這里再贅述一遍。
以4X4鍵盤為例,首先按照下圖制作電路。

然后將HOR1-HOR4連接到單片機的輸入引腳上去;LON1-LON4連接到單片機的開漏輸出引腳上去,注意這4個引腳必須設置為開漏模式!
程序上首先將LON1所連接的IO輸出低電平其余3個IO輸出高電平,同時檢測HOR1-HOR4的電平來獲取K1-K4的按鍵狀態;然后將LON2所連接的IO輸出低電平其余3個IO輸出高電平,同時檢測HOR1-HOR4的電平來獲取K5-K8的按鍵狀態;依次類推。
但是這個電路是有BUG的,比如同時按下K1、K5和K6,當LON1為低電平的時HOR1檢測到是低電平沒有問題;因為K2沒有被按下所以我們希望HOR2是高電平,但是由于K1、K5、K6同時按下電流從VCC通過R2再通過K6再通過K5再通過K1流到LON1,所以實際上HOR2也是低電平這時候程序就認為K2被按下了導致出錯。


解決這個問題很簡單只需要在合適的位置加一個二極管,利用其單向導電性阻擋電流跨列流動就行了。


好了,接下來是單片機代碼時間
  1. #ifndef __Key_matrix_H
  2. #define __Key_matrix_H

  3. #include "gpio.h"
  4. #include "gpio_bool.h"

  5. /*務必把這4個輸出IO設置為上拉輸入*/
  6. #define KEY_HOR1 PAin(7)
  7. #define KEY_HOR2 PAin(6)
  8. #define KEY_HOR3 PAin(5)
  9. #define KEY_HOR4 PAin(4)
  10. /*務必把這4個輸出IO設置為開漏*/
  11. #define KEY_LON1 PBout(0)
  12. #define KEY_LON2 PCout(5)
  13. #define KEY_LON3 PCout(4)
  14. #define KEY_LON4 PCout(3)

  15. #define KEY_PRESS_TIME 20//消抖常數
  16. #define KEY_LONG_PRESS_TIME 3000//單個按鍵長按閾值3s
  17. /*通過讀取(只讀)這三個變量即可獲得按鍵的單按、長按和組合鍵信息*/
  18. extern volatile uint16_t Key_Phy_Num;
  19. extern volatile uint8_t Key_Pulse_Num;
  20. extern volatile uint16_t Key_LP_Num;

  21. typedef enum
  22. {
  23.         KPL_DISABLE=0,
  24.         KPL_ENABLE
  25. }K_L_P;//按鍵的長按狀態
  26. typedef struct
  27. {
  28.         K_L_P KEY_LONG_PRESS;
  29.         uint16_t KeyOpenCount;
  30.         uint8_t KOC_EN;
  31.         uint16_t KeyCloseCount;
  32.         uint8_t KCC_EN;
  33. }Key_Para;

  34. exter Key_Par Key_1,Key_2,Key_3,Key_4,Key_5,Key_6,Key_7,Key_8,Key_9,Key_10,Key_11,Key_12,Key_13,Key_14,Key_15,Key_16;

  35. void Clear_Key_Pulse_Num(void);//當讀取完Key_Pulse_Num后調用
  36. void KeyCount_Run(void);//在1ms滴答里調用
  37. void Key_Scan(void);//大循環或者滴答里邊都行

  38. #endif
復制代碼
  1. #include "Key_matrix.h"

  2. Key_Par Key_1,Key_2,Key_3,Key_4,Key_5,Key_6,Key_7,Key_8,Key_9,Key_10,Key_11,Key_12,Key_13,Key_14,Key_15,Key_16;
  3. volatile uint16_t Key_Phy_Num=0;  //Key_Phy_Num每一個bit代表一個按鍵的狀態
  4. volatile uint8_t Key_Pulse_Num=0;//當某一個按鍵從按下到彈起的過程中(非長按)始終只有該按鍵被操作,則Key_Pulse_Num被修改為該鍵的序號
  5. volatile uint16_t Key_LP_Num=0;   //Key_LP_Num每一個bit代表一個按鍵的長按狀態
  6. uint8_t KeyCom=0;//組合鍵是否出現

  7. static void Key_Num_Read(Key_Para* Key,uint16_t KPN,uint8_t Pulse,uint8_t Key_Hor)
  8. {
  9.         if(Key_Hor == 0)
  10.         {
  11.                 Key->KOC_EN=0;//按鍵按下立即清除(松開)計數
  12.                 if(Key->KeyCloseCount > KEY_PRESS_TIME)
  13.                 {
  14.                         /*消抖方法為檢測到按鍵被(持續)按下超過20ms*/
  15.                         Key_Phy_Num|=KPN;//消抖完畢后記錄被按下的按鍵的鍵值
  16.                         if(Key->KeyCloseCount > KEY_LONG_PRESS_TIME)
  17.                         {
  18.                                 /*檢測到按鍵被(持續)按下超過3秒*/
  19.                                 Key->KEY_LONG_PRESS=KPL_ENABLE;
  20.                                 Key_LP_Num|=KPN;
  21.                                 Key->KCC_EN=0;
  22.                         }
  23.                         else
  24.                         {
  25.                                 /*時間不夠啟動計數*/
  26.                                 Key->KCC_EN=1;
  27.                         }
  28.                 }
  29.                 else
  30.                 {
  31.                         /*時間不夠啟動計數*/
  32.                         Key->KCC_EN=1;
  33.                 }
  34.         }
  35.         else
  36.         {
  37.                 Key->KCC_EN=0;//按鍵松開立即清除(按下)計數
  38.                 if(Key->KeyOpenCount > KEY_PRESS_TIME)
  39.                 {
  40.                         if((Key_Phy_Num==KPN)&&(KeyCom==0)&&(Key->KEY_LONG_PRESS!=KPL_ENABLE))
  41.                         {
  42.                                 //按鍵被按下過&&非長按&&不是在組合鍵周期,該按鍵釋放時發出生命周期為直到被讀取或者直到有新按鍵被按下的脈沖
  43.                                 Key_Pulse_Num=Pulse;
  44.                         }
  45.                          //清除該位
  46.                          Key_Phy_Num&=(~KPN);
  47.                          Key_LP_Num&=(~KPN);
  48.                         /*檢測到(持續)松開20ms*/
  49.                         Key->KEY_LONG_PRESS=KPL_DISABLE;
  50.                         Key->KOC_EN=0;
  51.                 }
  52.                 else
  53.                 {
  54.                         Key->KOC_EN=1;
  55.                 }
  56.         }
  57. }
  58. /********************************************************/
  59. static void Key_Count(Key_Para *Key)
  60. {
  61.         if(Key->KOC_EN==0)
  62.         {
  63.                 Key->KeyOpenCount=0;
  64.         }
  65.         else if(Key->KeyOpenCount>=50000)
  66.         {
  67.                 Key->KeyOpenCount=50000;
  68.         }
  69.         else
  70.         {
  71.                 Key->KeyOpenCount++;
  72.         }

  73.         if(Key->KCC_EN==0)
  74.         {
  75.                 Key->KeyCloseCount=0;
  76.         }
  77.         else if(Key->KeyCloseCount>=50000)
  78.         {
  79.                 Key->KeyCloseCount=50000;
  80.         }
  81.         else
  82.         {
  83.                 Key->KeyCloseCount++;
  84.         }
  85. }
  86. /********************************************************/
  87. void Clear_Key_Pulse_Num(void)
  88. {
  89.         Key_Pulse_Num=0;
  90. }
  91. /********************************************************/
  92. void KeyCount_Run(void)
  93. {
  94.         Key_Count(&Key_1);
  95.         Key_Count(&Key_2);
  96.         Key_Count(&Key_3);
  97.         Key_Count(&Key_4);
  98.         Key_Count(&Key_5);
  99.         Key_Count(&Key_6);
  100.         Key_Count(&Key_7);
  101.         Key_Count(&Key_8);
  102.         Key_Count(&Key_9);
  103.         Key_Count(&Key_10);
  104.         Key_Count(&Key_11);
  105.         Key_Count(&Key_12);
  106.         Key_Count(&Key_13);
  107.         Key_Count(&Key_14);
  108.         Key_Count(&Key_15);
  109.         Key_Count(&Key_16);
  110. }
  111. /********************************************************/
  112. static void Recognition_KeyCombination(void)
  113. {
  114.         uint8_t i=0,j=0;
  115.         uint16_t Data=0;
  116.         
  117.         Data=Key_Phy_Num;
  118.         for(i=0;i<16;i++)
  119.         {
  120.                 if(Data&0x8000)
  121.                 {
  122.                         j++;
  123.                 }
  124.                 Data<<=1;
  125.         }
  126.         /*發現多個bit為1,那指定多個按鍵按下了*/
  127.         if(j>1)
  128.         {
  129.                 KeyCom=1;
  130.         }
  131.         /*一切歸于平靜,又是一個因果循環*/
  132.         if(Key_Phy_Num==0x0)
  133.         {
  134.                 KeyCom=0;
  135.         }
  136. }
  137. /********************************************************/
  138. void Key_Scan(void)
  139. {        
  140.   static uint8_t ScanCount=0;
  141.   
  142.   Recognition_KeyCombination();
  143.   switch(ScanCount)
  144.   {
  145.     case 0:
  146.     {
  147.       KEY_LON1=0;KEY_LON2=1;KEY_LON3=1;KEY_LON4=1;
  148.       Key_Num_Read(&Key_1,(uint16_t)0x0001   ,1,KEY_HOR1);
  149.       Key_Num_Read(&Key_2,(uint16_t)0x0001<<1,2,KEY_HOR2);
  150.       Key_Num_Read(&Key_3,(uint16_t)0x0001<<2,3,KEY_HOR3);
  151.       Key_Num_Read(&Key_4,(uint16_t)0x0001<<3,4,KEY_HOR4);
  152.       KEY_LON1=1;KEY_LON2=0;KEY_LON3=1;KEY_LON4=1;
  153.       ScanCount++;
  154.     }break;
  155.     case 1:
  156.     {
  157.       KEY_LON1=1;KEY_LON2=0;KEY_LON3=1;KEY_LON4=1;
  158.       Key_Num_Read(&Key_5,(uint16_t)0x0001<<4,5,KEY_HOR1);
  159.       Key_Num_Read(&Key_6,(uint16_t)0x0001<<5,6,KEY_HOR2);
  160.       Key_Num_Read(&Key_7,(uint16_t)0x0001<<6,7,KEY_HOR3);
  161.       Key_Num_Read(&Key_8,(uint16_t)0x0001<<7,8,KEY_HOR4);
  162.       KEY_LON1=1;KEY_LON2=1;KEY_LON3=0;KEY_LON4=1;
  163.       ScanCount++;
  164.     }break;
  165.     case 2:
  166.     {
  167.       KEY_LON1=1;KEY_LON2=1;KEY_LON3=0;KEY_LON4=1;
  168.       Key_Num_Read(&Key_9 ,(uint16_t)0x0001<<8 , 9,KEY_HOR1);
  169.       Key_Num_Read(&Key_10,(uint16_t)0x0001<<9 ,10,KEY_HOR2);
  170.       Key_Num_Read(&Key_11,(uint16_t)0x0001<<10,11,KEY_HOR3);
  171.       Key_Num_Read(&Key_12,(uint16_t)0x0001<<11,12,KEY_HOR4);
  172.       KEY_LON1=1;KEY_LON2=1;KEY_LON3=1;KEY_LON4=0;
  173.       ScanCount++;
  174.     }break;
  175.     case 3:
  176.     {
  177.       KEY_LON1=1;KEY_LON2=1;KEY_LON3=1;KEY_LON4=0;
  178.       Key_Num_Read(&Key_13,(uint16_t)0x0001<<12,13,KEY_HOR1);
  179.       Key_Num_Read(&Key_14,(uint16_t)0x0001<<13,14,KEY_HOR2);
  180.       Key_Num_Read(&Key_15,(uint16_t)0x0001<<14,15,KEY_HOR3);
  181.       Key_Num_Read(&Key_16,(uint16_t)0x0001<<15,16,KEY_HOR4);
  182.       KEY_LON1=0;KEY_LON2=1;KEY_LON3=1;KEY_LON4=1;
  183.       ScanCount=0;
  184.     }break;
  185.     default:
  186.     {
  187.       ScanCount=0;
  188.     }break;
  189.   }
  190. }
復制代碼





作者: 2858692166    時間: 2021-11-24 09:53
優秀啊
作者: curtain520    時間: 2021-12-14 21:09
牛啊,確實不錯
作者: op5726170    時間: 2022-3-1 11:54
矩陣代碼需要寫這么多么,寫過一次記得沒幾句
作者: fky490903    時間: 2022-3-20 20:11
講的很好,通俗易懂
作者: oxtao    時間: 2022-4-2 11:52
矩陣代碼需要寫這么多么,寫過一次記得沒幾句
作者: yutree    時間: 2022-4-3 11:17
so nice
作者: joyb    時間: 2023-8-28 15:04
在51用,程序怎么改
作者: 緣分等待    時間: 2024-3-15 21:35
牛啊,確實不錯
作者: qinlu123    時間: 2024-11-4 08:21
關于驅動如何修改成51用,第一搞一個1ms的中斷,用定時器也行在大循環里記個數模擬1ms周期也行不需要太準確。第二把8個IO的宏改成51的IO,比如把#define KEY_HOR1 PAin(7)改成#define KEY_HOR1 P1^0;并按照注釋來配置輸入輸出狀態。第三把uint8_t改成unsigned char,uint16_t改成unsigned int。第四把#include "gpio.h"#include "gpio_bool.h"刪掉換上51的頭文件
作者: 萬家燈火51    時間: 2024-11-6 10:14
學習來著,空了研究一下。
作者: qinlu123    時間: 2025-3-11 09:24
op5726170 發表于 2022-3-1 11:54
矩陣代碼需要寫這么多么,寫過一次記得沒幾句

這么多年了,我忍住不懟你。矩陣驅動確實可以寥寥幾行就能實現,但是你寫的那玩意有幾個功能?估計連消抖都沒有,更別說隨意擴展、跨平臺移植、識別長短按以及松手后的事件觸發
作者: 萬家燈火51    時間: 2025-3-17 15:04
qinlu123 發表于 2025-3-11 09:24
這么多年了,我忍住不懟你。矩陣驅動確實可以寥寥幾行就能實現,但是你寫的那玩意有幾個功能?估計連消抖 ...

嘿嘿,還可以搞組合鍵




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
色狠狠色噜噜噜综合网| 成人激情视频在线播放| 国产精品沙发午睡系列990531| 秋霞影视一区二区三区| 日本免费视频在线观看| 国产在线精品一区二区不卡| 免费黄色网址在线| 中国男女全黄大片| 国风产精品一区二区| 国产精品美腿一区在线看| 亚洲精品aⅴ中文字幕乱码| 亚洲伦理在线精品| 国产麻豆欧美日韩一区| 久久久久亚洲| 久久av网站| 好久没做在线观看| 中文字幕不卡| 污污视频网站| 亚洲一二三四2021不卡| 日韩av在线电影| 3d动漫精品啪啪一区二区下载 | fc2ppv在线播放| 午夜在线观看av| 青少年xxxxx性开放hg| 亚洲直播在线一区| 欧美精品久久一区二区 | av成人网在线| 国产大奶视频| 欧美一级片免费| 男人日女人网站| 97精品在线播放| 第一页在线视频| www黄色日本| 致1999电视剧免费观看策驰影院| 91免费的视频在线播放| 久久久久亚洲精品国产| 在线亚洲欧美视频| 精品毛片乱码1区2区3区| 精品欧美激情精品一区| 中文字幕日本乱码精品影院| 成人免费观看视频| 九九在线精品视频| 亚洲一区二区网站| 激情六月综合| 欧美高清日韩| 国产精品成久久久久| 精品福利一区| 日韩欧美中文在线观看| 91综合国产| 北岛玲heyzo一区二区| 少女频道在线观看高清 | 欧美专区在线| 亚洲一级特黄| 激情欧美丁香| 伊人成人在线| 欧美午夜不卡| 欧美激情偷拍| 午夜精品免费| 国内一区二区三区| 女生裸体视频一区二区三区| 精品美女在线视频| 亚洲图片久久| 一区二区三区日本久久久| 视频在线一区| 国产精品17p| 91精品啪在线观看国产手机| 精品亚洲二区| 国产精品videossex| japanese色系久久精品| 成人av综合网| 国产成人影院| 99精品在线免费在线观看| 日韩久久电影| 欧美精品18| 99这里有精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本不卡高清视频| 国产一区二区毛片| 波多野结衣在线aⅴ中文字幕不卡| 成人午夜短视频| 国产午夜亚洲精品理论片色戒| 国产午夜亚洲精品羞羞网站| 日本一区二区高清| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美日韩在线不卡| 亚洲午夜一区二区三区| 色综合久久六月婷婷中文字幕| 欧美亚洲禁片免费| 精品粉嫩aⅴ一区二区三区四区| 亚洲激情在线视频| 久久天天躁狠狠躁夜夜av| 欧美激情在线一区| 国产精品美女呻吟| 国产亚洲第一区| 综合色婷婷一区二区亚洲欧美国产| 熟妇熟女乱妇乱女网站| 久久网站免费视频| 色哟哟网站在线观看| 久久精品一区二区免费播放| 青青青在线免费观看| 久久久久在线视频| 色wwwwww| 女人在下体塞跳蛋在线观看| 97影院理论片在线播放| 男人的天堂在线视频| 欧美xxxx黑人又粗又长| 成人影院在线免费观看| 黄色成人美女网站| 欧美成人一品| 国产精品一卡二| 国产精品乱码久久久久久| 欧美日韩中文字幕日韩欧美| 日韩一二三区视频| 久久精品国产综合| 国产精品久久久久免费a∨大胸| 国产精品久久久久久久久婷婷 | 欧美精品免费在线| 国产精品日韩av| 欧美一区二区三区四区五区六区| 91网站在线观看免费| 日韩av在线中文| 综合 欧美 亚洲日本| 无码人妻丰满熟妇区五十路| 一区二区在线观看视频在线| xfplay爱情电影网love| 极品美乳网红视频免费在线观看 | 国产成人精品免费在线| 成人免费在线播放视频| 欧美嫩在线观看| 日韩中文字幕国产| 国产精品自产拍在线观| 亚洲精品高清视频| 欧美性猛交xxxx乱大交91| 三级黄色免费观看| 亚洲国产精品久久久久久6q| 全彩无遮拦全彩口工漫画全彩| 四虎影视在线观看2413| 欧美一区国产| 91精品国产麻豆国产在线观看 | 天堂资源在线亚洲| 免费久久99精品国产| 亚洲欧美在线高清| 亚洲高清色综合| 国产精品成人观看视频国产奇米| 91手机视频在线| 午夜一区二区三区免费| 中文字幕在线播放不卡| 日本h在线观看| 免费av不卡| 日韩深夜福利| 国产高清不卡二三区| 精品国产999| 久久久91精品国产一区不卡| 国产精品白丝jk白祙| 九一精品在线观看| 精品视频久久久久| 2021最新国产精品一区| 精品黄色免费中文电影在线播放| 日本欧美三级| 成人午夜av在线| 日韩欧美高清一区| 成人av电影天堂| 色婷婷综合久久久久中文字幕| 欧美爱爱免费视频| 精品一成人岛国片在线观看| 超碰国产在线| 精品欧美激情在线观看| 久久综合九色综合欧美亚洲| 日韩免费高清视频| 成人三级在线| 亚洲精品一区二区18漫画| 一本大道伊人av久久综合| juliaann成人作品在线看| 欧美色网一区| 全国精品久久少妇| 91国偷自产一区二区使用方法| 6080yy精品一区二区三区| 91亚洲精品国产| 精品无码人妻一区二区三区| 日日爽夜夜爽| 国产精品久久久久久久久免费高清| 免费日韩av片| 欧美三级韩国三级日本三斤| 国产99久久精品一区二区 夜夜躁日日躁| 免费看毛片的网址| 在线观看 中文字幕| 国内一卡2卡三卡四卡在线| 成人免费短视频| 久久精品国产一区二区| 欧美一区二区在线不卡| 国产精品日韩高清| 国产aⅴ激情无码久久久无码| 性xxxx视频播放免费| 视频一区二区三区不卡| 亚洲二区三区不卡| 欧美日韩国产综合视频在线观看中文| 欧美中文字幕视频在线观看| 日本xxxxxxx免费视频| 中文字幕人妻精品一区| 亚洲综合色视频在线观看| 国产va免费精品观看精品视频 | 日韩美女在线播放| 国产aⅴ爽av久久久久| 午夜久久久久久噜噜噜噜| 国产午夜视频在线观看| 日韩在线视频精品| 亚洲国产精品天堂| 国产精品久久视频| 久久久久久婷婷| 免费精品国产自产拍观看| 丝袜老师在线| 国产成人av电影在线观看| 亚洲精品久久久久中文字幕欢迎你| 日产国产精品精品a∨| 免费在线一区二区三区| 国产一级视频| 水蜜桃精品av一区二区| 欧美丝袜第一区| 国产精品jizz视频| tube国产麻豆| 中文天堂av| 欧美第十八页| 在线观看免费成人| 麻豆传媒一区二区| 91看片在线播放| 青青草视频在线观看| 欧美精品一卡| 在线综合+亚洲+欧美中文字幕| 九色综合婷婷综合| 国产女同在线观看| 欧美色18zzzzxxxxx| 伊人影院久久| 亚洲精品一线二线三线| 欧美xxxx吸乳| 黑人乱码一区二区三区av| 成人在线高清免费| 国产69精品久久久久毛片| 欧美成人h版在线观看| 亚洲小视频网站| freee性欧美| 九九在线精品| 欧美日韩国产精品成人| 中日韩在线视频| 国产黄色片av| 成人免费在线观看视频| 中文字幕欧美国产| 成人免费福利视频| 久久精品国产精品国产精品污 | 亚洲 激情 在线| 色偷偷精品视频在线播放| 亚洲精品777| 一区二区三区鲁丝不卡| 国产精品一区在线观看| 你懂的国产视频| 国产精品久久久久久福利| 国产福利91精品一区| 欧美福利在线观看| 久久久久久亚洲中文字幕无码| 亚洲精品666| 日日夜夜免费精品视频| 色偷偷88888欧美精品久久久| 天天色天天干天天色| 黄色网免费观看| 99久久夜色精品国产亚洲1000部| 日韩欧美一级在线播放| 国产主播在线看| 国产成人羞羞电影网站在线观看| 久久最新网址| 日韩欧美在线影院| 成人免费视频久久| 老鸭窝一区二区| fc2ppv完全颜出在线播放| 在线观看一区| 久久精品一偷一偷国产| 精品国产av色一区二区深夜久久| 啦啦啦中文高清在线视频| 亚洲一区免费| 久久99青青精品免费观看| 亚洲一区二区三区蜜桃| 日韩欧美亚洲系列| av高清久久久| 国产欧美日韩伦理| 精品国产亚洲av麻豆| 精品一区二区三区中文字幕| 欧洲一区二区av| 国产亚洲综合视频| jizz免费| 青娱乐精品在线视频| 2019av中文字幕| 日韩av在线播放观看| 日韩大尺度黄色| 日本丶国产丶欧美色综合| 欧美爱爱视频免费看| 又黄又湿又爽又免费又色| 欧美精品观看| 国色天香2019中文字幕在线观看| 校园春色 亚洲| 捆绑调教日本一区二区三区| 亚洲亚洲人成综合网络| 国产综合中文字幕| japonensisjava老师可播放| 久久激情一区| 国产日韩精品在线观看| 一级全黄裸体免费视频| 国产精品自在| 日韩精品在线观看网站| 亚洲午夜福利在线观看| 欧美成人精品一区二区男人看| 中文字幕亚洲一区二区av在线| 中文字幕日韩一区二区三区| 全免费一级毛片免费看| 美日韩一区二区三区| 国产噜噜噜噜噜久久久久久久久 | 国产调教打屁股xxxx网站| 爽爽视频在线观看| 欧美国产一区在线| 91国在线高清视频| freexxxx性特大另类| 欧美aaaaa成人免费观看视频| 成人综合网网址| 天堂av2024| 亚洲午夜电影| 国产欧美一区二区三区久久人妖| 国产富婆一级全黄大片| 欧美a级片视频| 2019精品视频| 成人激情四射网| 性感女国产在线| 欧美日韩美少妇| 中文字幕一区二区人妻电影丶| 综合久久2o19| 欧洲亚洲精品在线| 国产麻豆剧传媒精品国产av| 国产精品一卡二卡三卡 | 青青草视频在线青草免费观看| 媚黑女一区二区| 91久久精品www人人做人人爽| 亚洲av成人无码久久精品老人 | 国产三级精品在线观看| 色婷婷一区二区三区| 欧美精品日韩www.p站| 人人妻人人爽人人澡人人精品| 色婷婷狠狠五月综合天色拍| 欧美xxxx综合视频| 久久久久久久久久久影院| 性欧美lx╳lx╳| 久久精品视频中文字幕| 国产免费a视频| 婷婷久久综合| 国产精品男女猛烈高潮激情| 又色又爽又高潮免费视频国产| 日本福利小视频| 亚洲人精品午夜| 黄色免费观看视频网站| 香蕉视频在线观看网站| 亚洲日本电影在线| 久久精品久久99| eeuss鲁一区二区三区| 日韩一区二区在线观看视频| 天堂网av2018| 日韩欧美中文字幕一区二区三区| 日韩中文字幕精品视频| 97国产精品久久久| 国模大胆一区二区三区| 国产精品区免费视频| 成年人免费在线观看网站| 91网站最新网址| 日韩av片网站| 草草视频在线| 中国人与牲禽动交精品| 一区二区三区免费在线视频| 亚洲精品极品| 亚洲精品中文字幕在线| 色播视频在线观看| 欧美亚男人的天堂| 欧美日韩中文字幕在线观看| 伊人精品一区| 亚洲999一在线观看www| 福利视频网址导航| 亚洲综合清纯丝袜自拍| 国产黑丝一区二区| 一区二区三区在线免费看| 91国内揄拍国内精品对白| 亚洲精品国自产拍在线观看| 成人小视频免费观看| 91淫黄看大片| 欧美日韩视频免费观看| 久久亚洲国产精品| 亚洲男人天堂影院| 久久影院午夜片一区| av地址在线观看| 99久久婷婷国产综合精品青牛牛 | 91九色蝌蚪porny| 99热这里有精品| 国产aⅴ夜夜欢一区二区三区 | 亚洲影视一区| 日韩精品成人一区二区在线观看| 日本a一级在线免费播放| 欧美系列在线观看| 日韩久久中文字幕|