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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

我的移動偵查小車(多圖附程序)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:70941 發(fā)表于 2014-12-27 01:40 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
       在猶豫是做飛機(jī)還是小車很久以后,終于選擇做一個移動機(jī)器人。原因有以下幾點:1,飛機(jī)消耗太大。2,飛機(jī)空機(jī)無法DIY,少了樂趣。3,場地有限。4,和我的專業(yè)結(jié)合不緊密。5,輪式驅(qū)動好控制。
生活少了許多自由的時間,所以擠擠晚上睡覺的時間花了大約3周基本實現(xiàn)了機(jī)器人的移動控制,視頻傳輸。在以后會加上機(jī)械臂,各種傳感器,如果有可能還會弄弄視覺識別。
之所以說是移動機(jī)器人,是因為本身的定位比較高,我不希望用廉價的材料做出一個試驗型的小車。我要做就做實用的,一步到位的。錢倒不是什么問題,每個月的錢就夠買材料的。只是很多機(jī)械結(jié)構(gòu)沒有條件自己做,所以只好用成品。興趣是最好的老師,重在過程不在結(jié)果。
下面介紹我的車,由于做出來沒多久還有很多不足的地方,下一步就是要換一個更長的地盤,用6輪驅(qū)動,換大輪。
下面是基本完成后的小車:


完成了視頻傳輸?shù)男≤嚕桨咫娔X里面可以看到小車攝像頭拍到的視頻。

下面是各個部件:

1,TP-LINK 路由器  刷固件后用來進(jìn)行圖傳和數(shù)傳。淘寶上價格在150左右,已經(jīng)刷好了固件。


2,S606高清攝像頭 USB接頭,淘寶價在80左右


3,裝好2自由度舵機(jī)云臺的攝像頭


4,裝好的小車底盤。85MM輪,37MM電機(jī),20X15CM底盤。


5,小車底盤和37金屬電機(jī)。金屬電機(jī)24元一個,輪12元一個。


6,L298電機(jī)驅(qū)動模塊


7,安裝好電池和保護(hù)板及充電電路。


8,九節(jié)18650鋰電形成的電池組。3并3串,11.2V


9,控制電路。采用STC89C52單片機(jī)。


10,上板前視圖。有四個LED大燈


11,RS232電平轉(zhuǎn)換模塊


12,整機(jī)仰視圖


13,上底板三層積木構(gòu)架


14,繼電器和限流降壓模塊。



15,整機(jī)圖

下面介紹一下小車的基本原理



一,小車的圖傳和數(shù)傳原理:
本小車采用開源的無線路由器進(jìn)行圖傳和數(shù)傳。圖傳主要是將攝像頭視頻通過路由器傳輸?shù)缴衔粰C(jī)上。數(shù)傳主要是用上位機(jī)軟件進(jìn)行小車的控制,如行走,轉(zhuǎn)彎。
關(guān)于路由器的固件刷機(jī),參照網(wǎng)址:http://www.wifi-robots.com/
二,小車的下位機(jī)控制部分:
本著DIY的目的,采用了51單片機(jī)加L298電機(jī)驅(qū)動。具體采用了STC89C52單片機(jī)。具體C源程序在后面,已通過測試。
三,小車的底盤部分:
采用6061鋁,37MM金屬減速電機(jī),85MM輪。采用四輪驅(qū)動。
四,小車電源部分:
采用9節(jié)18650鋰電。通過實際運(yùn)行動力強(qiáng)勁,續(xù)航強(qiáng)。電池采用3X3連接,共11V輸出。電源部分設(shè)計了充電保護(hù)板和輸出保險設(shè)計。
五,大燈電路;
采用四個大功率LED,繼電器模塊和限流模塊。
,  設(shè)計了對講機(jī)電路
七,還未設(shè)計紅外避障,超聲波測距等

附51單片機(jī)源程序:
  1. #include<reg52.h>

  2. #include<math.h>

  3. #include<intrins.h>

  4. #define uchar unsigned char

  5. #define uint unsigned int

  6. uchar Buffer =0; //從串口接收的數(shù)據(jù)

  7. uint URTAReceivedCount=0,n=1;

  8. uchar data Tempdatatable[5],CommandDatatable[5];//數(shù)據(jù)包

  9. uchar serVal[2];
  10. uint pwm[]={1120,1190,1382,1382,1382,1382,1382,1382}; //初始90度,(實際是1382.4,取整得1382)
  11. uchar pwm_flag=0;
  12. uint code ms0_5Con=461; //0.5ms計數(shù) (實際是460.8,取整得461)
  13. uint code ms2_5Con=2304; //2.5ms計數(shù)


  14. bit key_stime_ok;
  15. sbit StatusLight=P3^6; //狀態(tài)燈
  16. sbit MainLight=P3^7; //主大燈
  17. sbit servo0=P0^0; //舵機(jī)控制
  18. sbit servo1=P0^1;
  19. sbit servo2=P0^2;
  20. sbit servo3=P0^3;
  21. sbit servo4=P0^4;
  22. sbit servo5=P0^5;
  23. sbit servo6=P0^6;
  24. sbit servo7=P0^7;
  25. /********************************************************************
  26. * 名稱 : Delay_1ms()
  27. * 功能 : 延時子程序,延時時間為 1ms * x
  28. * 輸入 : x (延時一毫秒的個數(shù))
  29. * 輸出 : 無
  30. ***********************************************************************/
  31. void Delay_1ms(uint i)//1ms延時
  32. {
  33. uchar x,j;
  34. for(j=0;j<i;j++)
  35. for(x=0;x<=148;x++);
  36. }

  37. void TurnOnStatusLight()
  38. {
  39. StatusLight=0;
  40. }
  41. /********************************************************************
  42. * 名稱 : Send_Data()
  43. * 功能 : 向上位機(jī)傳送字符
  44. * 輸入 : 無
  45. * 輸出 : 無
  46. ***********************************************************************/
  47. void Send_Data(uchar type,uchar cmd,uchar dat)
  48. {
  49. uchar data Buffer[5];//構(gòu)建數(shù)據(jù)包
  50. uchar *p;
  51. uint Send_Count=0;
  52. p = Buffer;
  53. Buffer[0]=0XFF;
  54. Buffer[1]=type;
  55. Buffer[2]=cmd;
  56. Buffer[3]=dat;
  57. Buffer[4]=0XFF;
  58. while(1)
  59. {
  60. if(*p==0XFF)
  61. {
  62. Send_Count++; //0XFF標(biāo)志統(tǒng)計位
  63. }
  64. SBUF = *p; //發(fā)送
  65. while(!TI) //如果發(fā)送完畢,硬件會置位TI,等待發(fā)送完畢
  66. {
  67. _nop_();
  68. }
  69. p++;
  70. TI = 0;
  71. if(Send_Count == 2) //當(dāng)統(tǒng)計到兩次出現(xiàn)0XFF,則認(rèn)為一個數(shù)據(jù)包發(fā)送完畢,跳出循環(huán)
  72. {
  73. TI = 0;
  74. break;
  75. }
  76. }
  77. }
  78. /********************************************************************
  79. 協(xié)議規(guī)定:
  80. 包頭 類型位 數(shù)據(jù)位 數(shù)據(jù)位 結(jié)束位
  81. 0XFF 0X** OX** 0X** 0XFF
  82. 各命令說明:
  83. 類型位 數(shù)據(jù)位 數(shù)據(jù)位 功能

  84. 0X00 0X02 0X00 前進(jìn)
  85. 0X00 0X01 0X00 后退
  86. 0X00 0X03 0X00 左轉(zhuǎn)
  87. 0X00 0X04 0X00 右轉(zhuǎn)
  88. 0X00 0X00 0X00 停止

  89. 0X01 0X01 角度 舵機(jī)1
  90. 0X01 0X02 . 舵機(jī)2
  91. 0X01 0X01 . 舵機(jī)3
  92. 0X01 0X02 . 舵機(jī)4
  93. 0X01 0X01 . 舵機(jī)5
  94. 0X01 0X02 . 舵機(jī)6
  95. 0X01 0X01 . 舵機(jī)7
  96. 0X01 0X02 數(shù)據(jù) 舵機(jī)8

  97. 0X02 0X01 車燈亮
  98. 0X02 0X02 車燈滅

  99. 0X03 雷達(dá)數(shù)據(jù) 發(fā)送雷達(dá)數(shù)據(jù)
  100. ***********************************************************************/
  101. /********************************************************************
  102. * 名稱 : Com_Int()
  103. * 功能 : 串口中斷子函數(shù)
  104. ***********************************************************************/
  105. void Com_Int(void) interrupt 4
  106. {
  107. uchar temp;
  108. ES=0; //關(guān)串口中斷
  109. RI=0; //軟件清除接收中斷
  110. temp=SBUF;
  111. if(temp==0XFF && URTAReceivedCount<3)
  112. {
  113. Tempdatatable[0]==0XFF; //包頭
  114. URTAReceivedCount++;
  115. }
  116. else
  117. {
  118. Tempdatatable[n]=temp;
  119. n++;
  120. if(URTAReceivedCount==0&&n==2)
  121. n=1;
  122. }

  123. if(URTAReceivedCount==2)//包尾
  124. {
  125. Tempdatatable[0]=0XFF;
  126. Tempdatatable[4]=0XFF;
  127. n=1;
  128. URTAReceivedCount=0; //組包完畢
  129. temp="";
  130. // Send_Data(Tempdatatable[1],Tempdatatable[2],Tempdatatable[3]); //發(fā)送組成的數(shù)據(jù)包回去
  131. }

  132. CommandDatatable[0]=Tempdatatable[0];
  133. CommandDatatable[1]=Tempdatatable[1];
  134. CommandDatatable[2]=Tempdatatable[2];
  135. CommandDatatable[3]=Tempdatatable[3];
  136. CommandDatatable[4]=Tempdatatable[4];

  137. ES=1;//開串口中斷


  138. }

  139. /********************************************************************
  140. * 名稱 : Com_Init()
  141. * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
  142. ***********************************************************************/
  143. void Com_Init(void)
  144. {
  145. TMOD = 0x21;
  146. PCON = 0x00;
  147. SCON = 0x50;
  148. TH1 = 0xFd; //設(shè)置波特率 9600
  149. TL1 = 0xFd;
  150. TR1 = 1; //啟動定時器1
  151. ES = 1; //開串口中斷
  152. EA = 1; //開總中斷
  153. IT0=0;
  154. EX0=1;
  155. }

  156. /********************************************************************
  157. * 名稱 :Moto_Forward()
  158. * 功能 : 電機(jī)1、2啟動,都是前進(jìn),整車表現(xiàn)為前進(jìn)。
  159. ***********************************************************************/
  160. void Moto_Forward()
  161. {
  162. P2= 0x55;
  163. Delay_1ms(100);
  164. }
  165. /********************************************************************
  166. * 名稱 :Moto_Backward()
  167. * 功能 : 電機(jī)1、2啟動,都是后退,整車表現(xiàn)為后退。
  168. ***********************************************************************/
  169. void Moto_Backward()
  170. {

  171. P2= 0xaa;
  172. Delay_1ms(100);
  173. }

  174. /********************************************************************
  175. * 名稱 :Moto_TurnLeft()
  176. * 功能 : 電機(jī)1后退,電機(jī)2前進(jìn),整車表現(xiàn)為左轉(zhuǎn)。
  177. ***********************************************************************/
  178. void Moto_TurnLeft()
  179. {
  180. P2= 0x69;
  181. Delay_1ms(100);
  182. }
  183. /********************************************************************
  184. * 名稱 :Moto_TurnRight()
  185. * 功能 : 電機(jī)1前進(jìn),電機(jī)2后退,整車表現(xiàn)為右轉(zhuǎn)。
  186. ***********************************************************************/
  187. void Moto_TurnRight()
  188. {
  189. P2= 0x96;
  190. Delay_1ms(100);
  191. }
  192. /********************************************************************
  193. * 名稱 :Moto_Stop()
  194. * 功能 : 電機(jī)1停止,電機(jī)2停止,整車表現(xiàn)為停止。
  195. ***********************************************************************/
  196. void Moto_Stop()
  197. {

  198. P2= 0x00;
  199. Delay_1ms(100);
  200. }
  201. /********************************************************************
  202. * 功能 : 舵機(jī)PWM中斷初始化
  203. ***********************************************************************/
  204. void Timer0Init()
  205. {
  206. /*0度=0.5ms, 45度=1ms, 90度=1.5ms, 135度=2ms, 180度=2.5ms
  207. /.5 ms初始值 F700, (12n/11059200=2.5/1000, n=2304, X=65536-2304=63232 > F700)*/
  208. TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
  209. TH0=-ms2_5Con>>8; //給定初值,17ms中斷
  210. TL0=-ms2_5Con;
  211. EA=1; //總中斷打開
  212. ET0=1; //定時器0中斷打開
  213. TR0=1; //定時器0開關(guān)打開
  214. }
  215. /********************************************************************
  216. * 功能 : 舵機(jī)PWM中斷, //舵機(jī)控制函數(shù) 周期為20ms 一個循環(huán)20MS = 8*2.5ms
  217. ***********************************************************************/
  218. void SteeringGear() interrupt 1
  219. {
  220. switch(pwm_flag)
  221. {
  222. case 1: servo0=1; TH0=-pwm[0]>>8; TL0=-pwm[0]; break;
  223. case 2: servo0=0; TH0=-(ms2_5Con-pwm[0])>>8; TL0=-(ms2_5Con-pwm[0]); break;
  224. case 3: servo1=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break;
  225. case 4: servo1=0; TH0=-(ms2_5Con-pwm[1])>>8; TL0=-(ms2_5Con-pwm[1]); break;
  226. case 5: servo2=1; TH0=-pwm[2]>>8; TL0=-pwm[2]; break;
  227. case 6: servo2=0; TH0=-(ms2_5Con-pwm[2])>>8; TL0=-(ms2_5Con-pwm[2]); break;
  228. case 7: servo3=1; TH0=-pwm[3]>>8; TL0=-pwm[3]; break;
  229. case 8: servo3=0; TH0=-(ms2_5Con-pwm[3])>>8; TL0=-(ms2_5Con-pwm[3]); break;
  230. case 9: servo4=1; TH0=-pwm[4]>>8; TL0=-pwm[4]; break;
  231. case 10: servo4=0; TH0=-(ms2_5Con-pwm[4])>>8; TL0=-(ms2_5Con-pwm[4]); break;
  232. case 11: servo5=1; TH0=-pwm[5]>>8; TL0=-pwm[5]; break;
  233. case 12: servo5=0; TH0=-(ms2_5Con-pwm[5])>>8; TL0=-(ms2_5Con-pwm[5]); break;
  234. case 13: servo6=1;TH0=-pwm[6]>>8; TL0=-pwm[6]; break;
  235. case 14: servo6=0;TH0=-(ms2_5Con-pwm[6])>>8; TL0=-(ms2_5Con-pwm[6]); break;
  236. case 15: servo7=1;TH0=-pwm[7]>>8; TL0=-pwm[7]; break;
  237. case 16: servo7=0;TH0=-(ms2_5Con-pwm[7])>>8; TL0=-(ms2_5Con-pwm[7]); break;
  238. default: TH0=0xff; TL0=0x80; pwm_flag=0;
  239. }
  240. pwm_flag++;
  241. }

  242. void SetSteeringGear(uchar i, uchar val)
  243. {
  244. uint a = (val+46)*10;
  245. if(a<ms0_5Con)
  246. a=ms0_5Con;
  247. if(a>ms2_5Con)
  248. a=ms2_5Con;
  249. pwm[ i]=a;
  250. CommandDatatable[2]=0xff; //清除緩存
  251. }

  252. /********************************************************************
  253. * 功能 : 串口中斷接收數(shù)據(jù)
  254. ***********************************************************************/
  255. /*********************************************************************************
  256. ** 函數(shù)功能 : 主函數(shù)
  257. *********************************************************************************/
  258. void main()
  259. {
  260. MainLight=0;
  261. Delay_1ms(200);
  262. Com_Init();//串口初始化
  263. Timer0Init();//舵機(jī)PWM中斷初始化
  264. while(1)
  265. {
  266. if(CommandDatatable[0]==0XFF && CommandDatatable[4]==0XFF)
  267. {
  268. switch (CommandDatatable[1]) //根據(jù)鍵值不同,執(zhí)行不同的內(nèi)容
  269. {
  270. case 0X00: //類型位0X00,表明是控制數(shù)據(jù)包,進(jìn)入控制數(shù)據(jù)case
  271. switch(CommandDatatable[2]) //根據(jù)數(shù)據(jù)位的值來進(jìn)行選擇執(zhí)行不同的動作
  272. {
  273. case 0X00:Moto_Stop();break;
  274. case 0X01:Moto_Forward();break;
  275. case 0X02:Moto_Backward();break;
  276. case 0X03:Moto_TurnLeft();break;
  277. case 0X04:Moto_TurnRight();break;
  278. default : break;
  279. }
  280. break;
  281. case 0X01: //類型位0X01,表明是舵機(jī)數(shù)據(jù)包,進(jìn)入舵機(jī)case
  282. switch(CommandDatatable[2])
  283. {
  284. case 0x01:SetSteeringGear(0,CommandDatatable[3]);break;
  285. case 0x02:SetSteeringGear(1,CommandDatatable[3]);break;
  286. case 0x03:SetSteeringGear(2,CommandDatatable[3]);break;
  287. case 0x04:SetSteeringGear(3,CommandDatatable[3]);break;
  288. case 0x05:SetSteeringGear(4,CommandDatatable[3]);break;
  289. case 0x06:SetSteeringGear(5,CommandDatatable[3]);break;
  290. case 0x07:SetSteeringGear(6,CommandDatatable[3]);break;
  291. case 0x08:SetSteeringGear(7,CommandDatatable[3]);break;
  292. default : break;
  293. }
  294. break;
  295. case 0X02: //類型位0X02,表明是大燈數(shù)據(jù)包,進(jìn)入大燈case
  296. switch(CommandDatatable[2])
  297. {
  298. case 0X01:MainLight=1;break;
  299. case 0X02:MainLight=0;break;
  300. default : break;
  301. }
  302. break;
  303. default : break;
  304. }
  305. }
  306. }
  307. }
復(fù)制代碼



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

使用道具 舉報

27#
ID:226003 發(fā)表于 2017-9-22 10:40 | 只看該作者
能不能請教一下啊,51單片機(jī)處理視頻數(shù)據(jù)速度跟的上嗎
回復(fù)

使用道具 舉報

26#
ID:196216 發(fā)表于 2017-6-12 18:38 | 只看該作者
能具體說一下攝像頭部分嗎 萬分感謝 QQ1275171943
回復(fù)

使用道具 舉報

25#
ID:101775 發(fā)表于 2017-5-18 02:26 來自觸屏版 | 只看該作者
mark一下~
回復(fù)

使用道具 舉報

24#
ID:182808 發(fā)表于 2017-3-23 16:17 | 只看該作者
很好的創(chuàng)意頂起!
回復(fù)

使用道具 舉報

23#
ID:177855 發(fā)表于 2017-3-21 23:07 | 只看該作者
非常NB。。。。學(xué)習(xí)了
回復(fù)

使用道具 舉報

22#
ID:148074 發(fā)表于 2016-11-15 17:16 | 只看該作者
不錯不錯
回復(fù)

使用道具 舉報

21#
ID:146651 發(fā)表于 2016-11-8 08:23 | 只看該作者
樓主厲害,追求完全DIY!和樓主探討一下,那就是用模型用的鋰電換下那個18650組成的電池組是否可行,體積可以減小不少,而且各種放電倍率可以根據(jù)需要來選擇,而且充電口也是標(biāo)準(zhǔn)的,可以很方便的使用充電器進(jìn)行平衡充放電。
回復(fù)

使用道具 舉報

20#
ID:74784 發(fā)表于 2016-8-7 02:41 | 只看該作者
騰飛的龍 發(fā)表于 2015-8-6 14:12
這是我做的載人小車

求更多載人小車的資料~~~~~~~~~~~~~~謝謝!
回復(fù)

使用道具 舉報

19#
ID:114460 發(fā)表于 2016-4-16 23:29 | 只看該作者
在這居然能碰到校友
回復(fù)

使用道具 舉報

18#
ID:87902 發(fā)表于 2015-8-8 09:24 | 只看該作者
喜歡這些
回復(fù)

使用道具 舉報

17#
ID:79544 發(fā)表于 2015-8-6 14:12 | 只看該作者
yesonjob 發(fā)表于 2015-4-23 17:34
大神~
我的目標(biāo)也是自己制作一個大型點的小車。

這是我做的載人小車

IMG_20150326_180402.jpg (664.49 KB, 下載次數(shù): 232)

我做的載人小車

我做的載人小車
回復(fù)

使用道具 舉報

16#
ID:52048 發(fā)表于 2015-8-5 15:39 | 只看該作者
攝像頭還是大了點
回復(fù)

使用道具 舉報

15#
ID:79544 發(fā)表于 2015-8-3 19:47 | 只看該作者
這只是下位機(jī)程序,上位機(jī)的APP呢?求解謝謝。
回復(fù)

使用道具 舉報

14#
ID:85059 發(fā)表于 2015-7-16 06:15 | 只看該作者
這才是真正的高手,學(xué)習(xí)中
回復(fù)

使用道具 舉報

13#
ID:61343 發(fā)表于 2015-7-13 10:13 | 只看該作者
厲害  高手
回復(fù)

使用道具 舉報

12#
ID:82808 發(fā)表于 2015-6-14 09:31 | 只看該作者
厲害  高手
回復(fù)

使用道具 舉報

11#
ID:74245 發(fā)表于 2015-4-23 17:34 | 只看該作者
大神~
我的目標(biāo)也是自己制作一個大型點的小車。
回復(fù)

使用道具 舉報

10#
ID:77523 發(fā)表于 2015-4-23 14:32 來自觸屏版 | 只看該作者
感謝分享~!!!
回復(fù)

使用道具 舉報

9#
ID:53925 發(fā)表于 2015-4-22 22:28 | 只看該作者
學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報

8#
ID:77579 發(fā)表于 2015-4-21 10:36 | 只看該作者
牛逼,希望我也能做出
回復(fù)

使用道具 舉報

7#
ID:77579 發(fā)表于 2015-4-21 10:35 | 只看該作者
牛逼!!!!!!!
回復(fù)

使用道具 舉報

6#
ID:77329 發(fā)表于 2015-4-19 13:29 來自觸屏版 | 只看該作者
牛  厲害
回復(fù)

使用道具 舉報

5#
ID:16408 發(fā)表于 2015-3-14 10:52 | 只看該作者
動力十足
回復(fù)

使用道具 舉報

地板
ID:73964 發(fā)表于 2015-3-1 22:23 | 只看該作者
看樣子很性  不錯
回復(fù)

使用道具 舉報

板凳
ID:73684 發(fā)表于 2015-2-16 11:21 來自觸屏版 | 只看該作者
這個我喜歡,頂一個
回復(fù)

使用道具 舉報

沙發(fā)
ID:48413 發(fā)表于 2015-2-14 19:18 | 只看該作者
樓主能發(fā)個電路圖吧
minmin_6666@163.com
回復(fù)

使用道具 舉報

樓主
ID:56903 發(fā)表于 2015-1-22 11:12 | 只看該作者
厲害!!!!!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久久久久久久 | 欧美一区二区三区视频 | 人人爽av| 成人在线播放视频 | 亚洲五月婷婷 | 中文字幕在线看片 | 日本久久精品视频 | 黄在线免费观看 | 国产精品黄 | 国产亚洲视频在线观看 | 中文字幕1区 | 男人亚洲天堂 | 一区二区福利 | 国产精品96 | 色综合天天 | 四虎在线免费视频 | 成人激情视频在线观看 | 欧美日韩亚洲一区二区 | 亚洲激情综合网 | 亚洲精品视频一区 | 日韩欧美专区 | 欧美网站在线观看 | 国产不卡视频 | 精品伊人久久 | 夜夜操夜夜操 | 国产亚洲天堂 | 国产农村妇女精品一二区 | 伊人久久av | 亚洲精品乱码久久久久 | 国产精品美女毛片真酒店 | 欧美日韩亚洲视频 | 成人免费视频网址 | 91免费黄 | www.av在线播放 | 97自拍视频| 91久久久久久久久久久 | 免费毛片在线播放 | 91成人精品一区在线播放 | 成人h片在线观看 | 青青草视频污 | 欧美日本国产 |