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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的激光雕刻機

  [復制鏈接]
跳轉到指定樓層
樓主
看了許多電子愛好者做的激光雕刻機,我很眼熱,可惜都是使用arduino的,本人不會arduino,只會些單片機,而且還是半吊子,加上套件比較貴,所有加起來都有兩百元了,所有計劃被耽擱下來,忽然有一條瀏覽網頁的時候,看到有人使用單片機就做出來了激光雕刻機,我也想試試,經過一段時間的購買材料,搜集資料,因為本人的編寫程序的水平太渣了,沒辦法只能使用網上找的上位機和程序,終于完成了這個東西,讓我們來看看吧
雕刻過程視頻地址:http://v.youku.com/v_show/id_XMTU4MTg5MjY0NA==.html

激光雕刻機圖

整體圖

使用的STC單片機,使用此款單片機是因為其RAM內存大,

資料下載:
資料.rar (565.22 KB, 下載次數: 1083)
SetupLaser.rar (8.19 MB, 下載次數: 1084)

51單片機源程序:
  1. /*z地址定義
  2. 50 1=x+,2=x-,3=y+,4=y-
  3. 51 前進后退步數高
  4. 52 前進后退步數低
  5. 53
  6. 54/55 字寬
  7. 56
  8. 57 弱光開關
  9. 58/59 激光強度
  10. 60 x軸速度
  11. 61 y軸速度
  12. 62 開始打印0,57
  13. 63 暫停
  14. 64 停止標志
  15. 65
  16. 66  左右標記
  17. 100開始時灰度圖數據
  18. */

  19. #include <reg52.h>
  20. #define uint unsigned int
  21. #define uchar unsigned char
  22. #define N z[60]           //X速度
  23. #define M z[61]           //Y速度
  24. sbit a=P1^3;//步進電機接線定義  移動激光頭
  25. sbit a_=P1^2;
  26. sbit b=P1^1;
  27. sbit b_=P1^0;
  28. sbit xa=P1^4;
  29. sbit xa_=P1^5;
  30. sbit xb=P1^6;
  31. sbit xb_=P1^7;
  32. /*sbit a=P1^4;//步進電機接線定義 移動底板
  33. sbit a_=P1^5;
  34. sbit b=P1^6;
  35. sbit b_=P1^7;
  36. sbit xa=P1^3;
  37. sbit xa_=P1^2;
  38. sbit xb=P1^1;
  39. sbit xb_=P1^0;  */
  40. sbit jg=P2^0;
  41. sbit led=P2^1;//指示燈
  42. uchar xdata z[500]={0};//緩存
  43. uchar buff[3];//串口緩存
  44. uchar x1,x0,y1,y0,cont2=0;
  45. uchar xfb=4,yfb=4;//走步標志位


  46. unsigned char HighRH = 0;  //高電平重載值的高字節
  47. unsigned char HighRL = 0;  //高電平重載值的低字節
  48. unsigned char LowRH  = 0;  //低電平重載值的高字節
  49. unsigned char LowRL  = 0;  //低電平重載值的低字節



  50. void delayms(uint xms)                                
  51. {   
  52.         uint i,j;
  53.         for(i=xms;i>0;i--)                      //i=xms即延時約xms毫秒
  54.                 for(j=110;j>0;j--);
  55. }

  56. /* 配置并啟動PWM,fr-頻率,dc-占空比 */
  57. void ConfigPWM(unsigned int fr, unsigned char dc)
  58. {
  59.     unsigned int  high, low;
  60.     unsigned long tmp;
  61.    
  62.     tmp  = (11059200/12) / fr;  //計算一個周期所需的計數值
  63.     high = (tmp*dc) / 100;      //計算高電平所需的計數值
  64.     low  = tmp - high;          //計算低電平所需的計數值
  65.     high = 65536 - high + 12;   //計算高電平的重載值并補償中斷延時
  66.     low  = 65536 - low  + 12;   //計算低電平的重載值并補償中斷延時
  67.     HighRH = (unsigned char)(high>>8); //高電平重載值拆分為高低字節
  68.     HighRL = (unsigned char)high;
  69.     LowRH  = (unsigned char)(low>>8);  //低電平重載值拆分為高低字節
  70.     LowRL  = (unsigned char)low;
  71.     TMOD &= 0xF0;   //清零T0的控制位
  72.     TMOD |= 0x01;   //配置T0為模式1
  73.     TH0 = HighRH;   //加載T0重載值
  74.     TL0 = HighRL;
  75.     ET0 = 1;        //使能T0中斷
  76.     TR0 = 1;        //啟動T0
  77.     jg = 1;     //輸出低電平,關閉激光
  78. }
  79. /* 關閉PWM */
  80. void ClosePWM()
  81. {
  82.     TR0 = 0;     //停止定時器0
  83.     ET0 = 0;     //禁止定時器0中斷
  84.     jg = 1;  //輸出低電平,關閉激光
  85. }
  86. /* T0中斷服務函數,產生PWM輸出 */
  87. void InterruptTimer0() interrupt 1
  88. {
  89.     if (jg == 1)  //當前輸出為低電平時,裝載高電平值并輸出高電平
  90.     {
  91.         TH0 = LowRH;
  92.         TL0 = LowRL;
  93.         jg = 0;
  94.     }
  95.     else              //當前輸出為高電平時,裝載低電平值并輸出低電平
  96.     {
  97.         TH0 = HighRH;
  98.         TL0 = HighRL;
  99.         jg = 1;
  100.     }
  101. }



  102. void xfor(uint i)                //x軸前進函數,前進多少步
  103. {   
  104.   while(1)
  105.   {
  106.                 if(xfb==4)
  107.                   {
  108.          xa=xb=1;
  109.                xb_=xa_=0;
  110.                      xfb=1;
  111.                      i--;                        
  112.                delayms(N);
  113.                      if(i==0){xa=xb=0; break;}
  114.                   }
  115.                    if(xfb==1)
  116.                   {
  117.          xb=xa_=1;
  118.                xa=xb_=0;
  119.                      xfb=2;
  120.                      i--;        
  121.                delayms(N);
  122.                      if(i==0){xa_=xb=0; break;}
  123.                   }
  124.                    if(xfb==2)
  125.                   {
  126.          xa_=xb_=1;
  127.          xb=xa=0;
  128.                      xfb=3;        //走步標志位
  129.                      i--;
  130.                delayms(N);
  131.                      if(i==0){xa_=xb_=0; break;}
  132.                    }
  133.                    if(xfb==3)
  134.                   {
  135.          xa_=xb=0;
  136.                xb_=xa=1;
  137.                      xfb=4;
  138.                      i--;        
  139.                delayms(N);
  140.                      if(i==0){xa=xb_=0; break;}
  141.                   }


  142.                 }

  143. }


  144. void xbac(uint i)                //xxx后退函數
  145. {   
  146.      while(1)
  147.          {
  148.                 if(xfb==1)
  149.                   {
  150.          xa_=xb=0;
  151.                xb_=xa=1;
  152.                      xfb=4;
  153.                      i--;                                //走步標志位
  154.                delayms(N);
  155.                      if(i==0){xa=xb_=0; break;}
  156.                    }
  157.                    if(xfb==4)
  158.                   {
  159.          xa_=xb_=1;
  160.          xb=xa=0;
  161.                      xfb=3;
  162.                      i--;        
  163.                delayms(N);
  164.                      if(i==0){xa_=xb_=0; break;}
  165.                    }
  166.                    if(xfb==3)
  167.                   {
  168.          xb=xa_=1;
  169.                xa=xb_=0;
  170.                      xfb=2;        //走步標志位
  171.                      i--;        
  172.                delayms(N);
  173.                      if(i==0){xa_=xb=0; break;}
  174.                    }
  175.                    if(xfb==2)
  176.                   {
  177.          xa=xb=1;
  178.                xb_=xa_=0;
  179.                      xfb=1;
  180.                      i--;        
  181.                delayms(N);
  182.                      if(i==0){xa=xb=0; break;}
  183.                   }
  184.                 }
  185. }



  186. void yfor(uint i)                //y軸前進函數
  187. {   
  188.      while(1)
  189.      {
  190.                switch(yfb)
  191.                    {
  192.                      case 4:{a=b=1; b_=a_=0; yfb=1; i--; delayms(M); if(i==0){a=b=0;break;}}
  193.                                  case 1:{b=a_=1; a=b_=0; yfb=2; i--; delayms(M); if(i==0){a_=b=0;break;}}
  194.                                  case 2:{a_=b_=1; b=a=0; yfb=3; i--; delayms(M); if(i==0){a_=b_=0;break;}}
  195.                                  case 3:{b_=a=1; a_=b=0; yfb=4; i--; delayms(M); if(i==0){a=b_=0;break;}}
  196.                    }
  197.                    if(i==0)  break;
  198.       }
  199. }

  200. void ybac(uint i)                //yy后退函數
  201. {   
  202.      while(1)
  203.      {
  204.                switch(yfb)
  205.                    {
  206.                      case 1:{a=b_=1; b=a_=0; yfb=4; i--; delayms(M); if(i==0){a=b_=0;break;}}
  207.                                  case 4:{b_=a_=1; a=b=0; yfb=3; i--; delayms(M); if(i==0){a_=b_=0;break;}}
  208.                                  case 3:{a_=b=1; b_=a=0; yfb=2; i--; delayms(M); if(i==0){a_=b=0;break;}}
  209.                                  case 2:{b=a=1; a_=b_=0; yfb=1; i--; delayms(M); if(i==0){a=b=0;break;}}
  210.                    }
  211.                    if(i==0)  break;
  212.       }
  213. }

  214. void dazi(uint zik)//打印函數                   ******打印函數已更改******
  215. {
  216.     uint x;
  217.                 jg=0;

  218.                         for(x=0;x<zik;x++)//執行zik個循環,x軸右移zik步
  219.                         {
  220.                           while(z[63]);        //暫停等待
  221.                                 if(z[64]==1) break;//停止標志 跳出循環
  222.                                 SBUF=255;                    // 每開始打印一個點,向上位機發送255,上位機進度顯示用
  223.                                 jg=0;              //開激光
  224.                                 delayms((z[99+x]*(z[58]*256+z[59]))/100);
  225.                             jg=1;              //關閉激光
  226.                         if(z[66]==1)
  227.                         {
  228.                         xbac(1);
  229.                         }        
  230.              else
  231.                          {
  232.                          xfor(1);
  233.                          }                        
  234.                         }         
  235.                 if(z[64==1])    z[64]=0;
  236.             else{yfor(1);}             //y軸進一行
  237.             z[62]=0;                   //一行打印完成
  238.                 SBUF=1;                    //發送信息,表示打印一行完成
  239.                
  240. }

  241. /* 串口配置函數,baud-通信波特率 */
  242. void ConfigUART(unsigned int baud)
  243. {
  244.     SCON  = 0x50;  //配置串口為模式1
  245.     TMOD &= 0x0F;  //清零T1的控制位
  246.     TMOD |= 0x20;  //配置T1為模式2
  247.     TH1 = 256 - (11059200/12/32)/baud;  //計算T1重載值
  248.     TL1 = TH1;     //初值等于重載值
  249.     ET1 = 0;       //禁止T1中斷
  250.     ES  = 1;       //使能串口中斷
  251.     TR1 = 1;       //啟動T1
  252. }


  253. void chuanlo() interrupt 4
  254. {
  255.   if(RI)
  256.   {
  257.      buff[cont2]=SBUF;//每次3字節,地址高,地址低,數據,,
  258.    
  259.            cont2++;
  260.      if(cont2==3)//每收3個字節,把數據寫入地址中
  261.            {
  262.             z[(buff[0]*256)+buff[1]]=buff[2];
  263.                   cont2=0;
  264.                  SBUF=0;  //*****************在這里加入這行代碼測試一下*******************************
  265.            }
  266.          RI=0;


  267.    
  268.   }
  269.   if(TI)
  270.    {
  271.    TI=0;

  272.    }
  273. }

  274. main()
  275. {  
  276.    EA=1;
  277.    P0=0xff;
  278.    ConfigUART(9600)        ;
  279.         z[60]=15;//默認的參數
  280.         z[61]=15;
  281.         z[56]=1;
  282.         z[62]=0;
  283.         jg=0;
  284.         cont2=0;
  285.         
  286.    while(1)
  287.    {
  288.                                                                                                                       //        *****此處已更改******

  289.     if(z[57]==100){ConfigPWM(100, 98);delayms(10);}         //上位機指令處理,打開弱光定位,頻率100Hz,占空比98%                                                                     
  290.     else if(z[57]==1)   jg=0;                                                   //打開強光
  291.         else   { ClosePWM(); delayms(10);}
  292.          
  293.           if(cont2!=0) led=0;  else led=1;//指示通信是否可用
  294.       if(z[50]==1){xfor(z[51]*256+z[52]);z[50]=0;}//x+
  295.           if(z[50]==2){xbac(z[51]*256+z[52]);z[50]=0;}//x-
  296.           if(z[50]==3){yfor(z[51]*256+z[52]);z[50]=0;}//y+
  297.           if(z[50]==4){ybac(z[51]*256+z[52]);z[50]=0;}//y-

  298.          
  299.       if(z[62])//開始打印標志
  300.           {
  301.             dazi(z[54]*256+z[55]);
  302.           }
  303.    
  304.   }

  305. }
復制代碼


電路圖  ,其中采用USB轉TTL連接電腦,就是普通的串口連接

采用另外的電路板來方便驅動模塊連接電機


最小單片機電路


USB轉TTL


激光驅動板,使用ULN2003,這是以前制作的方便單片機控制外設


L298N模塊


上位機

使用激光雕刻機雕刻的圖片,看著還行吧,不過只能使用顏色深一點的紙來打印,我使用
的事快遞盒子

當然還有一些小問題要說一下,就是圖片的問題,以下面這張圖為例,這是網上下載的圖片,最好圖片小一點,長寬要在電機長度范圍內

如果直接用軟件添加圖片就會出現這種現象,這種情況會使打印時間變得很長,往往都是一個多小時以上,而我則想了辦法,改用抖動算法,可是這個軟件沒有這個功能,怎么辦呢,用別的軟件



別人的激光雕刻軟件用這個功能


我就導入圖片,然后灰度化,選擇最合適的圖片,然后使用QQ的截圖功能,將抖動完成的圖片保存下來



這是截圖好的

然后使用我們用的軟件,添加圖片就可以用了,以前要用一個小時,現在只要半小時了,網上下載的圖片最好是白色背景,否則就會浪費時間打印這些多余的背景,那些黑色就是

抖動軟件就在附件那里,需要的可以下載
還有就是在打印之前要使用軟件的方向鍵控制電機的前后左右是否能正常轉動,如不能則需要調整,電機的方向倒過來的可以將電機驅動模塊的輸入端幾根線調換位置,以到達正常運動,而且打印之前使用弱光定位,然后X軸移動到最左,Y軸移動到最外,使激光的光線照到紙張的左上角,以到達打印范圍最大化還有就是激光強度不要太高,太高不僅會將紙張燒穿而且還會導致打印時間變長,像我一般是選擇20-30左右
再有就是我的單片機是使用USB轉TTL模塊的供電的,而激光和電機是使用單獨供電的,并且電機和激光的電源與單片機的電源共地,因為電機和激光需要許多電流,共用一個電源會導致系統不穩定的,激光和電機的電源我使用的是手機充電器,將手機充電線改造成電源線
成本
支架一套       25元
激光散熱器 一個    9元
激光一個     32元
二相四線電機兩個   36元
L298N模塊兩個      13元
STC單片機 一個       6元
其余材料為以前所擁有的,未記,不過也不會太多,支架可以自己制作,當然看自己的能力了,電機可以用電腦光驅的電機

評分

參與人數 13黑幣 +173 收起 理由
rdsfds + 8
我放假快樂 + 5 絕世好帖!
qscvbn2552 + 5 很給力!
vvv64 + 5
ayn + 1 贊一個!
思念成風 + 5 贊一個!
tieq1952 + 10 很給力!
ateast99 + 5 贊一個!有圖有真相
天0 + 4 共享資料的黑幣獎勵!
練氏 + 12 共享資料的黑幣獎勵!
zqy181818 + 8 贊一個!
隨易而安 + 5 共享資料的黑幣獎勵!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

來自 2#
ID:235410 發表于 2017-10-21 00:54 | 只看該作者
會3d打印,就是不會激光雕刻,多謝大神分享,我想激光頭功率可以再大嗎,做到機關切割紙板等,還有那個軟件挺好,是怎么實時控制的呢?是用的USB轉TTL串口嗎?打算好好學習一下大神的作品。
回復

使用道具 舉報

來自 3#
ID:668822 發表于 2019-12-20 00:35 | 只看該作者
樓主你好!照你的做了一個,程序下載成功后和上位機通信無反應。換了幾個雕刻軟件都一樣。
所有元件均為好的。我對程序是個半吊子。
孤獨的我兩星期了還沒解決這個問題,誠懇高手給予幫助!
回復

使用道具 舉報

來自 4#
ID:668822 發表于 2019-12-21 20:00 | 只看該作者
ws1zxm 發表于 2019-12-20 00:35
樓主你好!照你的做了一個,程序下載成功后和上位機通信無反應。換了幾個雕刻軟件都一樣。
所有元件均為好 ...

各位黑友;經實踐程序是完全正確的。致于和上位機通信無反應,是要用樓主的上位機軟件才可行。
也就是說要下載樓主提供的軟件!
回復

使用道具 舉報

5#
ID:151661 發表于 2016-12-20 15:52 | 只看該作者
做過arduino的,有機會也做一個這樣的。
回復

使用道具 舉報

6#
ID:160984 發表于 2017-1-9 17:36 | 只看該作者
謝謝大師分享
回復

使用道具 舉報

7#
ID:147215 發表于 2017-1-14 08:38 | 只看該作者
謝謝分享!,,,,
回復

使用道具 舉報

8#
ID:159575 發表于 2017-1-18 13:48 來自手機 | 只看該作者
好啊,改天試試
回復

使用道具 舉報

9#
ID:157110 發表于 2017-1-19 19:50 | 只看該作者
厲害啊 恩
回復

使用道具 舉報

10#
ID:163574 發表于 2017-2-6 21:26 | 只看該作者
正在做,支架搭好了,就差驅動了&#128513;
回復

使用道具 舉報

11#
ID:73762 發表于 2017-2-7 09:55 | 只看該作者
謝謝分享!,
回復

使用道具 舉報

12#
ID:73762 發表于 2017-2-7 10:11 | 只看該作者

厲害啊 樓主
回復

使用道具 舉報

13#
ID:163711 發表于 2017-2-7 15:20 | 只看該作者
牛人!厲害啊!
回復

使用道具 舉報

14#
ID:163574 發表于 2017-2-18 15:00 | 只看該作者
我的不懂什么問題,發送不了數據
回復

使用道具 舉報

15#
ID:147920 發表于 2017-3-4 00:04 | 只看該作者
這個可以有,成本相對少點

謝謝分享
回復

使用道具 舉報

16#
ID:194389 發表于 2017-4-28 06:49 | 只看該作者
一直想做一個,苦于沒有思路,在打算開工。
回復

使用道具 舉報

17#
ID:157057 發表于 2017-5-1 08:54 | 只看該作者
好東西!
回復

使用道具 舉報

18#
ID:196326 發表于 2017-5-5 00:17 | 只看該作者
請問驅動stc單片機可以兼容用 A4988 或者 easydriver嗎  
回復

使用道具 舉報

19#
ID:196326 發表于 2017-5-5 00:38 | 只看該作者
激光和電機單獨供電是用什么電源適配器
回復

使用道具 舉報

20#
ID:154074 發表于 2017-5-9 10:01 | 只看該作者
良心好貼!
回復

使用道具 舉報

21#
ID:196311 發表于 2017-5-10 11:11 | 只看該作者
好東東,正想玩玩,做個記號等有錢了就來下載
回復

使用道具 舉報

22#
ID:138004 發表于 2017-5-10 15:19 | 只看該作者
51單片機的激光雕刻機
回復

使用道具 舉報

23#
ID:199111 發表于 2017-5-10 15:22 | 只看該作者
學單片機新手一枚。
回復

使用道具 舉報

24#
ID:89356 發表于 2017-5-13 02:28 來自手機 | 只看該作者
.學單片機新手一枚
回復

使用道具 舉報

25#
ID:209421 發表于 2017-6-21 07:04 | 只看該作者
做的很好,學習學習
回復

使用道具 舉報

26#
ID:232204 發表于 2017-9-10 11:40 | 只看該作者
贊贊贊
回復

使用道具 舉報

27#
ID:231862 發表于 2017-9-10 15:46 | 只看該作者
大佬,你的上位機在哪下的,你的程序用微雕管家也能雕刻嗎,我怎么連接不到設備呢,也是用51做的,用的你的程序
回復

使用道具 舉報

28#
ID:238040 發表于 2017-10-9 16:25 | 只看該作者
為了下載這個資料,注冊了這個賬號,無奈黒幣還不夠
回復

使用道具 舉報

29#
ID:201949 發表于 2017-10-17 10:28 | 只看該作者
不知stm32可以用這個上位機不?
回復

使用道具 舉報

30#
ID:119341 發表于 2017-10-17 12:36 | 只看該作者
太好了,不錯的帖子
回復

使用道具 舉報

31#
ID:240522 發表于 2017-10-22 09:20 | 只看該作者
先作為了解吧,先把我的光立方做完在考慮做這個!!!
回復

使用道具 舉報

32#
ID:187478 發表于 2017-10-22 15:49 | 只看該作者
好厲害
回復

使用道具 舉報

33#
ID:243247 發表于 2017-10-26 20:57 | 只看該作者
厲害,厲害!
回復

使用道具 舉報

34#
ID:225757 發表于 2017-11-1 20:33 | 只看該作者
厲害  厲害,受教了
回復

使用道具 舉報

35#
ID:245349 發表于 2017-11-2 21:57 | 只看該作者
學習了,特別關心上位機程序
回復

使用道具 舉報

36#
ID:246491 發表于 2017-11-6 12:45 | 只看該作者
真的很好,只可惜黑幣不夠下載不了。
回復

使用道具 舉報

37#
ID:246473 發表于 2017-11-10 08:35 | 只看該作者
這個能雕刻G代碼嗎?
回復

使用道具 舉報

38#
ID:248054 發表于 2017-11-10 14:13 | 只看該作者
有百度云嗎
回復

使用道具 舉報

39#
ID:249055 發表于 2017-11-14 15:54 | 只看該作者
一直想做一個 棒!
回復

使用道具 舉報

40#
ID:248218 發表于 2017-11-16 01:20 | 只看該作者
我也想做
回復

使用道具 舉報

41#
ID:243748 發表于 2017-11-16 11:09 來自手機 | 只看該作者
下載了,文件打不怎么回事,用什么軟件能打開?
回復

使用道具 舉報

42#
ID:248218 發表于 2017-11-16 16:46 | 只看該作者
贊一個!樓主還在不,出一個具體點的教成呀
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美极品视频在线观看 | www.日本在线观看 | av一二三区 | 91视频.com | 啪啪精品 | 午夜看看 | 欧美精品一区二区在线观看 | 99re| 久久久女女女女999久久 | 不卡一区二区在线观看 | 一级毛片视频 | 国产精品久久久久久久久久久久午夜片 | 久久手机在线视频 | 精品粉嫩aⅴ一区二区三区四区 | 成人免费在线电影 | 日韩中文字幕在线视频观看 | 99在线资源| 亚洲不卡在线观看 | 亚洲精品片| 亚洲一区国产精品 | 国产精品1| 最近日韩中文字幕 | 欧美视频成人 | 国产精品日韩欧美一区二区三区 | 蜜臀91视频| 亚洲视频一区在线 | 美女天天干天天操 | 国产97在线 | 日韩 | 成人免费网站视频 | 欧美在线网站 | 麻豆久久久久久久久久 | 亚洲最新在线视频 | 国产伊人久久久 | 不卡在线视频 | 免费成人高清 | 国产在线成人 | 欧美激情一区二区三级高清视频 | 亚洲国产欧美91 | 国产亚洲精品久久久久动 | 日韩综合在线 | 蜜桃视频成人 |