wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9393|回復: 11
收起左側

ADXL345傾角傳感器的51單片機源程序

  [復制鏈接]
ID:247060 發表于 2018-4-12 22:12 | 顯示全部樓層 |閱讀模式
這是自己做的一個小程序,用到了STC12C5160S2這塊單片機芯片做控制,實現ADXL345傾角傳感器模塊測量角度

單片機源程序如下:
  1. /********************************************************************
  2. * 文件名  :GY-29 ADXL345 測角度,角度值顯示
  3. * 創建人  :飛翔的貓
  4. * 描述    : 該文件實現了用GY-29 ADXL345角度的采集,并在數碼管上顯示出來。
  5.                         使用單片機STC89C51
  6. *晶振          :11.0592M
  7. *顯示     :LCD1602
  8. *編譯環境 :Keil uVision4
  9. ****************************************/
  10. #include  <REG51.H>       
  11. #include  <math.h>    //Keil library  
  12. #include  <stdio.h>   //Keil library       
  13. #include  <INTRINS.H>
  14. #define   uchar unsigned char
  15. #define   uint unsigned int       

  16. //這個一定要根據自己接的引腳來改,否則不出數據
  17. sbit          SCL=P2^0;      //IIC時鐘引腳定義
  18. sbit           SDA=P2^1;      //IIC數據引腳定義

  19. #define   DataPort P0    //LCD1602數據端口
  20. sbit      LCM_RS=P2^4;   //LCD1602命令端口               
  21. sbit      LCM_RW=P2^5;   //LCD1602命令端口               
  22. sbit      LCM_EN=P2^7;   //LCD1602命令端口

  23. #define        SlaveAddress   0xA6          //定義器件在IIC總線中的從地址,根據ALT  ADDRESS地址引腳不同修改
  24.                               //ALT  ADDRESS引腳接地時地址為0xA6,接電源時地址為0x3A
  25. typedef unsigned char  BYTE;
  26. typedef unsigned short WORD;

  27. BYTE BUF[8];                         //接收數據緩存區             
  28. uchar ge,shi,bai,qian,wan;           //顯示變量
  29. int  dis_data;                       //變量
  30. int  data_xyz[3];



  31. void delay(unsigned int k);
  32. void InitLcd();                      //初始化lcd1602
  33. void Init_ADXL345(void);             //初始化ADXL345

  34. void WriteDataLCM(uchar dataW);
  35. void WriteCommandLCM(uchar CMD,uchar Attribc);
  36. void DisplayOneChar(uchar X,uchar Y,uchar DData);
  37. void conversion(uint temp_data);

  38. void  Single_Write_ADXL345(uchar REG_Address,uchar REG_data);   //單個寫入數據
  39. uchar Single_Read_ADXL345(uchar REG_Address);                   //單個讀取內部寄存器數據
  40. void Mutiple_Read_ADXL345(void);     
  41. void clear(void);                               //連續的讀取內部寄存器數據
  42. //------------------------------------
  43. void Delay5us();
  44. void Delay5ms();
  45. void ADXL345_Start();
  46. void ADXL345_Stop();
  47. void ADXL345_SendACK(bit ack);
  48. bit  ADXL345_RecvACK();
  49. void ADXL345_SendByte(BYTE dat);
  50. BYTE ADXL345_RecvByte();
  51. void ADXL345_ReadPage();
  52. void ADXL345_WritePage();
  53. //-----------------------------------

  54. //*********************************************************
  55. void conversion(uint temp_data)  
  56. {  
  57.     wan=temp_data/10000+0x30 ;
  58.     temp_data=temp_data%10000;   //取余運算
  59.         qian=temp_data/1000+0x30 ;
  60.     temp_data=temp_data%1000;    //取余運算
  61.     bai=temp_data/100+0x30   ;
  62.     temp_data=temp_data%100;     //取余運算
  63.     shi=temp_data/10+0x30    ;
  64.     temp_data=temp_data%10;      //取余運算
  65.     ge=temp_data+0x30;        
  66. }

  67. /*******************************/
  68. void delay(unsigned int k)       
  69. {                                               
  70. unsigned int i,j;                               
  71. for(i=0;i<k;i++)
  72. {                       
  73. for(j=0;j<121;j++)                       
  74. {;}}                                               
  75. }
  76. /*******************************/
  77. void WaitForEnable(void)       
  78. {                                       
  79. DataPort=0xff;               
  80. LCM_RS=0;LCM_RW=1;_nop_();
  81. LCM_EN=1;_nop_();_nop_();
  82. while(DataPort&0x80);       
  83. LCM_EN=0;                               
  84. }                                       
  85. /*******************************/
  86. void WriteCommandLCM(uchar CMD,uchar Attribc)
  87. {                                       
  88. if(Attribc)WaitForEnable();       
  89. LCM_RS=0;LCM_RW=0;_nop_();
  90. DataPort=CMD;_nop_();       
  91. LCM_EN=1;_nop_();_nop_();LCM_EN=0;
  92. }                                       
  93. /*******************************/
  94. void WriteDataLCM(uchar dataW)
  95. {                                       
  96. WaitForEnable();               
  97. LCM_RS=1;LCM_RW=0;_nop_();
  98. DataPort=dataW;_nop_();       
  99. LCM_EN=1;_nop_();_nop_();LCM_EN=0;
  100. }               
  101. /***********************************/
  102. void InitLcd()                        //液晶顯示器的設置       
  103. {                       
  104. WriteCommandLCM(0x38,1);       
  105. WriteCommandLCM(0x08,1);       
  106. WriteCommandLCM(0x01,1);       
  107. WriteCommandLCM(0x06,1);       
  108. WriteCommandLCM(0x0c,1);
  109. }                       
  110. /***********************************/
  111. void DisplayOneChar(uchar X,uchar Y,uchar DData)
  112. {                                               
  113. Y&=1;                                               
  114. X&=15;                                               
  115. if(Y)X|=0x40;                                       
  116. X|=0x80;                       
  117. WriteCommandLCM(X,0);               
  118. WriteDataLCM(DData);               
  119. }                                               

  120. /**************************************
  121. 延時5微秒(STC90C52RC@12M)
  122. 不同的工作環境,需要調整此函數,注意時鐘過快時需要修改
  123. 當改用1T的MCU時,請調整此延時函數
  124. **************************************/
  125. void Delay5us()
  126. {
  127.     _nop_();_nop_();_nop_();_nop_();
  128.     _nop_();_nop_();_nop_();_nop_();
  129.         _nop_();_nop_();_nop_();_nop_();
  130. }

  131. /**************************************
  132. 延時5毫秒(STC90C52RC@12M)
  133. 不同的工作環境,需要調整此函數
  134. 當改用1T的MCU時,請調整此延時函數
  135. **************************************/
  136. void Delay5ms()
  137. {
  138.     WORD n = 560;

  139.     while (n--);
  140. }

  141. /**************************************
  142. 起始信號
  143. **************************************/
  144. void ADXL345_Start()
  145. {
  146.     SDA = 1;                    //拉高數據線
  147.     SCL = 1;                    //拉高時鐘線
  148.     Delay5us();                 //延時
  149.     SDA = 0;                    //產生下降沿
  150.     Delay5us();                 //延時
  151.     SCL = 0;                    //拉低時鐘線
  152. }

  153. /**************************************
  154. 停止信號
  155. **************************************/
  156. void ADXL345_Stop()
  157. {
  158.     SDA = 0;                    //拉低數據線
  159.     SCL = 1;                    //拉高時鐘線
  160.     Delay5us();                 //延時
  161.     SDA = 1;                    //產生上升沿
  162.     Delay5us();                 //延時
  163. }

  164. /**************************************
  165. 發送應答信號
  166. 入口參數:ack (0:ACK 1:NAK)
  167. **************************************/
  168. void ADXL345_SendACK(bit ack)
  169. {
  170.     SDA = ack;                  //寫應答信號
  171.     SCL = 1;                    //拉高時鐘線
  172.     Delay5us();                 //延時
  173.     SCL = 0;                    //拉低時鐘線
  174.     Delay5us();                 //延時
  175. }

  176. /**************************************
  177. 接收應答信號
  178. **************************************/
  179. bit ADXL345_RecvACK()
  180. {
  181.     SCL = 1;                    //拉高時鐘線
  182.     Delay5us();                 //延時
  183.     CY = SDA;                   //讀應答信號
  184.     SCL = 0;                    //拉低時鐘線
  185.     Delay5us();                 //延時

  186.     return CY;
  187. }

  188. /**************************************
  189. 向IIC總線發送一個字節數據
  190. **************************************/
  191. void ADXL345_SendByte(BYTE dat)
  192. {
  193.     BYTE i;

  194.     for (i=0; i<8; i++)         //8位計數器
  195.     {
  196.         dat <<= 1;              //移出數據的最高位
  197.         SDA = CY;               //送數據口
  198.         SCL = 1;                //拉高時鐘線
  199.         Delay5us();             //延時
  200.         SCL = 0;                //拉低時鐘線
  201.         Delay5us();             //延時
  202.     }
  203.     ADXL345_RecvACK();
  204. }

  205. /**************************************
  206. 從IIC總線接收一個字節數據
  207. **************************************/
  208. BYTE ADXL345_RecvByte()
  209. {
  210.     BYTE i;
  211.     BYTE dat = 0;

  212.     SDA = 1;                    //使能內部上拉,準備讀取數據,
  213.     for (i=0; i<8; i++)         //8位計數器
  214.     {
  215.         dat <<= 1;
  216.         SCL = 1;                //拉高時鐘線
  217.         Delay5us();             //延時
  218.         dat |= SDA;             //讀數據               
  219.         SCL = 0;                //拉低時鐘線
  220.         Delay5us();             //延時
  221.     }
  222.     return dat;
  223. }

  224. //******單字節寫入*******************************************

  225. void Single_Write_ADXL345(uchar REG_Address,uchar REG_data)
  226. {
  227.     ADXL345_Start();                  //起始信號
  228.     ADXL345_SendByte(SlaveAddress);   //發送設備地址+寫信號
  229.     ADXL345_SendByte(REG_Address);    //內部寄存器地址,請參考中文pdf22頁
  230.     ADXL345_SendByte(REG_data);       //內部寄存器數據,請參考中文pdf22頁
  231.     ADXL345_Stop();                   //發送停止信號
  232. }

  233. //********單字節讀取*****************************************
  234. uchar Single_Read_ADXL345(uchar REG_Address)
  235. {  uchar REG_data;
  236.     ADXL345_Start();                          //起始信號
  237.     ADXL345_SendByte(SlaveAddress);           //發送設備地址+寫信號
  238.     ADXL345_SendByte(REG_Address);                   //發送存儲單元地址,從0開始       
  239.     ADXL345_Start();                          //起始信號
  240.     ADXL345_SendByte(SlaveAddress+1);         //發送設備地址+讀信號
  241.     REG_data=ADXL345_RecvByte();              //讀出寄存器數據
  242.         ADXL345_SendACK(1);   
  243.         ADXL345_Stop();                           //停止信號
  244.     return REG_data;
  245. }
  246. //*********************************************************
  247. //
  248. //連續讀出ADXL345內部加速度數據,地址范圍0x32~0x37
  249. //
  250. //*********************************************************
  251. void Mutiple_Read_ADXL345()
  252. {   uchar i;
  253.     ADXL345_Start();  
  254.                                 //起始信號
  255.     ADXL345_SendByte(SlaveAddress);           //發送設備地址+寫信號
  256.     ADXL345_SendByte(0x32);                   //發送存儲單元地址,從0x32開始       
  257.     ADXL345_Start();                          //起始信號
  258.     ADXL345_SendByte(SlaveAddress+1);         //發送設備地址+讀信號
  259.         for (i=0; i<6; i++)                      //連續讀取6個地址數據,存儲中BUF
  260.     {
  261.         BUF[i] = ADXL345_RecvByte();          //BUF[0]存儲0x32地址中的數據
  262.                 //BUF[i]=i;
  263.         if (i == 5)
  264.         {
  265.            ADXL345_SendACK(1);                //最后一個數據需要回NOACK
  266.         }
  267.         else
  268.         {
  269.            ADXL345_SendACK(0);                //回應ACK
  270.        }
  271.    }
  272.     ADXL345_Stop();                          //停止信號
  273.     Delay5ms();
  274. }
  275. //*****************************************************************

  276. void clear(void)
  277. {   uchar i;
  278.     ADXL345_Start();  
  279.                                 //起始信號
  280.     ADXL345_SendByte(SlaveAddress);           //發送設備地址+寫信號
  281.     ADXL345_SendByte(0x32);                   //發送存儲單元地址,從0x32開始       
  282.     ADXL345_Start();                          //起始信號
  283.     ADXL345_SendByte(SlaveAddress+1);         //發送設備地址+讀信號
  284.          for (i=0; i<6; i++)                      //連續讀取6個地址數據,存儲中BUF
  285.     {
  286.         //BUF[i] = ADXL345_RecvByte();          //BUF[0]存儲0x32地址中的數據
  287.                 BUF[i]=i;
  288.         if (i == 5)
  289.         {
  290.            ADXL345_SendACK(1);                //最后一個數據需要回NOACK
  291.         }
  292.         else
  293.         {
  294.            ADXL345_SendACK(0);                //回應ACK
  295.        }
  296.    }
  297.     ADXL345_Stop();                          //停止信號
  298.     Delay5ms();
  299. }
  300. //*****************************************************************

  301. //初始化ADXL345,根據需要請參考pdf進行修改************************
  302. void Init_ADXL345()
  303. {
  304.    Single_Write_ADXL345(0x31,0x0B);   //測量范圍,正負16g,13位模式
  305.    Single_Write_ADXL345(0x2C,0x08);   //速率設定為12.5 參考pdf13頁
  306.    Single_Write_ADXL345(0x2D,0x08);   //選擇電源模式   參考pdf24頁
  307.    Single_Write_ADXL345(0x2E,0x80);   //使能 DATA_READY 中斷
  308.    Single_Write_ADXL345(0x1E,0x00);   //X 偏移量 根據測試傳感器的狀態寫入pdf29頁
  309.    Single_Write_ADXL345(0x1F,0x00);   //Y 偏移量 根據測試傳感器的狀態寫入pdf29頁
  310.    Single_Write_ADXL345(0x20,0x05);   //Z 偏移量 根據測試傳感器的狀態寫入pdf29頁
  311. }
  312. //***********************************************************************
  313. //顯示x軸
  314. void display_x()
  315. {   float temp;
  316.     dis_data=(BUF[1]<<8)+BUF[0];  //合成數據   
  317.         if(dis_data<0){
  318.         dis_data=-dis_data;
  319.     DisplayOneChar(2,0,'-');      //顯示正負符號位
  320.         }
  321.         else DisplayOneChar(2,0,' '); //顯示空格

  322.     temp=(float)dis_data*3.9;  //計算數據和顯示,查考ADXL345快速入門第4頁
  323.     conversion(temp);          //轉換出顯示需要的數據
  324.         DisplayOneChar(0,0,'X');   //第0行,第0列 顯示X
  325.     DisplayOneChar(1,0,':');
  326.     DisplayOneChar(3,0,qian);
  327.         DisplayOneChar(4,0,'.');
  328.     DisplayOneChar(5,0,bai);
  329.     DisplayOneChar(6,0,shi);
  330.         DisplayOneChar(7,0,'g');
  331. }

  332. //***********************************************************************
  333. //顯示y軸
  334. void display_y()
  335. {     float temp;
  336.     dis_data=(BUF[3]<<8)+BUF[2];  //合成數據   
  337.         if(dis_data<0){
  338.         dis_data=-dis_data;
  339.     DisplayOneChar(2,1,'-');      //顯示正負符號位
  340.         }
  341.         else DisplayOneChar(2,1,' '); //顯示空格

  342.     temp=(float)dis_data*3.9;  //計算數據和顯示,查考ADXL345快速入門第4頁
  343.     conversion(temp);          //轉換出顯示需要的數據
  344.         DisplayOneChar(0,1,'Y');   //第1行,第0列 顯示y
  345.     DisplayOneChar(1,1,':');
  346.     DisplayOneChar(3,1,qian);
  347.         DisplayOneChar(4,1,'.');
  348.     DisplayOneChar(5,1,bai);
  349.     DisplayOneChar(6,1,shi);  
  350.         DisplayOneChar(7,1,'g');  
  351. }

  352. //***********************************************************************
  353. //顯示z軸
  354. void display_z()
  355. {      float temp;
  356.     dis_data=(BUF[5]<<8)+BUF[4];    //合成數據   
  357.         if(dis_data<0){
  358.         dis_data=-dis_data;
  359.     DisplayOneChar(10,1,'-');       //顯示負符號位
  360.         }
  361.         else DisplayOneChar(10,1,' ');  //顯示空格

  362.     temp=(float)dis_data*3.9;  //計算數據和顯示,查考ADXL345快速入門第4頁
  363.     conversion(temp);          //轉換出顯示需要的數據
  364.         DisplayOneChar(10,0,'Z');  //第0行,第10列 顯示Z
  365.     DisplayOneChar(11,0,':');
  366.     DisplayOneChar(11,1,qian);
  367.         DisplayOneChar(12,1,'.');
  368.     DisplayOneChar(13,1,bai);
  369.     DisplayOneChar(14,1,shi);
  370.         DisplayOneChar(15,1,'g');  
  371. }



  372. //串口通訊函數  自己加的程序段,將ADXL的角度值寫到串口中
  373. void uart_initial_with_interrupt(void);
  374. void uart_adxl(void);
  375. int uart_i;
  376. void uart_initial_with_interrupt(void)
  377. {   
  378.         //TOMD 定時器工作模式寄存器
  379.         //TCON 中斷控制寄存器:定時器中斷和外部中斷
  380.         //IE   中斷允許控制寄存器

  381.         TMOD=0x20;           //設置定時器工作模式,定時器1工作在模式2,8位自動重裝

  382.         TH1=0xfd;           //定時器1設置,產生9600波特率,開啟定時器1
  383.         TL1=0xfd;
  384.         TR1=1;

  385.         SM0=0;
  386.         SM1=1;
  387.         REN=1;

  388.         EA=1;  //允許總中斷
  389.         ES=1;  //允許串口中斷       
  390. }
  391. void  uart_adxl(void) interrupt 4
  392. {
  393.         uchar ch;
  394.         if(RI)
  395.         {
  396.                 ch='a';               
  397.         }

  398. }
  399. int Roll_int,Pitch_int;
  400. uchar Roll_int_high,Roll_int_low;
  401. uchar Pitch_int_high,Pitch_int_low;
  402. //*********************************************************
  403. //******主程序********
  404. //*********************************************************
  405. void main()
  406. {         int d;
  407.           uchar devid;
  408.         float Roll,Pitch,Q,T,K;

  409.         //打開串口中斷
  410.         uart_initial_with_interrupt();
  411.                        
  412.         Init_ADXL345();                 //初始化ADXL345
  413.         devid=Single_Read_ADXL345(0X00);//讀出的數據為0XE5,表示正確
  414.        
  415.     while(1)                         //循環
  416.     {
  417.             
  418.                 //測試串口工作情況
  419.                 for(uart_i=0;uart_i<2;uart_i++)
  420.                 {
  421.                          SBUF=0;
  422.                         while(!TI);
  423.                         TI=0;
  424.                         delay(500);
  425.                 }


  426.                 Init_ADXL345();                     //初始化ADXL345
  427.        //連續讀出數據,存儲在BUF       
  428.                 Mutiple_Read_ADXL345();
  429.                 data_xyz[0]=(BUF[1]<<8)|BUF[0];  //合成數據    【改動】將+ 改成了 |
  430.                 data_xyz[1]=(BUF[3]<<8)|BUF[2];  //合成數據   
  431.                 data_xyz[2]=(BUF[5]<<8)|BUF[4];  //合成數據  
  432.                
  433.                  
  434.                 //測試是否有數據改變
  435.                 for(d=0;d<3;d++){
  436.                 SBUF=data_xyz[d];
  437.                 while(!TI);
  438. ……………………

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

所有資料51hei提供下載:
ADXL345-angle.rar (44.98 KB, 下載次數: 134)


回復

使用道具 舉報

ID:327783 發表于 2019-3-15 20:25 | 顯示全部樓層
能修改一下控制LED閃爍嗎 不要顯示!
回復

使用道具 舉報

ID:371527 發表于 2019-4-3 09:18 | 顯示全部樓層
結合飛行器做個項目
回復

使用道具 舉報

ID:503819 發表于 2019-4-3 09:40 | 顯示全部樓層
學到了學到了
回復

使用道具 舉報

ID:508101 發表于 2019-4-9 18:02 | 顯示全部樓層
高手老師,能不能做個傾角傳感器采集角度后,通過GSM通信傳輸到手機上,十分感謝
回復

使用道具 舉報

ID:683253 發表于 2020-1-7 22:10 | 顯示全部樓層
好難啊,一臉懵
回復

使用道具 舉報

ID:658700 發表于 2020-2-10 19:25 | 顯示全部樓層
大佬,想問一下CY是什么,如果是個變量也沒見定義呀
回復

使用道具 舉報

ID:658700 發表于 2020-2-10 19:30 | 顯示全部樓層
感覺是個形參,但是在函數內部還是沒有定義
回復

使用道具 舉報

ID:730148 發表于 2020-5-18 20:32 | 顯示全部樓層
樓主,有沒有電路圖呀,PROTEUS仿真
回復

使用道具 舉報

ID:989951 發表于 2021-12-9 10:55 | 顯示全部樓層
剛發現51為數不多的關于傾角傳感器應用的帖子
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
ID:704640 發表于 2022-6-26 09:32 | 顯示全部樓層
每天來學學,讓自己老了能做點東西哄哄孫兒
回復

使用道具 舉報

ID:99242 發表于 2025-3-13 16:09 來自觸屏版 | 顯示全部樓層
零度怎么樣
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲激情视频在线| av在线免费观看国产| 精品对白一区国产伦| 97久久精品人人澡人人爽| 国内精品伊人久久久| 色www永久免费视频首页在线 | 免费视频观看成人| 青青视频在线观| 91九蝌蚪视频| 狠狠人妻久久久久久综合麻豆| 99久久伊人精品影院| 亚洲热线99精品视频| 欧美午夜视频一区二区| 99国产精品视频免费观看| 99热在线精品观看| 国内视频在线精品| 手机在线理论片| 国产视频三级在线观看播放| 成年女人免费v片| 好男人官网在线| 国产精品欧美综合| 麻豆视频在线免费看| 超碰caoprom| 激情五月婷婷久久| 女人床在线观看| 久久国产主播精品| 国产精品一区=区| 久久久久国产精品www| 亚洲精品福利在线观看| 欧美在线free| 亚洲成人一区二区| 一色屋精品亚洲香蕉网站| 成人av电影在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲精品国产偷自在线观看| 欧美综合自拍| 亚洲专区**| 成人18视频在线观看| 黄色美女视频在线观看| 香蕉视频在线免费看| 日韩大片b站免费观看直播| 天天摸日日操| xfplay爱情电影网love| 91九色porn蝌蚪| 国产剧情麻豆剧果冻传媒视频免费| www.好吊色| 97超视频在线观看| 亚洲性生活大片| 中文字幕在线欧美| 91浏览器在线观看| 日本在线视频免费| 欧美日韩精品亚洲精品| 后入内射无码人妻一区| 日韩免费成人av| 中文字幕第24页| 亚洲最大成人综合网| 少妇按摩一区二区三区| 性欧美丰满熟妇xxxx性久久久| 亚洲一级片免费观看| 两性午夜免费视频| 国产chinesehd精品露脸| 9.1国产丝袜在线观看 | 北条麻妃在线视频观看| 欧美亚洲黄色片| 免费看欧美一级片| 日韩黄色片在线| 久久久久久久久久网| 妞干网在线视频观看| 男女啪啪免费视频网站| 成人av一级片| 欧美美女性视频| 潘金莲一级淫片aaaaaaa| 中文字幕制服丝袜| 性欧美精品中出| 538精品在线视频| 久久草视频在线| 国产精品高清无码| 黄色小视频免费观看| 最近2018年中文字幕在线| 久精品在线观看| 黄色电影网站在线观看| 2018av男人天堂| 三区在线观看| 性国产高清在线观看| 黄色亚洲网站| 亚洲国产中文在线| 国产一区二区三区四区五区传媒| 97精品视频在线看| 国产欧美在线| 国产福利一区二区三区视频在线| www.亚洲色图| 亚洲美女免费在线| 欧美丝袜丝nylons| 亚洲国产精品va在线看黑人动漫 | 偷拍亚洲欧洲综合| 欧美丰满美乳xxx高潮www| 亚洲高清免费观看高清完整版| 国产午夜精品美女视频明星a级| 伦伦影院午夜日韩欧美限制| 国产精品99久久99久久久二8| 动漫一区二区在线| 日韩精品手机在线观看| 国产日韩欧美久久| 国产高清自拍视频| 日韩和一区二区| 精品久久人妻av中文字幕| 四虎激情影院| 好男人看片在线观看免费观看国语| 中文字幕在线免费专区| 羞羞网站在线免费观看| 欧美在线一级| 婷婷综合伊人| 国产精品99久久久久久宅男| 中文字幕一区在线| 欧美日韩三级一区二区| 亚洲最新av在线| 国产成人一区二区三区小说| 欧美在线视频你懂得| 欧美疯狂做受xxxx富婆| 美女少妇精品视频| 1卡2卡3卡精品视频| 国产精品久久成人免费观看| 999在线精品视频| 18岁成人毛片| 五月婷婷一区二区三区| 日日干天天草| 亚洲综合伊人久久大杳蕉| 精品亚洲二区| 国产日韩欧美一区二区三区在线观看| 99久久精品情趣| 精品视频一区二区不卡| 欧美成人精品在线| 好吊色欧美一区二区三区视频 | 国产ts人妖一区二区三区| 欧美12av| 成年人网站av| 青草视频在线观看免费| 国产卡一卡二卡三| 成人免费黄色网页| 日韩成人18| 免播放器亚洲| 亚洲欧美欧美一区二区三区| 精品无人国产偷自产在线| 成人国产精品久久久| 国产精品333| 永久免费看黄网站| 欧美xxxxx性| 欧美黄色激情| 精品视频黄色| 成人一区在线观看| 正在播放亚洲一区| 国产第一区电影| 99热亚洲精品| 九九九在线视频| 中文字幕麻豆 | av电影在线观看不卡| 欧美在线观看视频一区二区三区| 久久亚洲精品一区二区| 日本一区免费在线观看| 最近中文字幕无免费| 国产女人高潮毛片| 另类图片激情| 亚洲资源在线| 美女国产一区二区三区| 欧美日韩亚洲高清| 久久免费视频在线| 福利在线一区二区| 免费网站看av| 黄色动漫免费看| 都市激情亚洲综合| 亚洲国产精华液| 久久国产精品 国产精品| 18禁免费无码无遮挡不卡网站| 久久日免费视频| 中文乱码字幕午夜无线观看| 福利成人在线观看| 成人一二三区| 久久久精品国产免费观看同学| 欧美日本在线视频| 国产精品亚洲美女av网站| 青青青在线视频免费观看| 国产视频1区2区| 激情se五月| 精品伊人久久久| 久久久99精品免费观看不卡| 亚洲精品一区中文| 日韩福利一区二区三区| 亚洲av无一区二区三区| 无遮挡又色又刺激的女人视频| 在线男人天堂| 韩国v欧美v日本v亚洲v| 欧美精品一区在线观看| 欧美日韩中文精品| 国产精品欧美久久久| 婷婷激情5月天| 国产成人无码www免费视频播放| 嫩草研究院在线| 久久国产成人精品| 亚洲福利视频一区| 国产精品久久中文| 天堂va欧美va亚洲va老司机| 亚洲在线天堂| 三级在线观看视频| 国产一区二区在线视频| 亚洲免费精彩视频| 日韩在线视频在线| 亚洲欧美日韩激情| 国产女主播在线写真| 欧美日韩精品一本二本三本| 欧美性猛交xxxx乱大交3| 91在线视频导航| 摸摸摸bbb毛毛毛片| 国内自拍九色| 日韩高清一级| 亚洲成人av电影在线| 国产中文欧美精品| 鲁丝一区二区三区| 九色蝌蚪av新入口| 日韩av系列| 亚洲自拍偷拍综合| 国产在线观看91精品一区| 黄色国产在线观看| www天堂在线观看| 欧美一二区在线观看| 色婷婷国产精品综合在线观看| http;//www.99re视频| 国产又粗又猛又爽又黄的视频四季 | 欧美性猛交久久久乱大交小说| 国产熟女一区二区三区五月婷 | 成人h精品动漫一区二区三区| 视频一区视频二区国产精品| 欧美亚洲日本在线观看| www.亚洲一区二区三区| 国产成人77亚洲精品www| 国产女同互慰高潮91漫画| 国产成人一区二区三区| 亚洲一级片在线播放| 成人影院一区二区三区| 影视亚洲一区二区三区| 日韩三级在线观看| 人妻无码一区二区三区四区| www黄色在线观看| 免费日韩电影| 国产精品家庭影院| 7777奇米亚洲综合久久 | 精品国产1区2区| 国产亚洲自拍偷拍| 精品久久久久久久久久久国产字幕| 黄在线免费观看| 不卡影院免费观看| 国产精品在线看| 欧美成人三级视频| 免费看美女视频在线网站| 国产91精品精华液一区二区三区| 91精品国产91久久久| 日本美女黄色一级片| 免费一级在线观看播放网址| 久久精品久久99精品久久| 久久电影一区二区| 少妇光屁股影院| 污视频网站在线| 国产精品系列在线播放| 国产精品96久久久久久| 日本网站在线免费观看| 黄色在线看片| 一区二区三区高清不卡| 亚洲精品影院| 亚洲一级爰片777777| 美女久久久久| 日韩av中文字幕在线| 欧美图片自拍偷拍| 亚洲人成电影| 成人高清在线视频| 亚洲自拍在线观看| 中文字幕在线播放不卡| 91成人在线| 色综合天天综合网天天狠天天| 成年人视频大全| 国产精品你懂的在线观看| 你懂的成人av| 欧美另类第一页| 亚洲欧美小视频| 九色porny丨国产首页在线| 亚洲精品写真福利| 亚洲一区二区在线看| 777琪琪电影午夜理伦片| 第一sis亚洲原创| 爽爽爽爽爽爽爽成人免费观看| 久久成人激情视频| 99福利在线| 一区二区三区不卡视频在线观看 | 午夜久久美女| 不卡av电影院| 538精品在线观看| 久草在线资源福利站| 欧美日韩中文一区二区| 日韩写真欧美这视频| 欧美一级大片免费看| 男女视频在线观看免费| 久久嫩草精品久久久久| 欧美凹凸一区二区三区视频| 九九热中文字幕| 牛牛国产精品| 97久久精品人搡人人玩| aaa在线视频| 国产精品天天看天天狠| 亚洲图片欧美日产| 久久久精品少妇| **欧美日韩在线观看| 欧美性大战久久久久久久蜜臀| 色天使在线观看| 成人h小游戏| 亚洲一本大道在线| 日本美女高潮视频| 美国一级片在线免费观看视频| 国产精品人妖ts系列视频| 人妻激情另类乱人伦人妻| 国产小黄视频| 久久精品人人做人人爽人人| 伊人久久av导航| 天天做夜夜操| 久久综合久久综合久久| 国产美女视频免费| 116极品美女视频在线观看| 97久久久精品综合88久久| 无码人妻aⅴ一区二区三区日本| 天天夜夜人人| 欧美激情一二三区| 免费无码不卡视频在线观看| 亚洲欧洲成人| 亚洲一区二区欧美日韩| 日韩av一卡二卡三卡| 国产秀色在线www免费观看| 色视频欧美一区二区三区| 精品国产乱码久久久久夜深人妻| a毛片在线观看| 欧美人伦禁忌dvd放荡欲情| 国产黑丝一区二区| gay欧美网站| 亚洲男女自偷自拍图片另类| 国产无精乱码一区二区三区| 久久亚州av| 91精品国产一区| 丰满人妻一区二区三区免费视频 | 亚洲激情久久久| 豆国产97在线 | 亚洲| 日本成人中文| 欧美在线视频免费播放| 亚洲欧美日韩精品永久在线| 日本伊人色综合网| 日韩免费av一区二区三区| 国产免费黄视频在线观看| 国产精品福利电影一区二区三区四区| 50路60路老熟妇啪啪| 麻豆传媒视频在线观看免费| 欧美日韩一区二区在线视频| 亚洲成人黄色av| 1204国产成人精品视频| 91精品国产免费久久久久久| juy有坂深雪中文字幕| 国产乱子伦视频一区二区三区| www.国产二区| av资源在线观看免费高清| 在线播放一区二区三区| 男女羞羞免费视频| av中文字幕一区二区| 成人中心免费视频| 4444免费观看| 午夜视频在线观看一区| 在线观看国产精品一区| 青青一区二区| 成人黄色av播放免费| 黄色日本网站| 亚洲一区二区免费视频| 影音先锋男人在线| 蜜臀久久99精品久久一区二区| 国产精品欧美亚洲777777| 91蝌蚪在线| 亚洲精品久久久蜜桃| 少妇无套高潮一二三区| 在线亚洲a色| 草莓视频一区| eeuss一区| 3d动漫精品啪啪1区2区免费| 在线观看 中文字幕| aⅴ色国产欧美| 粉嫩av一区二区三区天美传媒| 91精彩在线视频| 亚洲裸体xxxx| 视频二区在线观看| 91免费在线视频观看| 国产高清av片| 成人在线视频你懂的| 成人精品久久一区二区三区| 黄色成人免费观看| 日韩欧美在线视频| 亚洲免费在线视频观看| 久久精品一区| av免费中文字幕| 免费一区二区三区四区|