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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8000|回復(fù): 1
收起左側(cè)

基于單片機(jī)的智能小車的設(shè)計(jì) 附程序

[復(fù)制鏈接]
ID:686142 發(fā)表于 2020-1-14 17:47 | 顯示全部樓層 |閱讀模式
基于單片機(jī)的智能小車的設(shè)計(jì),還包括小車源碼,功能齊全
硬件組成:電機(jī)模塊是智能小車的整個(gè)動(dòng)力系統(tǒng),智能上車上搭載了一顆L293D雙H橋路電機(jī)驅(qū)動(dòng)芯片及2個(gè)減速電機(jī),車輪為65mm防滑車輪。
工作原理:通過(guò)開(kāi)發(fā)板輸出控制信號(hào)給L293D,由L293D驅(qū)動(dòng)左右2個(gè)減速馬達(dá)正傳或反轉(zhuǎn)來(lái)實(shí)現(xiàn)小車的前后左右行駛動(dòng)作。
將我們準(zhǔn)備好的 6P 杜邦線接頭按照排線原有顏色順序整理成一排,一端接插至智能小車底板 J10 排針上,另一端根據(jù) J10 排針標(biāo)注的引腳絲印對(duì)應(yīng)順序接插至開(kāi)發(fā)板的 P12~P17排針。
51hei.png
3.4藍(lán)牙模塊設(shè)計(jì)
藍(lán)牙模塊主要為了實(shí)現(xiàn)數(shù)據(jù)傳輸,本設(shè)計(jì)是通過(guò)藍(lán)牙轉(zhuǎn)串口模塊,實(shí)現(xiàn)無(wú)線通訊功能,所以本質(zhì)上使用的是單片機(jī)串口通信。
藍(lán)牙模塊支持短距離無(wú)線傳輸,可以通過(guò)手機(jī)與藍(lán)牙模塊的配對(duì)實(shí)現(xiàn)對(duì)小車的無(wú)線控制。本小車采用的是BT-06藍(lán)牙芯片,在BT-06藍(lán)牙芯片,在BT-06芯片里已經(jīng)將藍(lán)牙協(xié)議封裝好,只需要通過(guò)串口通信實(shí)現(xiàn)上位機(jī)(手機(jī))與下位機(jī)(51單片機(jī))的無(wú)線通信。
串行通信的特點(diǎn)是:數(shù)據(jù)按比特順序傳輸,至少可以通過(guò)一條傳輸線即可完成,成本低,傳輸速度慢。串行通信的范圍可以從幾米到幾公里。根據(jù)信息傳輸?shù)姆较颍型ㄐ趴梢赃M(jìn)一步分為三中類型:?jiǎn)巍腚p工和全雙工。信息智能單向傳輸?shù)臑閱喂ぃ荒茈p向傳遞但不能同時(shí)雙向傳送的稱為半雙工;信息能夠同時(shí)雙向傳送則成為全雙工。串行通信可分為異步通信和同步通信。在單片機(jī)中,主要采用異步通信。
3.5PCB圖設(shè)計(jì)
在電路原理圖設(shè)計(jì)完成后,根據(jù)布線原理布置元件,布線,最后布置銅和撕裂。
焊接芯片的步驟:
1.將芯片平放在PCB板上,將芯片引腳對(duì)準(zhǔn)焊盤然后用手指按住;
2.將芯片的兩個(gè)對(duì)角焊牢;
3.在芯片的四周上適量焊錫;
4.將PCB板向著焊接引腳的方向下傾斜45度,用松香去掉烙鐵頭端多余的焊錫;
5.把粘有松香的焊鐵頭放在焊錫的部分;
6.來(lái)回拖動(dòng)烙鐵,將焊錫均勻的布在芯片的引腳上;
7.重復(fù)上述步驟焊接芯片的另外的引腳,如果發(fā)現(xiàn)引腳間有多余的焊錫就用吸錫絲將多余的焊錫吸掉。
3.6智能車結(jié)構(gòu)分析
在本次設(shè)計(jì)中,小車使用雙驅(qū)動(dòng),采用雙輪+定向輪式的結(jié)構(gòu),來(lái)驅(qū)動(dòng)小車做出相應(yīng)的指令,定向輪有效的防止了方向偏移的問(wèn)題,且雙驅(qū)動(dòng)兩輪驅(qū)動(dòng)式,動(dòng)力更大,爬坡能力更強(qiáng),整體性能優(yōu)勢(shì)明顯,同事底盤的設(shè)計(jì)比較合理能夠更大程度的發(fā)揮其空間,充分利用其空間結(jié)構(gòu)進(jìn)行不同模塊的添加。
3.6.1底板設(shè)計(jì)
底盤是用來(lái)支撐車體的主要部件。同時(shí)也是用來(lái)固定車子零部件的,底板上主要有電機(jī)定位安裝槽和走位孔,電池盒安裝槽位,定向輪安裝孔,電壓檢測(cè)模塊安裝槽,超聲波模塊安裝槽位以及開(kāi)發(fā)板安裝槽位等拓展槽位。安裝方便,結(jié)構(gòu)可靠穩(wěn)定。

3.6.2電機(jī)與底板的連接支架設(shè)計(jì)
電機(jī)主要通過(guò)將固定片固定在底板上的,每個(gè)電機(jī)用兩塊固定片綁定固定,通過(guò)槽孔和圓孔來(lái)綁定電機(jī),利用螺絲及螺母進(jìn)行固定安裝。
首先,我們把 1 片固定片從智能小車底板電機(jī)旁接口穿入,接著再拿 1 片固定片貼在直流電機(jī)安裝孔旁并穿入 2 只長(zhǎng)螺絲,注意固定片與電機(jī)的組裝方向。其次,我們把電機(jī)安裝到指定位置,最后,我們把 2 個(gè)螺母分別擰上即可。
3.6.3整體裝配圖

3.6.4整車材料明細(xì)
整車包括:51開(kāi)發(fā)板,智能小車底板,防滑車輪,藍(lán)牙模塊,減速電動(dòng)機(jī)等組成,本次采用的雙輪+定向輪驅(qū)動(dòng)模式,結(jié)構(gòu)復(fù)雜程度適中,并有效的避免了行進(jìn)當(dāng)中的方向偏向問(wèn)題。
注意事項(xiàng):5號(hào)鋰電池初次使用時(shí)請(qǐng)先進(jìn)行充電,注意電池極性切勿裝反,當(dāng)充電器綠燈亮起時(shí)表示電池電量已充滿。充電時(shí)必須有人值守,避免發(fā)生意外。
電池盒電源線與智能小車底板電源接口連接時(shí)請(qǐng)將其緩和接入 J1 端子頭,電源線的紅線在 J1 端子頭絲印為“+”一側(cè),黑線在 J1 端子頭絲印為“-”一側(cè)。
因?yàn)橹悄苄≤嚰t外發(fā)射裝置和電機(jī)等負(fù)載功耗大,所以智能小車?yán)塾?jì)行駛 10~20 分鐘后請(qǐng)對(duì)電池進(jìn)行充電。智能小車不使用的時(shí)請(qǐng)取下電池,電池長(zhǎng)期閑置時(shí)請(qǐng)充滿電。當(dāng)電源電壓小于 5V 時(shí)智能小車無(wú)法正常工作,請(qǐng)及時(shí)給供電電池充電,配送的鋰電池電量不能用完,低于 4V 時(shí)必須充電,電量用完電池將會(huì)報(bào)廢,配送電池充滿狀態(tài)電壓為 7.2V~8V 左右。
智能小車不使用時(shí)請(qǐng)關(guān)閉智能小車電源,由于智能小車上紅外避障和尋跡模塊工作時(shí)功耗較大會(huì)造成電池放電量大。

單片機(jī)源程序如下:
  1. #include <reg52.h> //51頭文件
  2. #include <intrins.h>   //包含nop等系統(tǒng)函數(shù)
  3. #include <QXA51.h>//QX-A51智能小車配置文件

  4. unsigned char pwm_left_val = 140;//左電機(jī)占空比值 取值范圍0-170,0最快
  5. unsigned char pwm_right_val = 150;//右電機(jī)占空比值取值范圍0-170 ,0最快
  6. unsigned char pwm_t;//周期
  7. unsigned char control=0X01;//車運(yùn)動(dòng)控制全局變量,默認(rèn)開(kāi)機(jī)為停車狀態(tài)

  8. /******************************
  9. 超聲波定義
  10. *******************************/
  11. sbit RX = P2^0;//ECHO超聲波模塊回響端
  12. sbit TX = P2^1;//TRIG超聲波模塊觸發(fā)端
  13. unsigned int  time = 0;//傳輸時(shí)間
  14. unsigned long S = 0;//距離
  15. bit      flag = 0;//超出測(cè)量范圍標(biāo)志位

  16. void Delay10us(unsigned char i)            //10us延時(shí)函數(shù) 啟動(dòng)超聲波模塊時(shí)使用
  17. {
  18.    unsigned char j;
  19.         do{
  20.                 j = 10;
  21.                 do{
  22.                         _nop_();
  23.                 }while(--j);
  24.         }while(--i);
  25. }

  26. void delay(unsigned int z)//毫秒級(jí)延時(shí)
  27. {
  28.         unsigned int x,y;
  29.         for(x = z; x > 0; x--)
  30.                 for(y = 114; y > 0 ; y--);
  31. }       
  32. /*小車前進(jìn)*/
  33. void forward()
  34. {
  35.         left_motor_go; //左電機(jī)前進(jìn)
  36.         right_motor_go; //右電機(jī)前進(jìn)
  37. }
  38. /*小車左轉(zhuǎn)*/
  39. void left_run()
  40. {
  41.         left_motor_stops; //左電機(jī)停止
  42.         right_motor_go; //右電機(jī)前進(jìn)       
  43. }
  44. /*小車右轉(zhuǎn)*/
  45. void right_run()
  46. {
  47.         right_motor_stops;//右電機(jī)停止
  48.         left_motor_go;    //左電機(jī)前進(jìn)
  49. }

  50. /*PWM控制使能 小車后退*/
  51. void backward()
  52. {
  53.         left_motor_back; //左電機(jī)后退
  54.         right_motor_back; //右電機(jī)后退       
  55. }
  56. /*PWM控制使能 小車高速右轉(zhuǎn)*/
  57. void right_rapidly()
  58. {
  59.         left_motor_go;
  60.         right_motor_back;       
  61. }
  62. /*小車高速左轉(zhuǎn)*/
  63. void left_rapidly()
  64. {
  65.         right_motor_go;
  66.         left_motor_back;       
  67. }
  68. //小車停車
  69. void stop()
  70. {
  71.                 left_motor_stops; //左電機(jī)后退
  72.         right_motor_stops; //右電機(jī)后退       
  73. }


  74. void keyscan()
  75. {
  76.         for(;;)        //死循環(huán)
  77.         {
  78.                 if(key_s2 == 0)// 實(shí)時(shí)檢測(cè)S2按鍵是否被按下
  79.                 {
  80.                         delay(5); //軟件消抖
  81.                         if(key_s2 == 0)//再檢測(cè)S2是否被按下
  82.                         {
  83.                                 while(!key_s2);//松手檢測(cè)
  84.                                 beep = 0;        //使能有源蜂鳴器
  85.                                 delay(200);//200毫秒延時(shí)
  86.                                 beep = 1;        //關(guān)閉有源蜂鳴器
  87.                                 break;                //退出FOR死循環(huán)
  88.                         }
  89.                 }
  90.         }       
  91. }

  92. //初始化
  93. void Init(void)
  94. {
  95.            EA = 1;            //開(kāi)總中斷

  96.            SCON |= 0x50;         // SCON: 模式1, 8-bit UART, 使能接收
  97.         T2CON |= 0x34; //設(shè)置定時(shí)器2為串口波特率發(fā)生器并啟動(dòng)定時(shí)器2
  98.         TL2 = RCAP2L = (65536-(FOSC/32/BAUD)); //設(shè)置波特率
  99.         TH2 = RCAP2H = (65536-(FOSC/32/BAUD)) >> 8;
  100.         ES= 1;                         //打開(kāi)串口中斷

  101.         TMOD |= 0x01;//定時(shí)器0工作模塊1,16位定時(shí)模式。T0用測(cè)ECH0脈沖長(zhǎng)度
  102.         TH0 = 0;
  103.         TL0 = 0;//T0,16位定時(shí)計(jì)數(shù)用于記錄ECHO高電平時(shí)間
  104.         ET0 = 1;//允許定時(shí)器0中斷

  105.         TMOD |= 0x20;        //定時(shí)器1,8位自動(dòng)重裝模塊
  106.         TH1 = 220;     
  107.     TL1 = 220;           //11.0592M晶振下占空比最大比值是256,輸出100HZ
  108.         TR1 = 1;//啟動(dòng)定時(shí)器1
  109.         ET1 = 1;//允許定時(shí)器1中斷
  110. }

  111. /**************************************************
  112. 超聲波程序
  113. ***************************************************/
  114. void  StartModule()                          //啟動(dòng)超聲波模塊
  115. {
  116.           TX=1;                                             //啟動(dòng)一次模塊
  117.       Delay10us(2);
  118.           TX=0;
  119. }

  120. /*計(jì)算超聲波所測(cè)距離*/
  121. void Conut(void)
  122. {
  123.         time=TH0*256+TL0;
  124.         TH0=0;
  125.         TL0=0;
  126.        
  127.         S=(float)(time*1.085)*0.17;     //算出來(lái)是MM
  128.         if((S>=7000)||flag==1) //超出測(cè)量范圍
  129.         {         
  130.                 flag=0;
  131.         }
  132. }

  133. /*超聲波避障*/
  134. void        Avoid()
  135. {
  136.         if(S < 400)//設(shè)置避障距離 ,單位毫米        剎車距離
  137.         {
  138.                 stop();//停車
  139.                 backward();//后退
  140.                 delay(100);//后退時(shí)間越長(zhǎng)、距離越遠(yuǎn)。后退是為了留出車輛轉(zhuǎn)向的空間
  141.                 do{
  142.                         left_rapidly();//高速左轉(zhuǎn)
  143.                         delay(90);//時(shí)間越長(zhǎng) 轉(zhuǎn)向角度越大,與實(shí)際行駛環(huán)境有關(guān)
  144.                         stop();//停車
  145.                         delay(100);//時(shí)間越長(zhǎng) 停止時(shí)間越久長(zhǎng)

  146.                         StartModule();        //啟動(dòng)模塊測(cè)距,再次判斷是否
  147.                         while(!RX);                //當(dāng)RX(ECHO信號(hào)回響)為零時(shí)等待
  148.                         TR0=1;                            //開(kāi)啟計(jì)數(shù)
  149.                         while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待
  150.                         TR0=0;                                //關(guān)閉計(jì)數(shù)
  151.                         Conut();                        //計(jì)算距離
  152.                         }while(S < 280);//判斷前面障礙物距離
  153.         }
  154.         else
  155.         {
  156.                 forward();//前進(jìn)
  157.         }       
  158. }


  159. //黑線尋跡
  160. void BlackLine()
  161. {
  162.                 //為0 沒(méi)有識(shí)別到黑線 為1識(shí)別到黑線
  163.         if(left_led1 == 1 && right_led1 == 1)//左右尋跡探頭識(shí)別到黑線
  164.         {
  165.                 forward();//前進(jìn)
  166.         }
  167.         else
  168.         {
  169.                 if(left_led1 == 1 && right_led1 == 0)//小車右邊出線,左轉(zhuǎn)修正
  170.                 {
  171.                         left_run();//左轉(zhuǎn)
  172.                 }
  173.                 if(left_led1 == 0 && right_led1 == 1)//小車左邊出線,右轉(zhuǎn)修正
  174.                 {
  175.                         right_run();//右轉(zhuǎn)
  176.                 }
  177.                 if(left_led1 == 0 && right_led1 == 0)//左右尋跡探頭都沒(méi)識(shí)別到黑線
  178.                 {
  179.                         backward();//后退
  180.                 }               
  181.         }       
  182. }

  183. //紅外避障
  184. void IRAvoid()
  185. {
  186.                                 //為0 識(shí)別障礙物 為1沒(méi)有識(shí)別到障礙物
  187.         if(left_led2 == 1 && right_led2 == 1)//左右都沒(méi)識(shí)別到障礙物
  188.         {
  189.                 pwm_left_val = 140;//左電機(jī)占空比值 取值范圍0-170,0最快
  190.                 pwm_right_val = 150;//右電機(jī)占空比值取值范圍0-170 ,0最快
  191.                 forward();//前進(jìn)
  192.         }
  193.         if(left_led2 == 1 && right_led2 == 0)//小車右側(cè)識(shí)別到障礙物,左轉(zhuǎn)躲避
  194.         {
  195.                 pwm_left_val = 180;//左電機(jī)占空比值 取值范圍0-170,0最快
  196.                 pwm_right_val = 110;//右電機(jī)占空比值取值范圍0-170 ,0最快
  197.                 left_run();//左轉(zhuǎn)
  198.                 delay(40);//左轉(zhuǎn)40毫秒(實(shí)現(xiàn)左小彎轉(zhuǎn))
  199.         }
  200.         if(left_led2 == 0 && right_led2 == 1)//小車左側(cè)識(shí)別到障礙物,右轉(zhuǎn)躲避
  201.         {
  202.                 pwm_left_val = 100;//左電機(jī)占空比值 取值范圍0-170,0最快
  203.                 pwm_right_val = 180;//右電機(jī)占空比值取值范圍0-170 ,0最快
  204.                 right_run();//右轉(zhuǎn)
  205.                 delay(40);//右轉(zhuǎn)40毫秒(實(shí)現(xiàn)右小彎轉(zhuǎn))
  206.         }
  207.         if(left_led2 == 0 && right_led2 == 0) //小車左右兩側(cè)都識(shí)別到障礙物,后退掉頭
  208.         {
  209.                 pwm_left_val = 150;//左電機(jī)占空比值 取值范圍0-170,0最快
  210.                 pwm_right_val = 160;//右電機(jī)占空比值取值范圍0-170 ,0最快       
  211.                 backward();//后退
  212.                 delay(100);//后退的時(shí)間影響后退的距離。后退時(shí)間越長(zhǎng)、后退距離越遠(yuǎn)。
  213.                 pwm_left_val = 140;//左電機(jī)占空比值 取值范圍0-170,0最快
  214.                 pwm_right_val = 150;//右電機(jī)占空比值取值范圍0-170 ,0最快
  215.                 right_rapidly();//高速右轉(zhuǎn)
  216.                 delay(180);//延時(shí)時(shí)間越長(zhǎng),轉(zhuǎn)向角度越大。       
  217.         }               
  218. }

  219. //超聲波避障
  220. void Ultrasonic()
  221. {
  222.         StartModule();        //啟動(dòng)模塊測(cè)距
  223.         while(!RX);                //當(dāng)RX(ECHO信號(hào)回響)為零時(shí)等待
  224.         TR0=1;                            //開(kāi)啟計(jì)數(shù)
  225.         while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待
  226.         TR0=0;                                //關(guān)閉計(jì)數(shù)
  227.         Conut();                        //計(jì)算距離
  228.         Avoid();                        //避障
  229.         delay(65);                        //測(cè)試周期不低于60MS       
  230. }

  231. //紅外物體跟隨
  232. void IRTracking()
  233. {
  234.                 //為0 識(shí)別障礙物 為1沒(méi)有識(shí)別到障礙物
  235.         if(left_led2 == 0 && right_led2 == 0)//左右識(shí)別到障礙物,前進(jìn)跟隨
  236.         {
  237.                 forward();//前進(jìn)
  238.         }
  239.         if(left_led2 == 1 && right_led2 == 0)//小車右側(cè)識(shí)別到障礙物,右轉(zhuǎn)跟隨
  240.         {
  241.                 right_run();//右轉(zhuǎn)
  242.         }
  243.         if(left_led2 == 0 && right_led2 == 1)//小車左側(cè)識(shí)別到障礙物,左轉(zhuǎn)跟隨
  244.         {
  245.                 left_run();//左轉(zhuǎn)
  246.         }
  247. }
  248. void main()
  249. {
  250.         keyscan();//等待按下S2啟動(dòng)小車
  251.         delay(1000);//延時(shí)1秒
  252.         Init();//定時(shí)器、串口初始化
  253.         while(1)
  254.         {
  255.                 if(control>0X17)//如果成立,則表示接收的命令不在運(yùn)行命令內(nèi)
  256.            {
  257.                    stop();        //  停車
  258.            }
  259.                 switch(control)
  260.                 {
  261.                         case 0X02:        forward();                        break;        //前進(jìn)
  262.                         case 0X03:        backward();                        break;        //后退
  263.                         case 0X04:        left_run();                        break;        //左轉(zhuǎn)
  264.                         case 0X05:        right_run();                break;//右轉(zhuǎn)
  265.                         case 0X01:        stop();                                break;//停車
  266.                         case 0X06:        left_rapidly();                break;//左旋轉(zhuǎn)
  267.                         case 0X07:        right_rapidly();        break;//右旋轉(zhuǎn)
  268.                         case 0X08:        beep = 0;                        break;//鳴笛
  269.                         case 0X09:        beep = 1;                        break;//停止鳴笛

  270.                         case 0X11:        Ultrasonic();                break;//超聲波避障
  271.                         case 0X12:        BlackLine();                break;//黑線尋跡
  272.                         case 0X13:        IRAvoid();                        break;//紅外避障

  273.                         case 0X15:        IRTracking();                break;//紅外-跟隨物體
  274.                 }
  275.         }
  276. }

  277. //定時(shí)器0中斷
  278. void timer0() interrupt 1
  279. {
  280.         flag=1;                                                         //中斷溢出標(biāo)志                                         
  281. }

  282. void timer1() interrupt 3                  //T1中斷用來(lái)計(jì)數(shù)器溢出
  283. {
  284.     pwm_t++;//周期計(jì)時(shí)加
  285.         if(pwm_t == 255)
  286.                 pwm_t = EN1 = EN2 = 0;
  287.         if(pwm_left_val == pwm_t)//左電機(jī)占空比       
  288.                 EN1 = 1;               
  289.         if(pwm_right_val == pwm_t)//右電機(jī)占空比
  290.                 EN2 = 1;                         
  291. }
  292. /******************************************************************/
  293. /* 串口中斷程序*/
  294. /******************************************************************/
  295. void UART_SER () interrupt 4
  296. {
  297.         unsigned char n;         //定義臨時(shí)變量

  298.         if(RI)                 //判斷是接收中斷產(chǎn)生
  299.         {
  300.                 RI=0;         //標(biāo)志位清零
  301.                 n=SBUF; //讀入緩沖區(qū)的值

  302.                 control=n;
  303.                 if((n >= 51) && (n <= 150))//左電機(jī)調(diào)速0~100個(gè)檔位 手機(jī)端軟件進(jìn)行調(diào)節(jié)
  304.                         pwm_left_val = 170-((n-50)*1.7);       
  305.                 if((n >= 151) && (n <= 250))          //右電機(jī)調(diào)速0~100個(gè)檔位 手機(jī)端軟件進(jìn)行調(diào)節(jié)
  306.                         pwm_right_val = 170-((n-150)*1.7);
  307.         }

  308. }
復(fù)制代碼

所有資料51hei提供下載:
小車程序.7z (1.73 MB, 下載次數(shù): 50)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:944420 發(fā)表于 2022-3-14 11:22 來(lái)自觸屏版 | 顯示全部樓層
有沒(méi)有原理圖噢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产免费麻豆视频 | 成人午夜在线 | 欧美一级二级视频 | 91在线精品一区二区 | 国产日产精品一区二区三区四区 | 精品免费国产视频 | 黄网站免费观看 | 男女午夜免费视频 | 高清18麻豆 | 一级欧美一级日韩片 | 网站黄色在线免费观看 | 在线a视频网站 | 国产在线视频在线观看 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 在线中文字幕亚洲 | 成人精品一区二区三区 | 国内精品久久久久久久 | 亚洲午夜电影 | 亚洲精品一二三区 | 国产精品久久国产精品99 | 亚洲一区二区三区视频 | 高清国产一区二区 | 亚洲一区二区三区四区五区午夜 | 欧美在线视频一区 | 欧美日韩国产欧美 | 日本黄色短片 | 亚洲一区中文字幕在线观看 | 国产中文字幕在线观看 | 天堂在线www | 中文字幕视频三区 | 久久国产婷婷国产香蕉 | 99re在线视频免费观看 | 美女视频一区 | 日韩午夜激情 | 2018国产精品| 国产一区二区三区免费观看视频 | 亚洲精品久久久久久久久久久久久 | 欧美一级视频在线观看 | 在线视频 亚洲 | 男人的天堂视频网站 | 在线视频国产一区 |