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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5192|回復: 7
收起左側

基于51單片機的智能小車設計 藍牙+避障 YY編寫

[復制鏈接]
ID:259629 發表于 2017-12-10 17:54 | 顯示全部樓層 |閱讀模式
基于51單片機的智能小車設計 藍牙+避障 YY編

單片機源程序如下:
  1. //************************************************************************
  2. // 名稱:基于51單片機的智能小車程序
  3. // 功能:1、藍牙模式 2、避障模式
  4. // 作者:YY
  5. // 時間:2017/10/25
  6. // 說明:上電后手機藍牙打開后搜索HC-06 配對密碼為1234
  7. //       然后打開配套的Android軟件 點擊右上角的連接
  8. //                         點擊彈出的對話框 會提示 “ 連接成功 ” 就可以
  9. //       通過手機控制小車了 “ 1 ”模式切換 “ 2 ”增加車速檔位“ 3 ”減小車速檔位
  10. //************************************************************************

  11. #include <REGX52.H> //包含51單片機相關的頭文件

  12. typedef unsigned int uint;
  13. typedef unsigned char uchar;
  14. /************************************************************************/
  15. /*                    PWM調制電機轉速定義                                  */
  16. #define Left_moto_pwm     P1_6           //接驅動模塊ENA        使能端,輸入PWM信號調節速度
  17. #define Right_moto_pwm    P1_7           //接驅動模塊ENB
  18. unsigned char pwm_val_left  =0;//變量定義
  19. unsigned char push_val_left =0;// 左電機占空比N/10
  20. unsigned char pwm_val_right =0;
  21. unsigned char push_val_right=0;// 右電機占空比N/10
  22. bit Right_moto_stop=1;
  23. bit Left_moto_stop =1;
  24. unsigned  int  time=0;
  25. /************************************************************************/
  26. /*                                小車接口定義                          */
  27. #define Left_moto_go      {P1_0=0,P1_1=1;} //P1_0 P1_1 接IN1  IN2    當 P1_0=0,P1_1=1; 時左電機前進
  28. #define Left_moto_back    {P1_0=1,P1_1=0;} //P1_0 P1_1 接IN1  IN2    當 P1_0=1,P1_1=0; 時左電機后退
  29. #define Left_moto_t                    {P1_0=1,P1_1=1;} //P1_0 P3_5 接IN1  IN2    當 P1_0=1,P3_5=1; 時左電機停止
  30. #define Right_moto_go     {P1_2=0,P1_3=1;} //P1_2 P1_3 接IN3  IN4           當 P1_2=0,P1_3=1; 時右電機前轉
  31. #define Right_moto_back   {P1_2=1,P1_3=0;} //P1_2 P1_3 接IN3  IN4           當 P1_2=1,P1_3=0; 時右電機后退
  32. #define Right_moto_t      {P1_2=1,P1_3=1;} //P1_2 P1_3 接IN3  IN4           當 P1_2=1,P1_3=1; 時右電機停止
  33. #define ShowPort P0


  34. sbit LeftLed=P2^0;                        //定義左側避障傳感器接口 所用的傳感器為 未感知障礙時為高電平 遇到障礙變為低電平
  35. sbit FontLed=P2^1;                                                                                                //定義前方避障傳感器接口
  36. sbit RightLed=P2^2;                       //定義右側避障傳感器接口

  37. sbit Speker=P2^3;                                                                                                        //定義喇叭接口

  38. sbit WEI1=P2^7;                                                                                                                //定義顯示接口
  39. sbit WEI2=P2^6;
  40. sbit WEI3=P2^5;
  41. sbit WEI4=P2^4;

  42. sbit LeftIR=P3^1;                         //定義前方左側紅外探頭端口
  43. sbit FontIR=P3^2;                         //定義前方正前方紅外探頭端口
  44. sbit RightIR=P3^3;                        //定義前方右側紅外探頭端口

  45. unsigned char temp = 1;
  46. unsigned char code  LedShowModeData[]={0xC0,0xF9,0xA4};//0,1,2共陽數碼管
  47. unsigned char code  LedShowPwmData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9共陽數碼管
  48. bit run_flag;
  49.                                                        
  50. /************************************************************************/
  51. /*                 藍牙定義                               */
  52. #define left     'C'
  53. #define right    'D'
  54. #define up       'A'
  55. #define down     'B'
  56. #define stop     'F'
  57. #define switchmode'1'
  58. #define CarSpeedPlus '2'
  59. #define CarSpeedMinus '3'

  60. char code str[] =  "收到指令,向前!\n";
  61. char code str1[] = "收到指令,向后!\n";
  62. char code str2[] = "收到指令,向左!\n";
  63. char code str3[] = "收到指令,向右!\n";
  64. char code str4[] = "收到指令,停止!\n";

  65. bit  flag_REC=0;
  66. bit  flag    =0;  


  67. unsigned char  i=0;
  68. unsigned char  dat=0;
  69. unsigned char  buff[5]=0; //接收緩沖字節       
  70. unsigned char temppwm=8;

  71. /************************************************************************/
  72. /*                   延時程序                                */
  73. void delay_nus(unsigned int i)  //延時:i>=12 ,i的最小延時單12 us
  74. {
  75.   i=i/10;
  76.   while(--i);
  77. }   
  78. void delay_nms(unsigned int n)  //延時n ms
  79. {
  80.   n=n+1;
  81.   while(--n)  
  82.   delay_nus(900);         //延時 1ms,同時進行補償
  83.   
  84. }

  85. /************************************************************************/
  86. /*                                顯示部分                             */
  87. void Display()
  88. {
  89.         if(temppwm<10)
  90.         {
  91.                 ShowPort = LedShowModeData[temp];
  92.                 WEI1=0;
  93.                 WEI2=1;
  94.                 WEI3=1;
  95.                 WEI4=1;
  96.                 delay_nms(2);
  97.                 ShowPort = LedShowPwmData[temppwm];
  98.                 WEI1=1;
  99.                 WEI2=1;
  100.                 WEI3=1;
  101.                 WEI4=0;
  102.                 delay_nms(2);
  103.         }
  104.         else
  105.         {
  106.                 ShowPort = LedShowModeData[temp];
  107.                 WEI1=0;
  108.                 WEI2=1;
  109.                 WEI3=1;
  110.                 WEI4=1;
  111.                 delay_nms(1);
  112.                 ShowPort = LedShowPwmData[1];
  113.                 WEI1=1;
  114.                 WEI2=1;
  115.                 WEI3=0;
  116.                 WEI4=1;
  117.                 delay_nms(1);
  118.                 ShowPort = LedShowPwmData[0];
  119.                 WEI1=1;
  120.                 WEI2=1;
  121.                 WEI3=1;
  122.                 WEI4=0;
  123.                 delay_nms(1);
  124.         }
  125. }
  126. /************************************************************************/
  127. /*                   控制方向程序                                 */
  128. void tingzhi()
  129. {
  130.          push_val_left  =2;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  131.          push_val_right =2;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  132.          Left_moto_t ;                 //左電機停止
  133.          Right_moto_t ;         //右電機停止
  134. }

  135. void qianjin()
  136. {
  137.          push_val_left  =4;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  138.          push_val_right =4;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  139.          Left_moto_go ;                 //左電機前進
  140.          Right_moto_go ;         //右電機前進
  141. }

  142. void houtui()
  143. {
  144.          push_val_left  =4;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  145.          push_val_right =4;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  146.          Left_moto_back ;                 //左電機后退
  147.          Right_moto_back ;         //右電機后退
  148. }

  149. void zuozhuan()
  150. {
  151.          push_val_left  =4;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  152.          push_val_right =1;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  153.          Left_moto_back ;                 //左電機后退
  154.          Right_moto_go ;         //右電機前進
  155. }
  156. void weizuozhuan()
  157. {
  158.          push_val_left  =2;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  159.          push_val_right =1;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  160.          Left_moto_back ;                 
  161.          Right_moto_go ;       
  162. }
  163. void weiyouzhuan()
  164. {
  165.          push_val_left  =1;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  166.          push_val_right =2;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  167.          Left_moto_go ;               
  168.          Right_moto_back ;       
  169. }
  170. void youzhuan()
  171. {
  172.          push_val_left  =1;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  173.          push_val_right =4;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  174.          Left_moto_go ;                 //左電機前進
  175.          Right_moto_back ;         //右電機后退
  176. }

  177. /************************************************************************/
  178. /*                    PWM調制電機轉速                                   */
  179. void Timer0_Init()
  180. {
  181.         TMOD=0X01;
  182.         TH0= 0XF8;                  //1ms定時
  183.         TL0= 0X30;
  184.         TR0= 1;
  185.         ET0= 1;
  186.         EA = 1;
  187. }

  188. /************************************************************************/
  189. /*                    左電機調速                                        */
  190. /*調節push_val_left的值改變電機轉速,占空比            */
  191. void pwm_out_left_moto(void)
  192. {  
  193.    if(Left_moto_stop)
  194.     {
  195.     if(pwm_val_left <= push_val_left)
  196.         Left_moto_pwm=1;
  197.     else
  198.             Left_moto_pwm=0;
  199.         if(pwm_val_left>=10)
  200.             pwm_val_left=0;
  201.     }
  202.    else  Left_moto_pwm=0;
  203. }

  204. /******************************************************************/
  205. /*                    右電機調速                                  */  
  206. void pwm_out_right_moto(void)
  207. {
  208.   if(Right_moto_stop)
  209.     {
  210.     if(pwm_val_right<=push_val_right)
  211.         Right_moto_pwm=1;
  212.         else
  213.         Right_moto_pwm=0;
  214.         if(pwm_val_right>=10)
  215.             pwm_val_right=0;
  216.     }
  217.     else    Right_moto_pwm=0;
  218. }

  219. /***************************************************/
  220. ///*TIMER0中斷服務子函數產生PWM信號*/
  221.         void timer0()interrupt 1   using 2
  222. {
  223.    TH0=0XF8;          //1Ms定時
  224.          TL0=0X30;
  225.          time++;
  226.          pwm_val_left++;
  227.          pwm_val_right++;
  228.          pwm_out_left_moto();
  229.          pwm_out_right_moto();
  230.          
  231. }       

  232. /************************************************************************/
  233. /*                    尋跡程序                                          */
  234. void xunji()
  235. {
  236.          Start:


  237.    if(LeftIR == 0 && FontIR == 1 && RightIR == 0)   
  238.    {
  239.       qianjin();                     
  240.       delay_nms (100);
  241.           goto NextRun;
  242.    }
  243.    
  244.           if(LeftIR == 1 && FontIR == 1 && RightIR == 0)
  245.    {
  246.       weiyouzhuan();                      //微右調
  247.       delay_nms (100);
  248.           goto NextRun;
  249.    }
  250.          
  251.    if(LeftIR == 1 && FontIR == 0 && RightIR == 0)
  252.    {
  253.       youzhuan();                      //右急轉彎
  254.       delay_nms (100);
  255.           goto NextRun;
  256.    }
  257.          if(LeftIR == 0 && FontIR == 1 && RightIR == 1)
  258.    {
  259.       weizuozhuan();                      //微左調
  260.       delay_nms (100);
  261.           goto NextRun;
  262.    }
  263.    if(LeftIR == 0 && FontIR == 0 && RightIR == 1)
  264.    {
  265.       zuozhuan();                      //左急轉彎
  266.       delay_nms (100);
  267.           goto NextRun;
  268.    }


  269.    goto Start;
  270.    NextRun:
  271.    tingzhi();
  272. }

  273. /************************************************************************/
  274. /*                    避障程序                                          */
  275. void bizhang()
  276. {
  277.          static uchar i;
  278.          run_flag=1;
  279.          qianjin();
  280.          if(LeftLed == 0)                          //如果前面避障傳感器檢測到障礙物
  281.    {
  282.                  tingzhi();                       //停止                                  
  283.                  for(i=0;i<50;i++)                                                                         //停止300MS   防止電機反相電壓沖擊  導致系統復位
  284.                  {
  285.                          delay_nms(3);
  286.                          Display();
  287.                  }
  288.           houtui();                                           //后退  
  289.          // delay_nms (500);                                           //后退1500MS
  290.                         for(i=0;i<80;i++)
  291.                  {
  292.                          delay_nms(5);
  293.                          Display();
  294.                  }
  295.           zuozhuan();                                           //
  296.          // delay_nms (500);
  297.                         for(i=0;i<80;i++)
  298.                  {
  299.                          delay_nms(5);
  300.                          Display();
  301.                  }
  302.    }
  303.    
  304.    else if(FontLed == 0)                          //如果前面避障傳感器檢測到障礙物
  305.    {
  306.                 tingzhi();                       //停止
  307.         //        delay_nms (300);                                           //停止300MS   防止電機反相電壓沖擊  導致系統復位
  308.                 for(i=0;i<50;i++)
  309.                  {
  310.                          delay_nms(3);
  311.                          Display();
  312.                  }
  313.           houtui();                                           //后退  
  314.         //  delay_nms (500);                                           //后退1500MS  
  315.                 for(i=0;i<80;i++)
  316.                  {
  317.                          delay_nms(5);
  318.                          Display();
  319.                  }
  320.           zuozhuan();                                           //
  321.         //  delay_nms (500);       
  322.                 for(i=0;i<80;i++)
  323.                  {
  324.                          delay_nms(5);
  325.                          Display();
  326.                  }
  327.    }
  328.          else if(RightLed == 0)                          //如果前面避障傳感器檢測到障礙物
  329.    {
  330.                 tingzhi();                       //停止
  331.         //        delay_nms (300);                                           //停止300MS   防止電機反相電壓沖擊  導致系統復位
  332.                 for(i=0;i<50;i++)
  333.                  {
  334.                          delay_nms(3);
  335.                          Display();
  336.                  }
  337.           houtui();                                           //后退  
  338. //          delay_nms (500);                                           //后退1500MS  
  339.                  for(i=0;i<80;i++)
  340.                  {
  341.                          delay_nms(5);
  342.                          Display();
  343.                  }
  344.           youzhuan();                                           //
  345. //          delay_nms (500);       
  346.                  for(i=0;i<80;i++)
  347.                  {
  348.                          delay_nms(5);
  349.                          Display();
  350.                  }
  351.    }
  352. }

  353. /************************************************************************/
  354. /*                                                            藍牙部分                                */
  355. /************************************************************************/
  356. //字符串發送函數
  357. void send_str( )
  358.                                                          // 傳送字串
  359. {
  360.         unsigned char i = 0;
  361.         while(str[i] != '\0')
  362. {
  363.         SBUF = str[i];
  364.         while(!TI);                                // 等特數據傳送
  365.         TI = 0;                                        // 清除數據傳送標志
  366.         i++;                                        // 下一個字符
  367. }       
  368. }

  369. void send_str1( )
  370.                                                          // 傳送字串
  371. {
  372.         unsigned char i = 0;
  373.         while(str1[i] != '\0')
  374. {
  375.         SBUF = str1[i];
  376.         while(!TI);                                // 等特數據傳送
  377.         TI = 0;                                        // 清除數據傳送標志
  378.         i++;                                        // 下一個字符
  379. }       
  380. }       

  381. void send_str2( )
  382.                                                          // 傳送字串
  383. {
  384.         unsigned char i = 0;
  385.         while(str2[i] != '\0')
  386. {
  387.         SBUF = str2[i];
  388.         while(!TI);                                // 等特數據傳送
  389.         TI = 0;                                        // 清除數據傳送標志
  390.         i++;                                        // 下一個字符
  391. }       
  392. }       
  393.                
  394. void send_str3()
  395.                                                          // 傳送字串
  396. {
  397.         unsigned char i = 0;
  398.         while(str3[i] != '\0')
  399. {
  400.         SBUF = str3[i];
  401.         while(!TI);                                // 等特數據傳送
  402.         TI = 0;                                        // 清除數據傳送標志
  403.         i++;                                        // 下一個字符
  404. }       
  405. }       

  406. void send_str4()
  407.                                                          // 傳送字串
  408. {
  409.         unsigned char i = 0;
  410.         while(str4[i] != '\0')
  411. {
  412.         SBUF = str4[i];
  413.         while(!TI);                                // 等特數據傳送
  414.         TI = 0;                                        // 清除數據傳送標志
  415.         i++;                                        // 下一個字符
  416. }       
  417. }       
  418. void Timer1_Init()
  419. {
  420.         TMOD=0x20;  
  421.         TH1=0xFd;                     //11.0592M晶振,9600波特率
  422.         TL1=0xFd;
  423.         SCON=0x50;  
  424.         PCON=0x00;
  425.         TR1=1;
  426.         ES=1;   
  427.         EA=1;
  428. }

  429. void sint() interrupt 4          //中斷接收3個字節
  430. {

  431.     if(RI)                         //是否接收中斷
  432.     {
  433.        RI=0;
  434.        dat=SBUF;
  435.        if(dat=='O'&&(i==0)) //接收數據第一幀
  436.          {
  437.             buff[i]=dat;
  438.             flag=1;        //開始接收數據
  439.          }
  440.        else
  441.       if(flag==1)
  442.      {
  443.       i++;
  444.       buff[i]=dat;
  445.       if(i>=2)
  446.       {i=0;flag=0;flag_REC=1 ;}  // 停止接收
  447.      }
  448.          }
  449. }

  450. void lanya()
  451. {
  452.        
  453.         if(flag_REC==1)                                    //
  454. {
  455.         flag_REC=0;
  456.         if(buff[0]=='O'&&buff[1]=='N')        //第一個字節為O,第二個字節為N,第三個字節為控制碼
  457.         switch(buff[2])
  458.          {
  459.           case up :                                                    // 前進
  460.                 send_str();
  461.                 push_val_left  =temppwm;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  462.                 push_val_right =temppwm;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  463.           Left_moto_go ;                 //左電機前進
  464.     Right_moto_go ;         //右電機前進
  465.                 break;
  466.                
  467.                 case down:                                                // 后退
  468.                 send_str1();
  469.                 push_val_left  =temppwm;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  470.                 push_val_right =temppwm;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  471.           Left_moto_back ;                 
  472.     Right_moto_back ;         
  473.                 break;
  474.                
  475.                 case left:                                                // 左轉
  476.                 send_str3();
  477.                 push_val_left  =temppwm;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  478.                 push_val_right =temppwm;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  479.           Left_moto_back ;               
  480.     Right_moto_go ;         

  481.                 break;
  482.                
  483.                 case right:                                                // 右轉
  484.                 send_str2();
  485.                 push_val_left  =temppwm;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  486.                 push_val_right =temppwm;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  487.           Left_moto_go ;                 
  488.     Right_moto_back ;       

  489.                 break;
  490.                
  491.                 case stop:                                                // 停止
  492.                 send_str4();
  493.                 push_val_left  =2;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  494.           push_val_right =2;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  495.           Left_moto_t ;               
  496.           Right_moto_t ;         
  497.                 break;
  498.                
  499.                 case switchmode :                                                    // 切換工作模式
  500.                 temp++;
  501.                 Speker=~Speker;
  502.                 delay_nms(10);
  503.                 Speker=~Speker;
  504.                 break;
  505. ……………………

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

所有資料51hei提供下載:
基于51單片機的智能小車設計 藍牙 避障 YY編寫 2017.11.22.rar (79.79 KB, 下載次數: 34)


回復

使用道具 舉報

ID:243549 發表于 2017-12-11 13:53 來自觸屏版 | 顯示全部樓層
你這個避障是超聲波的嗎?還是紅外線的?
回復

使用道具 舉報

ID:259629 發表于 2017-12-17 15:16 | 顯示全部樓層
不忘初心666 發表于 2017-12-11 13:53
你這個避障是超聲波的嗎?還是紅外線的?

超聲波的
回復

使用道具 舉報

ID:259619 發表于 2017-12-18 14:42 來自觸屏版 | 顯示全部樓層
樓主,定時器中斷與串口中斷不會起沖突了
回復

使用道具 舉報

ID:259619 發表于 2017-12-18 15:39 來自觸屏版 | 顯示全部樓層
fhevan 發表于 2017-12-18 14:42
樓主,定時器中斷與串口中斷不會起沖突了

打錯了,是會不會起沖突
回復

使用道具 舉報

ID:274836 發表于 2018-1-17 21:38 | 顯示全部樓層
大哥我這個動不了能幫我看看嗎?

APP整合綜合程序,步進小車.zip

90.38 KB, 下載次數: 4, 下載積分: 黑幣 -5

單獨功能的步進小車接線圖.pdf

52.59 KB, 下載次數: 4, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:274836 發表于 2018-1-17 21:40 | 顯示全部樓層
直流電機還是步進電機?
回復

使用道具 舉報

ID:274836 發表于 2018-1-17 21:41 | 顯示全部樓層
大哥我的動不了你幫我看看

單獨功能的步進小車接線圖.pdf

52.59 KB, 下載次數: 4, 下載積分: 黑幣 -5

APP整合綜合程序,步進小車.zip

90.38 KB, 下載次數: 4, 下載積分: 黑幣 -5

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费一区二区三区 | 久久久视频在线 | 密桃av | 精国产品一区二区三区四季综 | 久久精品国产久精国产 | 男人天堂99 | 亚洲综合大片69999 | 日韩一区二区三区av | 精品在线 | 欧美国产精品久久久 | 黄色片在线观看网址 | 一区二区日韩 | 毛片网在线观看 | 久久久久久蜜桃一区二区 | 成人免费视频网 | 亚洲精品精品 | 中文字幕一级 | 婷婷二区 | 色综合99| 日韩成人精品一区 | av中文字幕在线观看 | 在线永久看片免费的视频 | 日韩国产一区二区三区 | 在线精品亚洲欧美日韩国产 | 欧美成人猛片aaaaaaa | 国产精品福利在线观看 | 日本久久综合网 | 日韩中文字幕第一页 | 亚洲欧美日韩精品久久亚洲区 | 99精品在线观看 | 精品一区二区三区四区在线 | 天堂av中文在线 | 日本欧美国产在线观看 | 一色桃子av一区二区 | 日韩精品在线一区 | 在线观看av网站 | 亚洲综合无码一区二区 | 日本精品999 | 久久人体| 国产精品一区二区在线 | 国产大片一区 |