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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)電子琴設(shè)計(可顯示光敏、溫度、日期)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:610753 發(fā)表于 2019-11-26 21:43 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機(jī)電子琴設(shè)計(可顯示光敏、溫度、日期)

作者:林宏偉   學(xué)校:shaoguandada   時間:2019/11/26

首先,看圖:下面這張圖是基于51單片機(jī)設(shè)計的基礎(chǔ)要求,一共是10個小課題,難度的話,初步認(rèn)為是半顆星,說難不算難,說簡單確實很簡單,這對于那些有基礎(chǔ)的同學(xué)而言輕松,基本幾個小時就搞定了。


編號
項目名稱
要求
學(xué)號
1
基于DS1302的電子萬年歷設(shè)計
1、電子萬年歷功能;2、可設(shè)置三組以上的鬧鐘;3、溫度檢測功能;4、倒計時功能
學(xué)號尾數(shù)為1
2
簡易數(shù)字電壓表
1、可檢測顯示05V的直流電壓;2、可檢測環(huán)境光照功能,將系統(tǒng)工作環(huán)境的光線分為強(qiáng)、中、弱三個等級并在液晶上顯示。
學(xué)號尾數(shù)為2
3
數(shù)控電壓源設(shè)計
1、可輸出05V的直流電壓。直流電壓的大小用鍵盤設(shè)置確定,精度為0.1V2、可輸出正弦波、方波和三角波。波形的頻率不限,但是幅度可在1~5V之間用鍵盤設(shè)置, 精度為0.1V
學(xué)號尾數(shù)為3
4
環(huán)境溫度、光照檢測報警系統(tǒng)設(shè)計
1、檢測顯示當(dāng)前的環(huán)境溫度和光線強(qiáng)度。2、鍵盤設(shè)置溫度和光強(qiáng)的上限與下限值,如果溫度與光強(qiáng)超出界限值,則蜂鳴器發(fā)出警報。同時液晶顯示警報的類型。
學(xué)號尾數(shù)為4
5
多功能電子琴設(shè)計
1、高、中、低音調(diào)選擇功能;2、手動演奏功能;3、至少能自動演奏一首歌曲;4、完美的中文操作界面。
學(xué)號尾數(shù)為5
6
多功能電子計算器設(shè)計
1、基本的加減乘除運(yùn)算功能;2、乘方、開方運(yùn)算;3、三角函數(shù)運(yùn)算;4十進(jìn)制、二進(jìn)制、十六進(jìn)制轉(zhuǎn)換功能。
學(xué)號尾數(shù)為6
7
基于單片機(jī)的數(shù)字鐘設(shè)計
file:///C:\Users\LITTLE~1\AppData\Local\Temp\ksohtml84440\wps1.jpg1、時分秒顯示;2、時分秒可以現(xiàn)場鍵盤設(shè)置;3、斷電后下一次通電時,時鐘能在原來的基礎(chǔ)上繼續(xù)運(yùn)行;4、溫度檢測顯示;5、秒表功能
學(xué)號尾數(shù)為7
8
基于LCD圖像顯示的數(shù)字鐘設(shè)計
1、 利用LCD圖型模式,編程實現(xiàn)時鐘功能。顯示模式參考圖如右圖所示。
2、鍵盤實時調(diào)整時鐘數(shù)據(jù)
學(xué)號尾數(shù)為8
9
英文記事本設(shè)計
1、開機(jī)密碼設(shè)置功能。系統(tǒng)通電后,要輸入6位的密碼才能進(jìn)入系統(tǒng)。3、進(jìn)入系統(tǒng)后,可以輸入英文文章。即系統(tǒng)按鍵具有數(shù)字、標(biāo)點符號、大小寫字母、空格,回車等字符輸入功能。4、附加功能。進(jìn)入系統(tǒng)后,密碼可以用按鍵更改;輸入的文章,液晶界面顯示滿之后,能夠分頁切換,并且具有保存、清楚功能。
學(xué)號尾數(shù)為9
0
PWM信號發(fā)生器設(shè)計
1、利用單片機(jī)控制DA轉(zhuǎn)換器,變出控制輸出兩路相位相反的PWM信號;2PWM信號的幅度可在0.1V~5V之間用鍵盤按照0.1V的分辨率任意設(shè)定;3PWM的展空比,可在1%~99%之間,按照1%的精度,用鍵盤設(shè)定控制;4PWM的頻率,可在10100Hz之間,按照1Hz的分辨率,任意設(shè)定。
學(xué)號尾數(shù)為0


1.首先,講一下思路,這些基礎(chǔ)要求其實用一塊板就可以實現(xiàn)全部,因為是設(shè)計,設(shè)計要求電路板是自己焊接,不能買現(xiàn)成的,這對很多小可愛來說是一件十分痛苦的事情,下面是我自己的電路圖,遵循簡單化原則,盡量把電路精簡


(1)原理圖



(2)PCB圖




(3)實物圖

(1)LCD12864模塊 :這個模塊的通信方式有兩種,一種是并行,一種是串行,并行雖然網(wǎng)上歷程很多,但是焊接電路時候卻很多線,于是我對這個模塊的硬件圖進(jìn)行了修改,把并行改成串行,修改硬件圖,這樣就不用模塊的引腳,下面是這個模塊的部分說明:   我采用短接J2,這樣PSB這個引腳就可以丟掉了,我再短接了背光電源和供電電源,這樣就并行,總體這個模塊就只需要用三條線,供電2條,數(shù)據(jù)線3條。無需多余的線路了,十分精簡。

特色:(1)模組背部自帶 10K 3*3 硬封可調(diào)電位器,可以調(diào)到
理想對比度
(2)LED 背光極性可調(diào),JP4 為液晶背光正負(fù)反接處,此模組
背光為 4 顆 LED 燈,非普通背光
(3)模組自帶原裝三星正品防靜電電容,抗干擾性更強(qiáng) C6 C7
C8
(4)串并口可通過兩種方式調(diào)節(jié) 1 PSB 腳控制 2 JP2 短路到+
為并口 短路到-為串口
(5)自改 3.3V 可通過 JP3 調(diào)節(jié),默認(rèn)接+級為 5V,接-為 3.3V,
C4 C5 加極性電容即可 型號
為 106A 14FH4,背光電阻 33 歐改成 3.3 歐


(4)LCD12864硬件修改和電路板布局

(2)DS18B20模塊,這個模塊是溫度傳感器,這個不需要修改什么,直接使用就行了

(3)DS1302模塊    同上,注意副電源是否需要

(4)其他模塊,不多解釋了,模塊只需要看網(wǎng)上使用手冊就行了

2.如何實現(xiàn)上面的功能?

這塊板可以實現(xiàn)的功能有:顯示溫度、光敏值、時間、獨立按鍵可用、矩陣按鍵可用。

(1)矩陣按鍵驅(qū)動程序:這個采用最最基礎(chǔ)的掃描程序,還有狀態(tài)機(jī)、翻轉(zhuǎn)兩種,比較高階,如果是新手就建議不要采用(怕看不懂)

  1. void Keyscan(void)
  2. {
  3.         unsigned char temp;
  4.         P2=0xfe;                                        //第一行置低
  5.         temp=P2;                                           //將P2口的值賦給temp
  6.         temp=temp&0xf0;                                //將temp跟1111 0000 按位與
  7.         if(temp!=0xf0)
  8.         {
  9.                 delay1ms(10);
  10.                 temp=P2;
  11.                 temp=temp&0xf0;
  12.                 if(temp!=0xf0)
  13.                 {
  14.                         temp=P2;
  15.                         switch(temp)
  16.                         {
  17.                                 case 0xee:
  18.                                 key=0;
  19.                                 break;

  20.                                 case 0xde:
  21.                                 key=1;
  22.                                 break;

  23.                                 case 0xbe:
  24.                                 key=2;
  25.                                 break;

  26.                                 case 0x7e:
  27.                                 key=3;
  28.                                 break;
  29.                         }
  30.                         while(temp!=0xf0)
  31.                         {
  32.                                 temp=P2;
  33.                                 temp=temp&0xf0;
  34.                         }
  35.                 }
  36.         }

  37.         P2=0xfd;                                        //第二行置低
  38.         temp=P2;                                           //將P2口的值賦給temp
  39.         temp=temp&0xf0;                                //將temp跟1111 0000 按位與
  40.         if(temp!=0xf0)
  41.         {
  42.                 delay1ms(10);
  43.                 temp=P2;
  44.                 temp=temp&0xf0;
  45.                 if(temp!=0xf0)
  46.                 {
  47.                         temp=P2;
  48.                         switch(temp)
  49.                         {
  50.                                 case 0xed:
  51.                                 key=4;
  52.                                 break;

  53.                                 case 0xdd:
  54.                                 key=5;
  55.                                 break;

  56.                                 case 0xbd:
  57.                                 key=6;
  58.                                 break;

  59.                                 case 0x7d:
  60.                                 key=7;
  61.                                 break;
  62.                         }
  63.                         while(temp!=0xf0)
  64.                         {
  65.                                 temp=P2;
  66.                                 temp=temp&0xf0;
  67.                         }
  68.                 }
  69.         }

  70.         P2=0xfb;                                        //第二行置低
  71.         temp=P2;                                           //將P2口的值賦給temp
  72.         temp=temp&0xf0;                                //將temp跟1111 0000 按位與
  73.         if(temp!=0xf0)
  74.         {
  75.                 delay1ms(10);
  76.                 temp=P2;
  77.                 temp=temp&0xf0;
  78.                 if(temp!=0xf0)
  79.                 {
  80.                         temp=P2;
  81.                         switch(temp)
  82.                         {
  83.                                 case 0xeb:
  84.                                 key=8;
  85.                                 break;

  86.                                 case 0xdb:
  87.                                 key=9;
  88.                                 break;

  89.                                 case 0xbb:
  90.                                 key=10;
  91.                                 break;

  92.                                 case 0x7b:
  93.                                 key=11;
  94.                                 break;
  95.                         }
  96.                         while(temp!=0xf0)
  97.                         {
  98.                                 temp=P2;
  99.                                 temp=temp&0xf0;
  100.                         }
  101.                 }
  102.         }

  103.         P2=0xf7;                                        //第二行置低
  104.         temp=P2;                                           //將P2口的值賦給temp
  105.         temp=temp&0xf0;                                //將temp跟1111 0000 按位與
  106.         if(temp!=0xf0)
  107.         {
  108.                 delay1ms(10);
  109.                 temp=P2;
  110.                 temp=temp&0xf0;
  111.                 if(temp!=0xf0)
  112.                 {
  113.                         temp=P2;
  114.                         switch(temp)
  115.                         {
  116.                                 case 0xe7:
  117.                                 key=12;
  118.                                 break;

  119.                                 case 0xd7:
  120.                                 key=13;
  121.                                 break;

  122.                                 case 0xb7:
  123.                                 key=14;
  124.                                 break;

  125.                                 case 0x77:
  126.                                 key=15;
  127.                                 break;
  128.                         }
  129.                         while(temp!=0xf0)
  130.                         {
  131.                                 temp=P2;
  132.                                 temp=temp&0xf0;
  133.                         }
  134.                 }
  135.         }
  136. }
復(fù)制代碼
(2)DS18B20驅(qū)動程序

  1. #include "DS18B20.h"

  2.         
  3. uchar dis1[16];



  4. /*---------------以下為18B20相關(guān)函數(shù)-----------------------------*/
  5. /******************************************************************
  6. 函數(shù)名稱:void delay (uint x)
  7. 功能說明:若機(jī)器周期為1us,則本延時程序為延時 4*x(us)
  8. ******************************************************************/
  9. void delay (uint x) //本板延時8us
  10. {
  11.      while (--x);
  12. }

  13. /*****************************************************************
  14. 函數(shù)名稱:uchar bus_rest(void)
  15. 功能說明:產(chǎn)生單總線系統(tǒng)信號的總線復(fù)位信號,并返回
  16. 總線上是否存在單總線器件信息
  17. ******************************************************************/
  18. uchar bus_rest(void)
  19. {
  20.      uchar presence;
  21.      DQ=0; //將DQ信號線拉低
  22.      delay(29); //持續(xù)48US
  23.      DQ=1; //釋放總線
  24.      delay(3); //等待從設(shè)備將總線拉低
  25.      presence=DQ; //保存當(dāng)前總線狀態(tài)
  26.      delay(25); //等待總線初始化過程結(jié)束
  27.      return presence;//返回是否有從設(shè)備將總線拉低

  28. }

  29. /****************************************************************
  30. 函數(shù)名稱:uchar r_1820BYTE(void)
  31. 功能說明:向單總線讀取一個數(shù)據(jù)字節(jié)
  32. *****************************************************************/
  33. uchar r_1820BYTE(void)
  34. {
  35.       uchar i=0;
  36.       uchar date = 0;
  37.       for (i=8;i>0;i--)
  38.       {
  39.           DQ = 0; // 將DQ信號線拉低啟動讀時隙
  40.           DQ=1;// 釋放總線,等待從機(jī)動車輛返回數(shù)據(jù)位
  41.           delay(1); //越接近15us越好; 準(zhǔn)備采樣總線上的信號
  42.           date>>=1 ;
  43.           if (DQ)
  44.                date=date|0x80;
  45.           delay(6);
  46.        }
  47.        return(date);
  48. }

  49. /*****************************************************************
  50. 函數(shù)名稱:void w_1280Byte(uchar bytevalue)
  51. 功能說明:向單總線寫一個數(shù)據(jù)字節(jié)
  52. ******************************************************************/
  53. void w_1280Byte(uchar bytevalue)
  54. {
  55.      uchar i;
  56.      for(i=0;i<8;i++)
  57.      {
  58.          DQ=0; // 將DQ信號線拉低啟動讀時隙
  59.          DQ=bytevalue&0x01; //
  60.          delay(5);//等待寫時隙結(jié)束
  61.          DQ=1; //釋放
  62.          bytevalue>>=1;
  63.      }
  64.      delay(5); ////等待寫時隙結(jié)束
  65. }
  66. /*****************************************************************
  67. 函數(shù)名稱:uint read_T(void)
  68. 功能說明:讀取1820溫度
  69. *******************************************************************/
  70. uint read_T(void)
  71. {
  72.      uchar a=0;
  73.      uchar b=0;
  74.      uint t=0;
  75.      bus_rest();
  76.      w_1280Byte(0xCC); // 跳過讀序號列號的操作 ;
  77.      w_1280Byte(0x44); // 啟動溫度轉(zhuǎn)換,模數(shù)轉(zhuǎn)化;
  78.      bus_rest();
  79.      w_1280Byte(0xCC); //跳過讀序號列號的操作 ;
  80.      w_1280Byte(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度 ;
  81.      a=r_1820BYTE();// 低8位
  82.      b=r_1820BYTE();// 高8位
  83.      t=(b*256)+a;
  84.      return(t);
  85. }
  86. /**************************************************************
  87. 函數(shù)名稱:void show_T(uint temp)
  88. 函數(shù)功能:顯示溫度
  89. **************************************************************/
  90. void show_T(uint temp)
  91. {
  92.      int i;
  93.      float ftemp;
  94.      ftemp = temp* 0.0625;
  95.      sprintf(dis1,"%f",ftemp);//把溫度值寫入數(shù)組內(nèi)存
  96.      w_12864(com,0x98+3);
  97.      for(i=0;i<5;i++)
  98.      w_12864(dat,dis1[i]); //寫入溫度
  99. }



復(fù)制代碼
(3)DS1302驅(qū)動程序:

  1. #include "DS1302.h"


  2. /*----------------------DS1302相關(guān)聲明-------------------------*/
  3. char TAB_1302[]={ 0x00,0x29,0x02, //秒:分:時.
  4.                   0x18,0x06,0x06,0x08}; //日:月:星期:年.
  5. uchar code TAB_XQ[]={"一二三四五六日"};//把DS1302數(shù)字日期轉(zhuǎn)換為中文字符.
  6. /*----------------以下為DS1302相關(guān)函數(shù)-------------------------*/
  7. /**************************************************************
  8. 函數(shù)名稱:void w_1302byte(uchar date)
  9. 函數(shù)功能:寫一個字節(jié)(上升沿)
  10. ***************************************************************/
  11. void w_1302byte(uchar date)
  12. {
  13.      uchar i;
  14.      datbyte=date;
  15.      for(i=0;i<8;i++)
  16.      {
  17.          T_IO=datbyte0; //寫最低位
  18.          T_CLK=0;
  19.          T_CLK=1;
  20.          datbyte>>=1;
  21.      }
  22. }
  23. /**************************************************************
  24. 函數(shù)名稱:uchar r_1302byte(void)
  25. 函數(shù)功能:讀一個字節(jié)(下降沿)
  26. ***************************************************************/
  27. uchar r_1302byte(void)
  28. {
  29.      uchar i;
  30.      datbyte=0;
  31.      for(i=0;i<8;i++)
  32.      {
  33.          datbyte7=T_IO; //讀最低位
  34.          T_CLK=1;
  35.          T_CLK=0;
  36.          datbyte>>=1;
  37.      }
  38.      return(datbyte);
  39. }
  40. /***************************************************************
  41. 函數(shù)名稱:void write_1302(uchar addr,uchar date)
  42. 函數(shù)功能: 指定位置寫數(shù)據(jù)
  43. ****************************************************************/
  44. void write_1302(uchar addr,uchar date)
  45. {
  46.      T_RST=0;
  47.      T_CLK=0;
  48.      T_RST=1;
  49.      w_1302byte(addr);
  50.      w_1302byte(date);
  51.      T_CLK=0;
  52.      T_RST=0;
  53. }
  54. /**************************************************************
  55. 函數(shù)名稱:uchar read_1302(uchar addr)
  56. 函數(shù)功能: 指定位置讀數(shù)據(jù)
  57. ****************************************************************/
  58. uchar read_1302(uchar addr)
  59. {
  60.       uchar dat1,dat2,temp;
  61.       T_RST=0;
  62.       T_CLK=0;
  63.       T_RST=1;
  64.       w_1302byte(addr);
  65.       temp=r_1302byte();
  66.       T_RST=0;
  67.       T_CLK=0;
  68.       dat1=temp/16;
  69.       dat2=temp%16;
  70.       temp=dat1*10+dat2;
  71.       return(temp);
  72. }
  73. /***************************************************************
  74. 函數(shù)名稱:void init_1302(void)
  75. 函數(shù)功能: 初始化
  76. *****************************************************************/
  77. void init_1302(void)
  78. {
  79.      uchar i;
  80.      uchar addr=0x80;
  81.      write_1302(0x8e,0x00);
  82.      for(i=0;i<7;i++)
  83.      {
  84.          write_1302(addr,TAB_1302[i]);
  85.          addr+=2;
  86.      }
  87.      write_1302(0x8e,0x80);
  88. }
  89. /****************************************************************
  90. 函數(shù)名稱:void get_1302(void)
  91. 功能說明:讀取DS1302時鐘信息.
  92. *****************************************************************/
  93. void get_1302(void)
  94. {
  95.      uchar i,addr=0x81;
  96.      for(i=0;i<7;i++)
  97.      {
  98.           TAB_1302[i]=read_1302(addr);
  99.           addr+=2;
  100.      }
  101. }
復(fù)制代碼
(4)其他驅(qū)動程序在附件下載



也就是說,上面驅(qū)動搞定,基本是完成50%的要求,是不是很簡單,剩下的就是自己的控制程序了,這個設(shè)計其實難點在驅(qū)動程序,只要搞定驅(qū)動程序,剩下的就是所謂的if啥的,好,下面看看我設(shè)計的電子琴,是在這個基礎(chǔ)上擴(kuò)展的,沒加什么,就是加了一些蜂鳴器的控制程序

3 電子琴的設(shè)計

其實,對于基于51單片機(jī)的電子琴在網(wǎng)上已經(jīng)是爛透的那種了,本人也參考了網(wǎng)上大神的程序,然后修改了一下下,實現(xiàn)了藍(lán)牙控制電子琴,電腦實現(xiàn)遠(yuǎn)程控制電子琴演奏。



(5)電子琴設(shè)計實物圖

藍(lán)牙控制和PC遠(yuǎn)程控制:選用的是HC05,通過修改串口的收發(fā)程序,實現(xiàn)了接收串口數(shù)據(jù)后進(jìn)行演奏,其實原理很簡單,下面是控制程序。利用兩個按鍵掃描程序,實現(xiàn)多功能的控制,多次收發(fā)的控制。基本功能就是按鍵選擇高低音,按鍵演奏,擴(kuò)展功能就是藍(lán)牙控制,電腦演奏

  1.         KeyScan1();                                                                        //電子琴功能按鍵
  2.                 Keyscan();                                                                         //行列式掃描比較慢,耐心長按
  3.                 switch(key)
  4.                 {
  5.                         case 0:  time = 1;break;
  6.                         case 1:  time = 2;break;
  7.                         case 2:  time = 3;break;
  8.                         case 3:  time = 4;break;
  9.                         case 4:  time = 5;break;
  10.                         case 5:  time = 6;break;
  11.                         case 6:  time = 7;break;
  12.                         case 7:  time = 8;break;        
  13.                         case 8:  time = 9;break;
  14.                         case 9:         time = 10;break;
  15.                         case 10: time = 11;break;
  16.                         case 11: time = 12;break;
  17.                         case 12: time = 13;break;        
  18.                         case 13: time = 14;break;        
  19.                         case 14: time = 15;break;                                       
  20.                         default: time = 0;                                         break;//無按鍵按下
  21.                         
  22.                 }
  23.                 if(time==0)                                                TR0=0,Beep=1;
  24.                 else                                                                        high=freq[7*Music_Freq+time-1][1],low= freq[7*Music_Freq+time-1][0],TR0=1;
  25.                 Q(Music_Freq,time);//顯示
復(fù)制代碼
4 其他選題的實現(xiàn)

如果對其他選題不懂,或者不會修改的可以看看網(wǎng)上的相關(guān)控制歷程,結(jié)合這里的驅(qū)動程序應(yīng)該是很簡單就可以完成的。

51hei圖片_20191126205342.jpg (241.32 KB, 下載次數(shù): 27)

51hei圖片_20191126205342.jpg

51單片機(jī)課程設(shè)計-電子琴(林宏偉).rar

103.8 KB, 下載次數(shù): 32, 下載積分: 黑幣 -5

林宏偉單片機(jī)原理圖.pdf

462.23 KB, 下載次數(shù): 13, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:284488 發(fā)表于 2019-11-27 09:02 | 只看該作者
贊!感謝樓主的分享
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 男人av网| 成人精品一区亚洲午夜久久久 | 日本三级电影在线看 | 久久免费精彩视频 | 91成人| 国产精品毛片一区二区在线看 | 欧美精品二区三区 | 亚洲大片一区 | 黑人性hd | 欧美一区二区三区视频在线观看 | 一级特黄色毛片 | 久久精品综合 | 国产精品精品3d动漫 | 日本人和亚洲人zjzjhd | www狠狠干| 一区二区在线看 | 久久丝袜视频 | 91麻豆精品国产91久久久久久 | av电影一区二区 | 日本不卡在线视频 | 午夜免费在线观看 | 久久久久久a | 久久精品久久久久久 | 亚洲精品亚洲人成人网 | ww亚洲ww亚在线观看 | 欧美成人一区二区三区 | 日韩国产精品一区二区三区 | 欧美在线a| 久草色视频 | 热re99久久精品国产99热 | 亚洲成人精品国产 | 在线欧美亚洲 | 欧美黄色一级毛片 | 亚洲最新在线视频 | 国产欧美精品一区二区三区 | 视频一区二区在线观看 | 99久久日韩精品免费热麻豆美女 | 亚洲 精品 综合 精品 自拍 | 日韩高清黄色 | 成人影院一区二区三区 | 亚洲电影第三页 |