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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機用ADC+電阻掃描鍵盤的源程序和原理圖

  [復制鏈接]
跳轉到指定樓層
樓主
這是我的ADC掃描鍵盤程序,附原理圖,用stc單片機自帶的ad和一些電阻構成的簡單電路,實現了16個ad的按鍵.


單片機源程序如下:
  1. /*************  本程序功能說明  **************

  2. 用STC的MCU的IO方式控制74HC595驅動8位數碼管。

  3. 顯示效果為: 數碼時鐘.

  4. 使用Timer0的16位自動重裝來產生1ms節拍,程序運行于這個節拍下, 用戶修改MCU主時鐘頻率時,自動定時于1ms.

  5. 左邊4位LED顯示時間(小時,分鐘), 右邊最后兩位顯示按鍵值.

  6. ADC按鍵鍵碼為1~16.

  7. 按鍵只支持單鍵按下, 不支持多鍵同時按下, 那樣將會有不可預知的結果.

  8. 鍵按下超過1秒后,將以10鍵/秒的速度提供重鍵輸出. 用戶只需要檢測KeyCode是否非0來判斷鍵是否按下.

  9. 調整時間鍵:
  10. 鍵碼1: 小時+.
  11. 鍵碼2: 小時-.
  12. 鍵碼3: 分鐘+.
  13. 鍵碼4: 分鐘-.


  14. ******************************************/


  15. #include    "reg51.h"
  16. #include    "intrins.h"

  17. #define     MAIN_Fosc       11059200L   //定義主時鐘

  18. typedef     unsigned char   u8;
  19. typedef     unsigned int    u16;
  20. typedef     unsigned long   u32;

  21. sfr TH2  = 0xD6;
  22. sfr TL2  = 0xD7;
  23. sfr IE2   = 0xAF;
  24. sfr INT_CLKO = 0x8F;
  25. sfr AUXR = 0x8E;
  26. sfr AUXR1 = 0xA2;
  27. sfr P_SW1 = 0xA2;
  28. sfr P_SW2 = 0xBA;
  29. sfr S2CON = 0x9A;
  30. sfr S2BUF = 0x9B;

  31. sfr ADC_CONTR = 0xBC;   //帶AD系列
  32. sfr ADC_RES   = 0xBD;   //帶AD系列
  33. sfr ADC_RESL  = 0xBE;   //帶AD系列
  34. sfr P1ASF = 0x9D;   //只寫,模擬輸入(AD或LVD)選擇

  35. sfr P4   = 0xC0;
  36. sfr P5   = 0xC8;
  37. sfr P6   = 0xE8;
  38. sfr P7   = 0xF8;
  39. sfr P1M1 = 0x91;    //PxM1.n,PxM0.n     =00--->Standard,    01--->push-pull
  40. sfr P1M0 = 0x92;    //                  =10--->pure input,  11--->open drain
  41. sfr P0M1 = 0x93;
  42. sfr P0M0 = 0x94;
  43. sfr P2M1 = 0x95;
  44. sfr P2M0 = 0x96;
  45. sfr P3M1 = 0xB1;
  46. sfr P3M0 = 0xB2;
  47. sfr P4M1 = 0xB3;
  48. sfr P4M0 = 0xB4;
  49. sfr P5M1 = 0xC9;
  50. sfr P5M0 = 0xCA;
  51. sfr P6M1 = 0xCB;
  52. sfr P6M0 = 0xCC;
  53. sfr P7M1 = 0xE1;
  54. sfr P7M0 = 0xE2;

  55. sbit P00 = P0^0;
  56. sbit P01 = P0^1;
  57. sbit P02 = P0^2;
  58. sbit P03 = P0^3;
  59. sbit P04 = P0^4;
  60. sbit P05 = P0^5;
  61. sbit P06 = P0^6;
  62. sbit P07 = P0^7;
  63. sbit P10 = P1^0;
  64. sbit P11 = P1^1;
  65. sbit P12 = P1^2;
  66. sbit P13 = P1^3;
  67. sbit P14 = P1^4;
  68. sbit P15 = P1^5;
  69. sbit P16 = P1^6;
  70. sbit P17 = P1^7;
  71. sbit P20 = P2^0;
  72. sbit P21 = P2^1;
  73. sbit P22 = P2^2;
  74. sbit P23 = P2^3;
  75. sbit P24 = P2^4;
  76. sbit P25 = P2^5;
  77. sbit P26 = P2^6;
  78. sbit P27 = P2^7;
  79. sbit P30 = P3^0;
  80. sbit P31 = P3^1;
  81. sbit P32 = P3^2;
  82. sbit P33 = P3^3;
  83. sbit P34 = P3^4;
  84. sbit P35 = P3^5;
  85. sbit P36 = P3^6;
  86. sbit P37 = P3^7;
  87. sbit P40 = P4^0;
  88. sbit P41 = P4^1;
  89. sbit P42 = P4^2;
  90. sbit P43 = P4^3;
  91. sbit P44 = P4^4;
  92. sbit P45 = P4^5;
  93. sbit P46 = P4^6;
  94. sbit P47 = P4^7;
  95. sbit P50 = P5^0;
  96. sbit P51 = P5^1;
  97. sbit P52 = P5^2;
  98. sbit P53 = P5^3;
  99. sbit P54 = P5^4;
  100. sbit P55 = P5^5;
  101. sbit P56 = P5^6;
  102. sbit P57 = P5^7;



  103. #define Timer0_Reload   (65536UL -(MAIN_Fosc / 1000))       //Timer 0 中斷頻率, 1000次/秒

  104. #define DIS_DOT     0x20
  105. #define DIS_BLACK   0x10
  106. #define DIS_        0x11




  107. u8 code t_display[]={                       //標準字庫
  108. //   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
  109.     0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
  110. //black  -     H    J    K    L    N    o   P    U     t    G    Q    r   M    y
  111.     0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,
  112.     0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46};    //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1

  113. u8 code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};      //位碼


  114. sbit    P_HC595_SER   = P4^0;   //pin 14    SER     data input
  115. sbit    P_HC595_RCLK  = P5^4;   //pin 12    RCLk    store (latch) clock
  116. sbit    P_HC595_SRCLK = P4^3;   //pin 11    SRCLK   Shift data clock


  117. u8  LED8[8];        //顯示緩沖
  118. u8  display_index;  //顯示位索引
  119. bit B_1ms;          //1ms標志

  120. u8  ADC_KeyState,ADC_KeyState1,ADC_KeyState2,ADC_KeyState3; //鍵狀態
  121. u8  ADC_KeyHoldCnt; //鍵按下計時
  122. u8  KeyCode;    //給用戶使用的鍵碼, 1~16有效
  123. u8  cnt10ms;

  124. u8  hour,minute,second; //RTC變量
  125. u16 msecond;

  126. void    CalculateAdcKey(u16 adc);
  127. u16     Get_ADC10bitResult(u8 channel); //channel = 0~7
  128. void    DisplayRTC(void);
  129. void    RTC(void);




  130. /**********************************************/
  131. void main(void)
  132. {
  133.     u8  i;
  134.     u16 j;

  135.     P0M1 = 0;   P0M0 = 0;   //設置為準雙向口
  136.     P1M1 = 0;   P1M0 = 0;   //設置為準雙向口
  137.     P2M1 = 0;   P2M0 = 0;   //設置為準雙向口
  138.     P3M1 = 0;   P3M0 = 0;   //設置為準雙向口
  139.     P4M1 = 0;   P4M0 = 0;   //設置為準雙向口
  140.     P5M1 = 0;   P5M0 = 0;   //設置為準雙向口
  141.     P6M1 = 0;   P6M0 = 0;   //設置為準雙向口
  142.     P7M1 = 0;   P7M0 = 0;   //設置為準雙向口
  143.    
  144.     display_index = 0;
  145.     P1ASF = 0x10;       //P1.4做ADC
  146.     ADC_CONTR = 0xE0;   //90T, ADC power on
  147.    
  148.     AUXR = 0x80;    //Timer0 set as 1T, 16 bits timer auto-reload,
  149.     TH0 = (u8)(Timer0_Reload / 256);
  150.     TL0 = (u8)(Timer0_Reload % 256);
  151.     ET0 = 1;    //Timer0 interrupt enable
  152.     TR0 = 1;    //Tiner0 run
  153.     EA = 1;     //打開總中斷
  154.    
  155.     for(i=0; i<8; i++)  LED8[i] = 0x10; //上電消隱

  156.     hour   = 12;    //初始化時間值
  157.     minute = 0;
  158.     second = 0;
  159.     DisplayRTC();

  160.     ADC_KeyState  = 0;
  161.     ADC_KeyState1 = 0;
  162.     ADC_KeyState2 = 0;
  163.     ADC_KeyState3 = 0;  //鍵狀態
  164.     ADC_KeyHoldCnt = 0; //鍵按下計時
  165.     KeyCode = 0;    //給用戶使用的鍵碼, 1~16有效
  166.     cnt10ms = 0;

  167.     while(1)
  168.     {
  169.         if(B_1ms)   //1ms到
  170.         {
  171.             B_1ms = 0;
  172.             if(++msecond >= 1000)   //1秒到
  173.             {
  174.                 msecond = 0;
  175.                 RTC();
  176.                 DisplayRTC();
  177.             }
  178.             if(msecond == 500)  DisplayRTC();   //小時后的小數點做秒閃

  179.             if(++cnt10ms >= 10) //10ms讀一次ADC
  180.             {
  181.                 cnt10ms = 0;
  182.                 j = Get_ADC10bitResult(4);  //參數0~7,查詢方式做一次ADC, 返回值就是結果, == 1024 為錯誤
  183.                 if(j < 1024)    CalculateAdcKey(j); //計算按鍵
  184.                         
  185.             }

  186.             if(KeyCode > 0)     //有鍵按下
  187.             {
  188.                 LED8[6] = KeyCode / 10; //顯示鍵碼
  189.                 LED8[7] = KeyCode % 10; //顯示鍵碼

  190.                 if(KeyCode == 1)    //hour +1
  191.                 {
  192.                     if(++hour >= 24)    hour = 0;
  193.                     DisplayRTC();
  194.                 }
  195.                 if(KeyCode == 2)    //hour -1
  196.                 {
  197.                     if(--hour >= 24)    hour = 23;
  198.                     DisplayRTC();
  199.                 }
  200.                 if(KeyCode == 3)    //minute +1
  201.                 {
  202.                     second = 0;
  203.                     if(++minute >= 60)  minute = 0;
  204.                     DisplayRTC();
  205.                 }
  206.                 if(KeyCode == 4)    //minute -1
  207.                 {
  208.                     second = 0;
  209.                     if(--minute >= 60)  minute = 59;
  210.                     DisplayRTC();
  211.                 }

  212.                 KeyCode = 0;
  213.             }

  214.         }
  215.     }
  216. }
  217. /**********************************************/



  218. /********************** 顯示時鐘函數 ************************/
  219. void    DisplayRTC(void)
  220. {
  221.     if(hour >= 10)  LED8[0] = hour / 10;
  222.     else            LED8[0] = DIS_BLACK;
  223.     LED8[1] = hour % 10;
  224.     LED8[2] = minute / 10;
  225.     LED8[3] = minute % 10;
  226.     if(msecond >= 500)      LED8[1] |= DIS_DOT; //小時后的小數點做秒閃
  227. }

  228. /********************** RTC演示函數 ************************/
  229. void    RTC(void)
  230. {
  231.     if(++second >= 60)
  232.     {
  233.         second = 0;
  234.         if(++minute >= 60)
  235.         {
  236.             minute = 0;
  237.             if(++hour >= 24)    hour = 0;
  238.         }
  239.     }
  240. }


  241. //========================================================================
  242. // 函數: u16    Get_ADC10bitResult(u8 channel)
  243. // 描述: 查詢法讀一次ADC結果.
  244. // 參數: channel: 選擇要轉換的ADC.
  245. // 返回: 10位ADC結果.
  246. // 版本: V1.0, 2012-10-22
  247. //========================================================================
  248. u16 Get_ADC10bitResult(u8 channel)  //channel = 0~7
  249. {
  250.     ADC_RES = 0;
  251.     ADC_RESL = 0;

  252.     ADC_CONTR = (ADC_CONTR & 0xe0) | 0x08 | channel;    //start the ADC
  253.     _nop_();
  254.     _nop_();
  255.     _nop_();
  256.     _nop_();

  257.     while((ADC_CONTR & 0x10) == 0)  ;   //wait for ADC finish
  258.     ADC_CONTR &= ~0x10;     //清除ADC結束標志
  259.     return  (((u16)ADC_RES << 2) | (ADC_RESL & 3));
  260. }

  261. /***************** ADC鍵盤計算鍵碼 *****************************
  262. 電路和軟件算法設計: Coody
  263. 本ADC鍵盤方案在很多實際產品設計中, 驗證了其穩定可靠, 即使按鍵使用導電膜,都很可靠.
  264. 16個鍵,理論上各個鍵對應的ADC值為 (1024 / 16) * k = 64 * k, k = 1 ~ 16, 特別的, k=16時,對應的ADC值是1023.
  265. 但是實際會有偏差,則判斷時限制這個偏差, ADC_OFFSET為+-偏差, 則ADC值在 (64*k-ADC_OFFSET) 與 (64*k+ADC_OFFSET)之間為鍵有效.
  266. 間隔一定的時間,就采樣一次ADC,比如10ms.
  267. 為了避免偶然的ADC值誤判, 或者避免ADC在上升或下降時誤判, 使用連續3次ADC值均在偏差范圍內時, ADC值才認為有效.
  268. 以上算法, 能保證讀鍵非?煽.
  269. **********************************************/
  270. #define ADC_OFFSET  16
  271. void    CalculateAdcKey(u16 adc)
  272. {
  273.     u8  i;
  274.     u16 j;
  275.    
  276.     if(adc < (64-ADC_OFFSET))
  277.     {
  278.         ADC_KeyState = 0;   //鍵狀態歸0
  279.         ADC_KeyHoldCnt = 0;
  280.     }
  281.     j = 64;
  282.     for(i=1; i<=16; i++)
  283.     {
  284.         if((adc >= (j - ADC_OFFSET)) && (adc <= (j + ADC_OFFSET)))  break;  //判斷是否在偏差范圍內
  285.         j += 64;
  286.     }
  287.     ADC_KeyState3 = ADC_KeyState2;
  288.     ADC_KeyState2 = ADC_KeyState1;
  289.     if(i > 16)  ADC_KeyState1 = 0;  //鍵無效
  290.     else                        //鍵有效
  291.     {
  292.         ADC_KeyState1 = i;
  293.         if((ADC_KeyState3 == ADC_KeyState2) && (ADC_KeyState2 == ADC_KeyState1) &&
  294.            (ADC_KeyState3 > 0) && (ADC_KeyState2 > 0) && (ADC_KeyState1 > 0))
  295.         {
  296.             if(ADC_KeyState == 0)   //第一次檢測到
  297.             {
  298.                 KeyCode  = i;   //保存鍵碼
  299.                 ADC_KeyState = i;   //保存鍵狀態
  300.                 ADC_KeyHoldCnt = 0;
  301.             }
  302.             if(ADC_KeyState == i)   //連續檢測到同一鍵按著
  303.             {
  304.                 if(++ADC_KeyHoldCnt >= 100) //按下1秒后,以10次每秒的速度Repeat Key
  305.                 {
  306. ……………………

  307. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
ADC鍵盤.zip (3.92 KB, 下載次數: 220)



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

使用道具 舉報

沙發
ID:140183 發表于 2017-6-29 05:40 | 只看該作者
很好的資料.多謝分享!
回復

使用道具 舉報

板凳
ID:274730 發表于 2018-1-11 11:33 | 只看該作者
謝謝分享謝謝分享,,,,,,,,,,,,,
回復

使用道具 舉報

地板
ID:117047 發表于 2018-3-12 12:18 | 只看該作者
感謝分享。!
回復

使用道具 舉報

5#
ID:66287 發表于 2018-3-14 10:14 | 只看該作者
程序設計合理,編制簡潔,謝謝分享!
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
7#
ID:339788 發表于 2018-6-25 00:21 | 只看該作者
謝謝樓主
回復

使用道具 舉報

8#
ID:374681 發表于 2018-7-19 11:19 | 只看該作者

謝謝樓主
回復

使用道具 舉報

9#
ID:446645 發表于 2019-2-27 15:55 | 只看該作者
很好的資料.多謝分享!
回復

使用道具 舉報

10#
ID:151689 發表于 2019-5-12 13:58 | 只看該作者
老大可以下載嗎?
回復

使用道具 舉報

11#
ID:525189 發表于 2019-8-23 09:56 | 只看該作者
不錯的資料,謝謝分享!
回復

使用道具 舉報

12#
ID:602985 發表于 2019-8-23 10:26 | 只看該作者
謝謝分享!
回復

使用道具 舉報

13#
ID:151348 發表于 2020-4-2 10:24 | 只看該作者
可用,已經成功移植
回復

使用道具 舉報

14#
ID:292359 發表于 2020-6-10 17:08 | 只看該作者
感謝分享,正在搞ADC多鍵去switch不同的功能區,代替原來的獨立鍵盤,還沒搞定T0去掃
回復

使用道具 舉報

15#
ID:775405 發表于 2020-6-10 19:35 | 只看該作者
這資料不錯啊,謝謝分享
回復

使用道具 舉報

16#
ID:716797 發表于 2020-6-16 12:40 | 只看該作者
謝謝樓主無私分享、
回復

使用道具 舉報

17#
ID:774633 發表于 2020-6-17 08:38 | 只看該作者
利用一個ADC口,就實現多按鍵掃描,唯獨不能識別同時按。不過很好了。謝謝分享
回復

使用道具 舉報

18#
ID:65956 發表于 2020-6-17 08:50 | 只看該作者
感謝分享思路,但我個人建議大家在作時,那些電阻可配大點,這樣每個按鍵值之間的差別會大點,方便程序對按鍵值的判斷范圍寬點,減少誤判
回復

使用道具 舉報

19#
無效樓層,該帖已經被刪除
20#
無效樓層,該帖已經被刪除
21#
ID:1128898 發表于 2025-7-16 03:32 | 只看該作者
感謝分享。!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
美女久久99| 精品国产三级a∨在线| 99高清视频有精品视频| 国产精品日韩一区二区| 亚洲二区三区四区| 男女午夜激情视频| 欧洲熟妇的性久久久久久| 国产在线观看免费视频软件| 超碰中文字幕在线| 亚洲精品一区二区三区四区| 国产精品视频流白浆免费视频 | 欧美大片免费播放| 中文字幕第88页| 91精品国自产在线| 国产精品露脸视频| 免费国产阿v视频在线观看| 啊啊啊啊啊好爽| 在线播放日本| 国产精品麻豆| 欧美日韩a区| 成人av电影在线网| 欧美日韩另类在线| 亚洲精品在线看| 国产成人精品一区二区在线| 日韩精品资源| 五月天中文字幕在线| 天天鲁一鲁摸一摸爽一爽| 国产麻豆免费视频| 桃花视频大全不卡免费观看网站| 九九爱免费视频在线观看| 国产福利片在线| 国产精品99| 先锋资源久久| www.日韩精品| 欧美视频一区二区在线观看| 日韩在线观看av| 国产精品污www一区二区三区| 成人免费视频91| 一区二区三区伦理片| 夜夜躁日日躁狠狠久久av| 国产剧情在线一区| 在线观看h视频| 四虎国产精品永久在线国在线| 欧美影院一区| 亚洲国产高清在线观看视频| 日韩精品一区二区三区视频在线观看| 午夜精品福利在线观看| 天堂√在线观看一区二区| 欧美性受xxxx黒人xyx性爽| 日本少妇做爰全过程毛片| 麻豆国产传媒av福利| 国产精品久久久久久久龚玥菲 | 欧美日韩一卡二卡| 欧美激情综合色| 亚洲电影网站| 亚洲成人黄色av| 日韩在线观看视频一区二区三区| 国产字幕中文| 高清一区二区三区av| 麻豆精品久久精品色综合| 性做久久久久久久免费看| 中文字幕精品一区久久久久| 久久精品美女| 亚洲成av人片在线观看无| 国产乱码久久久| 捆绑紧缚一区二区三区在线观看| 国产美女久久| 日本怡春院一区二区| 日韩欧美亚洲成人| 热99精品里视频精品| 国产欧美日韩网站| 国产精品第108页| 黄色电影免费在线观看| 男人皇宫亚洲男人2020| 久久精品人人| 欧洲色大大久久| 国产精品成人品| 久久国产色av| 久久综合中文色婷婷| 日韩av手机在线播放| 狠狠躁夜夜躁av无码中文幕| 色视频在线观看免费| 国内精品偷拍| 久久综合丝袜日本网| 日韩成人av在线| 欧美影视一区二区| 婷婷丁香综合网| 国产小视频在线高清播放| 日韩激情av| 亚洲经典自拍| 色狠狠一区二区| 国产综合香蕉五月婷在线| 日韩 国产 一区| 亚洲欧美强伦一区二区| 69久久精品| 国内精品久久久久久久影视麻豆| 亚洲午夜电影在线| 国产成人+综合亚洲+天堂| 国产区二区三区| 国产人妖在线播放| av网站无病毒在线| 婷婷综合电影| 伊人夜夜躁av伊人久久| 热久久美女精品天天吊色| 日本人69视频| 视频一区二区免费| 成人免费高清观看| 米奇777在线欧美播放| 91精品国产福利| 久久精品二区| 老熟妇高潮一区二区三区| 成年人免费在线视频网站| 狂野欧美xxxx韩国少妇| 久久蜜桃香蕉精品一区二区三区| 久久综合电影一区| 91蝌蚪视频在线观看| 黄色片一区二区三区| 色帝国亚洲欧美在线| 日韩福利电影在线| 亚洲国语精品自产拍在线观看| 亚洲欧美99| 久久亚洲精品石原莉奈| 国产精品一区二区三区四区色 | 国产91精品青草社区| 中文av字幕在线观看| 男女爱爱视频免费| 亚洲电影有码| 久久久久久久久久久久久夜| 欧美激情精品久久久久久蜜臀| 少妇一级淫免费播放| 日本电影中文字幕| 成人福利一区二区| 久久久久久久久久美女| 97超视频免费观看| 尤物网站在线观看| 美女免费视频网站| 最新亚洲精品| 在线视频欧美区| 日韩理论片在线观看| 午夜一级黄色片| 91精品国产91久久久久久青草| 精品国产第一福利网站| 国产一区二区免费在线| 日韩中文字幕在线视频播放| 欧美三级理论片| 麻豆国产视频| 亚洲影院天堂中文av色| 91激情在线视频| 亚洲一区在线免费| 亚洲第一大网站| 国产美女久久| 一区二区三区日韩在线观看| 粉嫩高清一区二区三区精品视频| 豆国产97在线 | 亚洲| gogogo高清在线观看免费完整版| 日本成人在线视频网站| 精品国偷自产在线视频| 国产精九九网站漫画| jizz日本大全| 欧美视频官网| 亚洲欧洲国产一区| 一级黄色高清视频| www污网站在线观看| 91九色精品| 亚洲国产欧美久久| 欧美大尺度做爰床戏| 写真福利片hd在线播放| 国产一区二区三区四区| 欧美日韩aaaaaa| 欧美亚洲色图视频| 久久久久88色偷偷| 猛男gaygay欧美视频| 欧美精品粉嫩高潮一区二区| 国产美女作爱全过程免费视频| 亚洲日本国产精品| 国内精品国产成人国产三级粉色| 懂色aⅴ精品一区二区三区蜜月| 日本高清一区| 天堂在线资源库| 国产精品流白浆在线观看| 欧美天堂一区二区三区| www.av毛片| 天堂在线免费观看| 欧美私人啪啪vps| 日韩中文字幕视频| 免费a级黄色片| 国产一二在线观看| 97精品电影院| 国产精品一国产精品最新章节| 中文字幕在线观看高清| 国产精品原创视频| 欧美性色黄大片| 一区二区在线播放视频| 天天操人人爽| 麻豆精品一区二区| 欧美日韩另类一区| 国产二区视频在线播放| 免费黄色的网站| 亚洲精品日本| 97在线观看视频国产| 欧美成人综合色| 老司机深夜福利在线观看| 亚洲激情一二三区| 久久视频免费在线| 99久久精品一区二区三区| 99精品免费| 91精品国产一区| 日韩欧美视频在线免费观看| av有声小说一区二区三区| 色综合夜色一区| 国产一区视频免费观看| 91在线精品| 国产精品系列在线观看| 国产厕所精品在线观看| 老司机午夜福利视频| av亚洲在线观看| 日韩综合视频在线观看| 丁香花五月激情| 欧美xoxoxo| 欧美日韩性生活| 亚洲精品在线视频播放| 日本福利片在线| 国产精品国产自产拍高清av王其| 黄色一级片网址| xfplay先锋影音夜色资源站 | 91精品综合久久久久久| 四川一级毛毛片| 在线国产网址| 欧美高清在线一区| 日本免费成人网| 国产视频xxx| 久久激情网站| 91麻豆国产语对白在线观看| 亚洲av永久无码国产精品久久 | 国内精品久久久久影院 日本资源| 黄色片视频网站| jizz性欧美23| 色悠悠久久久久| 亚洲国产精品午夜在线观看| av在线成人| 精品呦交小u女在线| 三级黄色在线观看| 欧美成人aaa| 国产视频精品xxxx| 欧美日韩精品亚洲精品| 国产视频网站一区二区三区| 亚洲乱码av中文一区二区| 顶臀精品视频www| www.成人| 伊人久久综合97精品| 日韩欧美三级电影| eeuss影院www在线观看手机| 东方欧美亚洲色图在线| 伊人婷婷久久| 初尝黑人巨炮波多野结衣电影| 久久丝袜美腿综合| 日韩极品视频在线观看| 成人亚洲一区二区三区| 日本一区二区三区免费乱视频| 国内精品视频一区二区三区| 污污网站在线| 午夜精品影院在线观看| 女同性αv亚洲女同志| 波多一区二区| 欧美成人免费网站| 精品99久久久久成人网站免费| 一区二区三区四区精品视频 | 久久婷婷综合国产| 白嫩白嫩国产精品| 欧美激情国产日韩精品一区18| 国产精品人妻一区二区三区| 韩日成人在线| 久久精品一二三区| 2020中文字幕在线| 亚洲精品免费在线| 小毛片在线观看| 亚洲精品大片| 久久久久日韩精品久久久男男| 亚洲精品97久久中文字幕无码| 亚洲欧美日韩综合国产aⅴ| 青青草久久网络| 色视频www在线播放| 欧美色图在线视频| 亚洲毛片亚洲毛片亚洲毛片| 凹凸av导航大全精品| 日韩av免费在线| 国产美女被草| 欧美高清在线精品一区| 国产精品嫩草影视| 日韩一级视频| 91精品国产91久久| 免费国产高清| 国产精品乱人伦中文| 亚洲一二三四五| 精品99re| 日韩美女激情视频| 免费视频91| 亚洲欧美在线高清| 国产精品无码永久免费不卡| 中文无码日韩欧| 国产精品美女主播| 黄视频在线观看www| 亚洲欧美日韩国产综合在线| 最近中文字幕无免费| 亚洲免费一区| 国产va免费精品高清在线观看| 国产娇喘精品一区二区三区图片 | 丁香天五香天堂综合| 亚洲免费高清视频| av网站免费大全| 亚洲综合国产激情另类一区| 亚洲人久久久| 最近97中文超碰在线| 欧美日韩免费观看中文| 欧美一区二区三区爽爽爽| 视频小说一区二区| 大波视频国产精品久久| 2019天天操夜夜操| 一区二区三区视频在线观看| 97人妻天天摸天天爽天天| 高清久久精品| 69久久夜色精品国产7777 | 亚洲 精品 综合 精品 自拍| 青青草原综合久久大伊人精品优势| 男人天堂新网址| 欧美人xxx| 一区二区三区精品99久久 | 成人在线免费观看视频| 国产高清精品一区二区三区| 丝袜制服影音先锋| 亚瑟在线精品视频| 日韩三级小视频| 亚洲人成人一区二区三区| 天堂√在线观看一区二区| 国产三级视频在线| 精品国产乱码久久久久久图片| 国产人妖一区二区三区| 国产一区二区三区免费| 影音先锋欧美资源| 成人三级小说| 久久国产精品网站| 91蝌蚪视频九色| 一区二区三区四区高清精品免费观看| 污网站免费观看| 欧美国产一区二区三区激情无套| 久久精品成人一区二区三区蜜臀 | 精品一区二区三区中文字幕老牛| 成人资源视频网站免费| 天堂av免费观看| 日韩精品一区二区三区四区视频| 91视频在线视频| 国产一区二区福利| 小明看看成人免费视频| japanese23hdxxxx日韩| 国产精品美女午夜av| 蜜桃特黄a∨片免费观看| 欧美精品tushy高清| 中文字幕无线码一区| 国精品**一区二区三区在线蜜桃 | 污污网址在线观看| 欧美日韩情趣电影| 国产精品久久久久久久一区二区| 黄一区二区三区| 美女又爽又黄免费| 菠萝蜜一区二区| 日韩免费av电影| gay欧美网站| 国产a∨精品一区二区三区不卡| 1024在线视频| 欧美精品一区二区三区很污很色的 | 999免费视频| 国产精品人妖ts系列视频| 91网站免费视频| 婷婷激情综合| 欧美一级黄色片视频| 精品久久国产一区| 日产精品一线二线三线芒果| caopon在线免费视频| 久久久99久久精品女同性| 福利视频1000| 67194成人在线观看| 亚洲色婷婷综合开心网| 欧美色爱综合| 免费在线观看一区二区| 麻豆影院在线| 欧美黄色免费网站| 宅男午夜在线| 亚洲欧美激情视频| 黄色网页大全| 日韩视频在线一区二区| 99久久婷婷国产一区二区三区| 日韩理论片网站| 日本少妇xxxx动漫| 国产亚洲欧美一区在线观看| 精品手机在线视频| 国产精品99久久久久久似苏梦涵 | 性插视频在线观看| 精品福利一区二区| 国产91免费看| 亚洲综合成人在线|