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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9446|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
久久综合狠狠综合久久综合88| 中文字幕中文字幕在线中一区高清| 中文字幕欧美国内| 国一区二区在线观看| 精品视频一区二区三区| 丁香花高清在线观看完整版| 免费在线黄色电影| av手机天堂| 猫咪av在线| 国产毛片毛片毛片毛片| 国产性xxxx高清| 日本一级片免费| 久久久久久久穴| 国产精品h视频| 国产在线一区二| 亚洲伊人久久大香线蕉av| 国产成人精品电影| 91精品国产91| 97精品久久久| 性欧美在线看片a免费观看| 久热在线中文字幕色999舞| 亚洲色图50p| 亚洲欧美制服综合另类| 日韩国产高清视频在线| 欧美性xxxxxx少妇| 色成人在线视频| 在线免费不卡视频| 欧洲一区在线观看| 欧美亚洲综合久久| 欧美日韩亚洲综合| 国产网站一区二区| 欧美激情自拍偷拍| 亚洲国产精品二十页| 久久―日本道色综合久久| av亚洲精华国产精华精华| 日韩av午夜在线观看| 日本人妖一区二区| 九九九久久久精品| 成人在线视频首页| 99免费精品在线| 97久久精品人人做人人爽50路| 久久99最新地址| 国产一区二区三区在线观看精品| 国产成人精品在线看| 波多野结衣中文字幕一区二区三区 | 亚洲成人精品一区二区三区| 亚洲私人影吧| 91精彩在线视频| 尤物yw193can在线观看| 乱人伦视频在线| 免费一级欧美在线大片| 亚洲人亚洲人色久| 欧美成人激情| 亚洲乱码久久| 国产一区不卡精品| 久久蜜桃一区二区| 一区二区三区av电影 | av影院午夜一区| 国产日本欧美一区二区| 亚洲精品免费视频| 精品人伦一区二区三区蜜桃免费| 色美美综合视频| 欧美久久一区二区| 成人激情av网| 国产宾馆实践打屁股91| 女生裸体视频一区二区三区| 一本色道久久综合亚洲精品不卡| 日韩国产精品久久久| 成人免费毛片a| 国产精品国产三级国产aⅴ原创| 亚洲一区二区三区四区五区黄| 91福利精品第一导航| 精品福利视频一区二区三区| 中文字幕日韩免费视频| 欧美中在线观看| 国产精品加勒比| 可以在线看黄的网站| 人人干人人干人人| 在线看片中文字幕| 无码人妻精品一区二区三区9厂| 午夜精品久久久久久久99| 一本一本久久a久久综合精品蜜桃 一道精品视频一区二区三区男同 一道精品视频一区二区三区图片 一二三四在线观看视频韩国 | 无码h黄肉3d动漫在线观看| 国产免费麻豆视频| 精品欧美一区二区精品少妇| 影音日韩av| 色视频免费版高清在线观看| 情趣网站视频在线观看| 欧美bbbxxxxx| 盗摄系列偷拍视频精品tp| 欧美区亚洲区| 成人sese在线| 亚州成人在线电影| 欧美日韩国产精品| 日韩精品视频在线观看网址| 国产+人+亚洲| 欧美精品成人一区二区在线观看| 久久久999视频| 在线观看国产精品一区| 又骚又黄的视频| 国产精品入口麻豆高清| 黄页网址在线观看| 高清在线视频不卡| 国产一区不卡| 丝袜美腿亚洲色图| 自拍偷拍亚洲欧美日韩| 亚洲毛片一区| 久久久91精品国产一区二区精品| 成人欧美一区二区三区在线播放| 欧美日韩一级二级| 欧美激情久久久| 欧美日韩一区二区视频在线观看| 亚洲综合欧美在线| 久久老司机精品视频| 中文字幕无线码| 在线人体午夜视频| 图片一区二区| 欧美亚洲专区| 激情小说亚洲一区| 亚洲一区二区三区免费视频| 日韩国产精品一区| 成人性生交大片免费看视频直播| a在线视频观看| 欧美偷拍第一页| 亚洲国产成人综合| 福利在线视频导航| 精品欧美午夜寂寞影院| 成人激情免费电影网址| 91精品婷婷国产综合久久性色| 456国产精品| 九九热只有这里有精品| 啪啪一区二区三区| 丁香六月天婷婷| 一级视频在线免费观看| 免费观看亚洲天堂| 国产一区二区三区观看| 亚洲国产精品尤物yw在线观看| 日韩资源在线观看| 国产伦精品一区二区| 亚洲午夜激情影院| 一区二区三区在线免费观看视频 | 国产精品视频第一页| 超碰色偷偷男人的天堂| 日本成人片在线| 午夜在线a亚洲v天堂网2018| 亚洲国产精品久久久久婷婷884 | 婷婷久久综合九色国产成人| 国产一区二区三区在线播放免费观看| 国产精品二区三区四区| 欧美一级黄色影院| 国产美女www| 中文字幕毛片| 欧美黑人做爰爽爽爽| 92精品国产成人观看免费| 日韩成人激情视频| 你懂的网址一区二区三区| 在线精品一区二区三区| 性xxxxbbbb| 国产乱色在线观看| 欧美精品三区| 亚洲桃色在线一区| 91禁外国网站| 一道本在线免费视频| 国产suv精品一区二区69| 综合国产第二页| 国产最新在线| 国产日韩欧美一区在线| 在线观看日韩高清av| 91精品久久久久| 久久99久久99精品| 久久久免费高清视频| 激情se五月| 视频福利一区| 最新日韩av在线| 97热精品视频官网| 国产九九在线视频| 亚洲精品福利网站| 九九大香尹人视频免费| 日韩毛片在线| 国产精品18久久久久久久久 | 日本综合久久| 国产不卡一区视频| 中文字幕精品www乱入免费视频| 成人黄色片免费| 最近中文字幕免费观看| 欧美日韩国产亚洲沙发| 综合久久久久| 欧美影视一区在线| 精品一区在线播放| 国产精品 欧美激情| aaaaa毛片| 色综合五月天| 在线免费观看日本欧美| 国产福利一区二区三区在线观看| www.com.av| 亚洲jizzjizz妇女| 国产一区不卡| 欧美亚洲国产bt| 茄子视频成人在线观看 | 欧美gay囗交囗交| 成人性生交大片| 久久伊人色综合| www.国产视频.com| 欧美性xxxxx极品视频| 成人在线不卡| 国产欧美精品在线观看| 国产成人精品久久二区二区91| 久久久久亚洲av成人网人人软件| 国产浪潮av性色av小说| 欧美日韩国产一区二区在线观看| 亚洲欧洲日韩av| 成人免费看吃奶视频网站| 国产成人免费观看网站| 性综艺节目av在线播放| 欧美福利网址| 欧美大片拔萝卜| 成人在线国产视频| 亚洲欧洲激情在线乱码蜜桃| 日本久久久久| 亚洲资源在线观看| yy111111少妇影院日韩夜片| 久久精品国产av一区二区三区| 黄色动漫在线| 成人精品高清在线| 国产成人短视频| 亚洲a∨无码无在线观看| 欧美12一14sex性hd| 国产精品久久久久久模特| 亚洲男人天堂2019| 97人人爽人人| 九九热在线视频观看| 亚洲第一偷拍| 日韩激情av在线播放| 国产三级三级三级看三级| 国产日韩欧美一区二区三区视频| 女人抽搐喷水高潮国产精品| 日韩欧美精品网站| 中文字幕在线中文字幕日亚韩一区| 国产精品久久欧美久久一区| 久色国产在线| 99r国产精品| 5566日本婷婷色中文字幕97| jizzjizzjizz国产| 人人在线视频| 日韩成人久久| 欧洲一区二区三区免费视频| 欧美性潮喷xxxxx免费视频看| 亚洲色图另类图片| 欧美挤奶吃奶水xxxxx| 日韩欧美视频一区二区三区| 欧美性受黑人性爽| 性欧美xxx极品另类| 国产欧美高清视频在线| 亚洲爱爱爱爱爱| 中文字幕在线视频一区二区三区| 污网站在线观看免费| 久久久久网站| 国内精品久久影院| 青青草原在线免费观看| 亚洲羞羞网站| 亚洲日本电影在线| 日韩一本精品| 中文在线官网天堂| 成人中文视频| 北条麻妃在线一区二区| 黄色一级片一级片| 美足av综合网| 午夜欧美大尺度福利影院在线看| 懂色av粉嫩av蜜臀av| 国内精品麻豆| 伊人久久婷婷| 精品综合久久久久久97| www.av免费| 国产调教视频在线观看| 中文字幕中文在线不卡住| 日韩一区二区三区高清| 精品国自产在线观看| 老司机在线精品视频| 亚洲国产精品久久久久| 国产精品无码在线| 免费网站成人| 亚洲精品国产精华液| 亚洲av首页在线| 全免费a级毛片| 日本特黄久久久高潮| 国产欧美精品一区二区| 国产精品系列视频| 精品日产免费二区日产免费二区| 中文字幕自拍vr一区二区三区| 精品伦精品一区二区三区视频密桃 | 中文字幕永久在线| 黄色美女久久久| 亚洲男人天堂古典| 国产黄a三级三级| heyzo高清在线| 日本乱人伦一区| 奇米视频7777| 永久免费av片在线观看全网站| 亚洲欧美一区二区三区国产精品 | 久久久噜噜噜www成人网| 国产一级激情| 久久综合久久综合久久综合| 相泽南亚洲一区二区在线播放| 国产三级做爰高清在线| 日本不卡视频在线观看| 超碰97在线播放| 久久一区二区免费播放| 免费在线亚洲| 俄罗斯精品一区二区三区| 日韩永久免费视频| 欧美freesex黑人又粗又大| 色吊一区二区三区| 91精品又粗又猛又爽| 中文在线字幕免费观看| 色噜噜狠狠一区二区三区果冻| 欧美熟妇另类久久久久久多毛| 欧美18hd| 欧美三级日韩三级| 欧美做受高潮6| jizzjizz少妇亚洲水多| 日韩av在线高清| 久久久久久久久毛片| 精品午夜视频| 久久精品视频播放| 亚洲ⅴ国产v天堂a无码二区| 国产精品字幕| 亚洲免费电影在线观看| 久久久久久久久99| 午夜精品福利影院| 6080yy精品一区二区三区| 欧美亚洲另类小说| 任你躁在线精品免费| 久久久亚洲影院| 午夜精品小视频| 亚洲欧美高清| 日本三级福利片| 超碰国产在线| 欧美一区二区三区成人| 制服.丝袜.亚洲.中文.综合懂色| 一区二区电影在线观看| 久久久久久高清| 国产对白在线正在播放| 色综合色综合色综合色综合色综合 | 精品国产一区二区三区久久影院| 成人免费毛片xxx| 九色丨蝌蚪丨成人| 91sa在线看| 亚洲精品手机在线| 福利视频网站一区二区三区| 奇米777四色影视在线看| 日本韩国福利视频| 国产欧美日韩精品一区| 中文字幕视频三区| 国产调教视频在线观看| 亚洲国产精品999| 国产剧情久久久| 国产精品羞羞答答xxdd| 日韩欧美xxxx| 蜜桃视频www网站在线观看| 亚洲色图日韩av| 国产a级免费视频| 奇米在线7777在线精品| 久久www视频| 在线观看a级片| 亚洲欧美自拍一区| 一级片免费网站| 丝袜美腿成人在线| 日韩视频 中文字幕| 你懂的视频在线| 在线中文字幕一区| 福利所第一导航| 欧美不卡一区| 欧美精品亚洲精品| 亚洲超碰在线| 亚洲亚洲人成综合网络| 黄色录像a级片| 日韩大片在线免费观看| 91在线视频免费| 免费看av大片| 欧美色视频在线观看| 男人天堂2024| 日日夜夜一区二区| a天堂资源在线观看| 国产精品论坛| 国产不卡在线观看| 激情视频网址| 亚洲精品一区二区在线观看| 人妻一区二区三区四区| 国产精品污污网站在线观看| 国产精品视频看看| 午夜综合激情| 国产原创精品在线| 婷婷成人综合| 亚洲欧洲日韩综合二区| 蜜桃视频m3u8在线观看| 国产精品亚洲网站| 牛牛热在线视频| 欧美日韩xxxxx| 免费av播放| 在线播放日韩欧美|