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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12551|回復: 22
收起左側

自制nRF24L01無線小車

  [復制鏈接]
ID:76127 發表于 2015-4-17 22:30 | 顯示全部樓層 |閱讀模式
直接上圖:










以下是編譯后的收發一體程序可以自行更改:
1.無線子程序文件nRF24L01.h
// nRF24L01.h
#ifndef _NRF_24L01_
#define _NRF_24L01_



#define TX_ADR_WIDTH    5  // 5 bytes TX address width
#define RX_ADR_WIDTH    5  // 5 bytes RX address width
#define TX_PLOAD_WIDTH  20  //20 bytes TX payload
#define RX_PLOAD_WIDTH  20  //20 bytes TX payload

typedef unsigned char BYTE;
typedef unsigned char uchar;
//****************************************************************//
// SPI(nRF24L01) commands
#define READ_REG        0x00 // Define read command to register
#define WRITE_REG       0x20 // Define write command to register
#define RD_RX_PLOAD     0x61 // Define RX payload register address
#define WR_TX_PLOAD     0xA0 // Define TX payload register address
#define FLUSH_TX        0xE1 // Define flush TX register command
#define FLUSH_RX        0xE2 // Define flush RX register command
#define REUSE_TX_PL     0xE3 // Define reuse TX payload register command
#define NOP             0xFF  // Define No Operation, might be used to readstatus register


//***************************************************//
// SPI(nRF24L01) registers(addresses)
#define CONFIG          0x00 // 'Config' register address
#define EN_AA           0x01 // 'Enable Auto Acknowledgment' register address
#define EN_RXADDR       0x02 // 'Enabled RX addresses' register address
#define SETUP_AW        0x03 // 'Setup address width' register address
#define SETUP_RETR      0x04 // 'Setup Auto. Retrans' register address
#define RF_CH           0x05 // 'RF channel' register address
#define RF_SETUP        0x06 // 'RF setup' register address
#define STATUS          0x07 // 'Status' register address
#define OBSERVE_TX      0x08 // 'Observe TX' register address
#define CD              0x09  // 'Carrier Detect' register address
#define RX_ADDR_P0      0x0A // 'RX address pipe0' register address
#define RX_ADDR_P1      0x0B // 'RX address pipe1' register address
#define RX_ADDR_P2      0x0C // 'RX address pipe2' register address
#define RX_ADDR_P3      0x0D // 'RX address pipe3' register address
#define RX_ADDR_P4      0x0E // 'RX address pipe4' register address
#define RX_ADDR_P5      0x0F // 'RX address pipe5' register address
#define TX_ADDR         0x10 // 'TX address' register address
#define RX_PW_P0        0x11 // 'RX payload width, pipe0' register address
#define RX_PW_P1        0x12 // 'RX payload width, pipe1' register address
#define RX_PW_P2        0x13 // 'RX payload width, pipe2' register address
#define RX_PW_P3        0x14 // 'RX payload width, pipe3' register address
#define RX_PW_P4        0x15 // 'RX payload width, pipe4' register address
#define RX_PW_P5        0x16 // 'RX payload width, pipe5' register address
#define FIFO_STATUS     0x17 // 'FIFO Status Register' register address

//***************************************************************//
//                   FUNCTION's PROTOTYPES  //
/****************************************************************/
// void SPI_Init(BYTE Mode);     // Init HW or SW SPI
BYTESPI_RW(BYTE byte);                                // Single SPIread/write
BYTESPI_Read(BYTE reg);                               // Read one bytefrom nRF24L01
BYTESPI_RW_Reg(BYTE reg, BYTE byte);                  // Write one byte to register'reg'
BYTESPI_Write_Buf(BYTE reg, BYTE *pBuf, BYTE bytes);  // Writes multiply bytes to one register
BYTESPI_Read_Buf(BYTE reg, BYTE *pBuf, BYTE bytes);   // Read multiply bytes from one register
//*****************************************************************/

void inerDelay_us(unsigned char n);

void init_io(void) ;

void SetRX_Mode(void);
unsigned char nRF24L01_RxPacket(unsignedchar* rx_buf);
void nRF24L01_TxPacket(unsigned char *tx_buf);


extern uchar constTX_ADDRESS[TX_ADR_WIDTH];//TX address
extern uchar constRX_ADDRESS[RX_ADR_WIDTH];//;RX address


#endif  //_NRF_24L01_
2.接口設定文件://def.h
#ifndef _DEF_
#define _DEF_

#include <reg52.h>
#include <intrins.h>


//hard pin mapping
sbit        MISO     =P1^3;
sbit        MOSI     =P1^4;
sbit  SCK          =P1^5;
sbit  CE       =P1^6;
sbit  CSN              =P3^7;
sbit  IRQ        =P1^2;

sbit   LED2    =P3^5;
sbit   LED1    =P3^4;
sbit   LED3    =P3^6;
sbit   LED4    =P3^7;
sbit   KEY1    =P3^0;
sbit   KEY2    =P3^1;
sbit   KEY3    =P3^2;
sbit   KEY4    =P3^3;


#endif //_DEF_
3.頭文件:REG52.H
#ifndef __REG52_H__
#define __REG52_H__

/* BYTE Registers  */
sfr P0   = 0x80;
sfr P1   = 0x90;
sfr P2   = 0xA0;
sfr P3   = 0xB0;
sfr PSW  = 0xD0;
sfr ACC  = 0xE0;
sfr B    = 0xF0;
sfr SP   = 0x81;
sfr DPL  = 0x82;
sfr DPH  = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0  = 0x8A;
sfr TL1  = 0x8B;
sfr TH0  = 0x8C;
sfr TH1  = 0x8D;
sfr IE   = 0xA8;
sfr IP   = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;

/* 8052 Extensions  */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2   = 0xCC;
sfr TH2   = 0xCD;


/* BIT Registers  */
/* PSW  */
sbit CY   = PSW^7;
sbit AC   = PSW^6;
sbit F0   = PSW^5;
sbit RS1  = PSW^4;
sbit RS0  = PSW^3;
sbit OV   = PSW^2;
sbit P    = PSW^0; //8052 only

/* TCON  */
sbit TF1  = TCON^7;
sbit TR1  = TCON^6;
sbit TF0  = TCON^5;
sbit TR0  = TCON^4;
sbit IE1  = TCON^3;
sbit IT1  = TCON^2;
sbit IE0  = TCON^1;
sbit IT0  = TCON^0;

/* IE  */
sbit EA   = IE^7;
sbit ET2  = IE^5; //8052 only
sbit ES   = IE^4;
sbit ET1  = IE^3;
sbit EX1  = IE^2;
sbit ET0  = IE^1;
sbit EX0  = IE^0;

/* IP  */
sbit PT2  = IP^5;
sbit PS   = IP^4;
sbit PT1  = IP^3;
sbit PX1  = IP^2;
sbit PT0  = IP^1;
sbit PX0  = IP^0;

/* P3  */
sbit RD   = P3^7;
sbit WR   = P3^6;
sbit T1   = P3^5;
sbit T0   = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD  = P3^1;
sbit RXD  = P3^0;

/* SCON  */
sbit SM0  = SCON^7;
sbit SM1  = SCON^6;
sbit SM2  = SCON^5;
sbit REN  = SCON^4;
sbit TB8  = SCON^3;
sbit RB8  = SCON^2;
sbit TI   = SCON^1;
sbit RI   = SCON^0;

/* P1  */
sbit T2EX = P1^1; // 8052 only
sbit T2   = P1^0; // 8052 only

/* T2CON  */
sbit TF2   = T2CON^7;
sbit EXF2  = T2CON^6;
sbit RCLK  = T2CON^5;
sbit TCLK  = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2   = T2CON^2;
sbit C_T2  = T2CON^1;
sbit CP_RL2 = T2CON^0;

#endif
4.子程序文件INTRINS.H
#ifndef __INTRINS_H__
#define __INTRINS_H__

extern void          _nop_     (void);
extern bit           _testbit_ (bit);
extern unsigned char _cror_    (unsigned char, unsigned char);
extern unsigned int  _iror_   (unsigned int,  unsigned char);
extern unsigned long _lror_    (unsigned long, unsigned char);
extern unsigned char _crol_    (unsigned char, unsigned char);
extern unsigned int  _irol_   (unsigned int,  unsigned char);
extern unsigned long _lrol_    (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float);
extern void          _push_    (unsigned char _sfr);
extern void          _pop_     (unsigned char _sfr);

#endif
無線程序文件nRF24L01.c
#include "nRF24L01.h"
#include "..\\def.h"

uchar const TX_ADDRESS[TX_ADR_WIDTH]  = {0x34,0x43,0x10,0x10,0x01}; // Define astatic TX address
uchar const RX_ADDRESS[RX_ADR_WIDTH]  = {0x34,0x43,0x10,0x10,0x01}; // Define astatic RX address


uchar      bdatasta;
sbit  RX_DR   =sta^6;
sbit  TX_DS   =sta^5;
sbit  MAX_RT       =sta^4;

void inerDelay_us(unsigned char n)
{
       for(;n>0;n--)
              _nop_();
}

void init_io(void)
{
   inerDelay_us(100);
      CE=0;  // chip enable
      CSN=1;  // Spi disable
      SCK=0;  // Spi clock line init high
}

/**************************************************
Function: SPI_RW();

Description:
Writes one byte to nRF24L01, and return the byte read
from nRF24L01 during write, according to SPI protocol
/**************************************************/
uchar SPI_RW(uchar byte)
{
       ucharbit_ctr;
     for(bit_ctr=0;bit_ctr<8;bit_ctr++) //output 8-bit
     {
              MOSI= (byte & 0x80);         // output'byte', MSB to MOSI
              byte= (byte << 1);           // shiftnext bit into MSB..
              SCK= 1;                      // Set SCKhigh..
              byte|= MISO;                  // capture currentMISO bit
              SCK= 0;                      // ..then set SCK lowagain
     }
   return(byte);                         // return read byte
}
/**************************************************/

/**************************************************
Function: SPI_RW_Reg();

Description:
Writes value 'value' to register 'reg'
/**************************************************/
uchar SPI_RW_Reg(BYTE reg, BYTE value)
{
       ucharstatus;

       CSN= 0;                   // CSN low, initSPI transaction
       status= SPI_RW(reg);      // select register
       SPI_RW(value);             // ..and write value to it..
       CSN= 1;                   // CSN high again

       return(status);            // return nRF24L01 status byte
}
/**************************************************/

/**************************************************
Function: SPI_Read();

Description:
Read one byte from nRF24L01 register, 'reg'
/**************************************************/
BYTE SPI_Read(BYTE reg)
{
       BYTEreg_val;

       CSN= 0;                // CSN low,initialize SPI communication...
       SPI_RW(reg);            // Select register to read from..
       reg_val= SPI_RW(0);    // ..then readregistervalue
       CSN= 1;                // CSN high,terminate SPI communication

       return(reg_val);        // return register value
}
/**************************************************/

/**************************************************
Function: SPI_Read_Buf();

Description:

/**************************************************/
uchar SPI_Read_Buf(BYTE reg, BYTE *pBuf,BYTE bytes)
{
       ucharstatus,byte_ctr;

       CSN= 0;                            // Set CSN low, init SPI tranaction
       status= SPI_RW(reg);                   // Select register to write to and readstatus byte

       for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)
              pBuf[byte_ctr]= SPI_RW(0);    //

       CSN= 1;                           

       return(status);                    // return nRF24L01 statusbyte
}
/**************************************************/

/**************************************************
Function: SPI_Write_Buf();

Description:
Writes contents of buffer '*pBuf' to nRF24L01
Typically used to write TX payload, Rx/Tx address
/**************************************************/
uchar SPI_Write_Buf(BYTE reg, BYTE *pBuf,BYTE bytes)
{
       ucharstatus,byte_ctr;

       CSN= 0;                  
       status= SPI_RW(reg);   
       for(byte_ctr=0;byte_ctr<bytes; byte_ctr++) //
              SPI_RW(*pBuf++);
       CSN= 1;                 // Set CSN highagain
       return(status);          //
}
/**************************************************/

/**************************************************
Function: RX_Mode();

Description:

/**************************************************/
void SetRX_Mode(void)
{
       CE=0;
       SPI_Write_Buf(WRITE_REG+ RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // Use the same address on the RXdevice as the TX device

       SPI_RW_Reg(WRITE_REG+ EN_AA, 0x01);      //
       SPI_RW_Reg(WRITE_REG+ EN_RXADDR, 0x01);  //
       SPI_RW_Reg(WRITE_REG+ RF_CH, 0);        //
       SPI_RW_Reg(WRITE_REG+ RX_PW_P0, RX_PLOAD_WIDTH);
       SPI_RW_Reg(WRITE_REG+ RF_SETUP, 0x07);   
       SPI_RW_Reg(WRITE_REG+ CONFIG, 0x0f);     

       CE= 1;
       inerDelay_us(130);

}
/**************************************************/
unsigned char nRF24L01_RxPacket(unsignedchar* rx_buf)
{
   unsigned char revale=0;

       //SetRX_Mode();

       sta=SPI_Read(STATUS);       // read register STATUS's value
       if(RX_DR)                          // if receive dataready (RX_DR) interrupt
       {
           CE = 0;
              SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);//read receive payload from RX_FIFO buffer
              revale=1;//we have receive data
       }
       SPI_RW_Reg(WRITE_REG+STATUS,sta);//clear RX_DR or TX_DS or MAX_RT interrupt flag

       returnrevale;
}

/**************************************************
Function: nRF24L01_TxPacket();

Description:
This function initializes one nRF24L01 device to
  TXmode, set TX address, set RX address for auto.ack,
fill TX payload, select RF channel, datarate & TX pwr.
PWR_UP is set, CRC(2 bytes) is enabled, & PRIM:TX.

       ToDo:One high pulse(>10us) on CE will now send this
       packetand expext an acknowledgment from the RX device.
/**************************************************/
void nRF24L01_TxPacket(unsigned char *tx_buf)
{
       CE=0;

       SPI_Write_Buf(WRITE_REG+ TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);   //
       SPI_Write_Buf(WRITE_REG+ RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);
       SPI_Write_Buf(WR_TX_PLOAD,tx_buf, TX_PLOAD_WIDTH);

       SPI_RW_Reg(WRITE_REG+ EN_AA, 0x01);      //
       SPI_RW_Reg(WRITE_REG+ EN_RXADDR, 0x01);  //
       SPI_RW_Reg(WRITE_REG+ SETUP_RETR, 0x1a); //
       SPI_RW_Reg(WRITE_REG+ RF_CH, 0);        //
       SPI_RW_Reg(WRITE_REG+ RF_SETUP, 0x07);   //
       SPI_RW_Reg(WRITE_REG+ CONFIG, 0x0e);     //
       CE=1;
       inerDelay_us(10);
       //sta=SPI_Read(STATUS);     // read register STATUS's value
       //SPI_RW_Reg(WRITE_REG+STATUS,SPI_Read(READ_REG+STATUS));   // clear interrupt flag(TX_DS)
       主程序文件main.c
#include".\\nRF24L01\\nRF24L01.h"
#include "def.h"

void Delay(unsigned int s)
{
       unsignedint i;
       for(i=0;i<s; i++);
       for(i=0;i<s; i++);
}


void main(void)
{
       unsignedchar leng =0;
       unsignedchar tf =0;
       unsignedchar TxBuf[20]={0};      //
       unsignedchar RxBuf[20]={0};     

   init_io() ;

       LED1= 0;
       LED2= 0;
LED3 = 0;
LED4 = 0;
       //TxBuf[0]= 8 ;
       TxBuf[1]= 1 ;
       TxBuf[2]= 1 ;
TxBuf[3] = 1 ;
TxBuf[4] = 1 ;
       nRF24L01_TxPacket(TxBuf);       // Transmit Tx buffer data
       Delay(6000);

LED1 = 1
   LED2 = 1;
LED3 = 1;
LED4 =1;

       while(1)
       {
           //SetRX_Mode();
           if(KEY1 ==0 )
             {
                   LED1= 0;
                  TxBuf[1] = 1 ;
                  tf = 1 ;
                     //while(KEY1==0);
           }
          if(KEY2 ==0 )
          {
                     LED2= 0;
                     TxBuf[2]= 1 ;
                     tf= 1 ;
                     //while(KEY2==0);
          }
if(KEY3 ==0 )
          {
                     LED3= 0;
                     TxBuf[3]= 1 ;
                     tf= 1 ;
                     //while(KEY3==0);
          }
if(KEY4 ==0 )
          {
                     LED4= 0;
                     TxBuf4]= 1 ;
                     tf= 1 ;
                     //while(KEY4==0);
          }

          if (tf==1)
      {      
                     nRF24L01_TxPacket(TxBuf);       // Transmit Tx buffer data
                     TxBuf[1]= 0x00;
                     TxBuf[2]= 0x00;
                     tf=0;
                     Delay(1000);
                     LED1= 1;
                     LED2= 1;
LED3 = 1;
LED4 =1;

                     //setRxMode();
          }

              SetRX_Mode();
            if(nRF24L01_RxPacket(RxBuf))
              {

                     if(    RxBuf[1]==1)
                     {           
                            LED1= 0;
                     }
                     if(    RxBuf[2]==1)
                     {
                            LED2= 0;
                     }
if(    RxBuf[3]==1)
                     {
                            LED3=0;
                     }
if(     RxBuf[4]==1)
                     {
                            LED4= 0;
                     }

                     Delay(1000);
                     LED1= 1;
                     LED2= 1;
LED3 = 1;
LED4 =1;
              }

              RxBuf[1]= 0x00;
              RxBuf[2]= 0x00;
RxBuf[3] = 0x00;
              RxBuf[4]= 0x00;

       }

}





回復

使用道具 舉報

ID:78370 發表于 2015-4-29 18:02 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:26628 發表于 2015-5-7 16:16 | 顯示全部樓層
前些天找沒找到,現在出來了,謝謝分享
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
ID:79544 發表于 2015-9-28 16:39 | 顯示全部樓層
謝謝分享,樓主這是單通道還多通道的呀,謝謝
回復

使用道具 舉報

ID:44267 發表于 2015-10-18 15:32 | 顯示全部樓層
多謝分享,學習了
回復

使用道具 舉報

ID:44267 發表于 2015-10-18 15:32 | 顯示全部樓層
謝謝分享,樓主這是單通道還多通道的呀,謝謝
回復

使用道具 舉報

ID:44267 發表于 2015-10-18 15:35 | 顯示全部樓層
樓主,能不能上傳包啊
回復

使用道具 舉報

ID:103834 發表于 2016-1-21 21:14 來自觸屏版 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:105120 發表于 2016-2-6 10:05 | 顯示全部樓層
謝謝樓主分享,下次 STEP BY STEP
回復

使用道具 舉報

ID:29972 發表于 2016-2-12 09:50 | 顯示全部樓層
請問你的無線車遙控距離是多少?能上視頻嗎?
回復

使用道具 舉報

ID:105437 發表于 2016-3-16 22:38 | 顯示全部樓層
樓主能否寫個注釋
回復

使用道具 舉報

ID:105437 發表于 2016-3-16 22:39 | 顯示全部樓層
樓主能否寫個注釋
回復

使用道具 舉報

ID:110243 發表于 2016-3-22 20:22 | 顯示全部樓層
馬曉軍 發表于 2016-3-16 22:39
樓主能否寫個注釋

NRF24L01的無線溫度檢測系統
回復

使用道具 舉報

ID:110243 發表于 2016-3-22 20:33 | 顯示全部樓層
馬曉軍 發表于 2016-3-16 22:38
樓主能否寫個注釋

NRF24L01的無線溫度檢測系統
回復

使用道具 舉報

ID:107418 發表于 2016-8-22 10:28 | 顯示全部樓層

請問你的無線車遙控距離是多少?能上視頻嗎?
回復

使用道具 舉報

ID:137396 發表于 2016-8-23 15:18 | 顯示全部樓層
無限真的蠻酷的,但尚未使用....
回復

使用道具 舉報

ID:144022 發表于 2016-10-23 11:00 | 顯示全部樓層
好厲害!!
回復

使用道具 舉報

ID:48413 發表于 2017-2-21 14:41 | 顯示全部樓層
樓主有詳細的資料吧
回復

使用道具 舉報

ID:192650 發表于 2017-4-23 13:20 | 顯示全部樓層
把發送和接受分開發吧   多弄點中文注釋吧!謝謝樓主分享  
回復

使用道具 舉報

ID:192650 發表于 2017-4-23 13:21 | 顯示全部樓層
能把發送和接收 分開發么    在多弄帶你中文注釋  謝謝樓主分享
回復

使用道具 舉報

ID:227888 發表于 2017-8-28 13:41 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:234498 發表于 2017-9-20 21:17 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:235537 發表于 2017-9-25 16:53 | 顯示全部樓層
樓主能給  個 完整的原理圖嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
成人黄色免费片| 最新福利小视频在线播放| 欧美成人777| 蜜臀视频在线观看| 国产精品熟女一区二区不卡| 欧美wwwwwww| 日韩不卡一二三| 欧美日韩一区二区三区69堂| 天天爱天天操天天干| 美女一区二区三区视频| 中文字幕成人在线视频| 毛片毛片毛片毛片毛| 图片区偷拍区小说区| www.免费av| 成人看片人aa| 国产精品美女久久久久av超清| 国产97在线播放| 国产精品视频1区| 7777精品久久久大香线蕉小说| 亚洲自拍偷拍色图| 精品人伦一区二区三区| 日本高清久久一区二区三区| 亚洲午夜精品久久久中文影院av| 伊人再见免费在线观看高清版 | 成人在线视频免费| 成人mm视频在线观看| 99视频有精品高清视频| 韩国女主播一区二区三区| 国产精品一线天粉嫩av| 91精品福利| 久久高清免费观看| 国产福利不卡视频| 亚洲国产岛国毛片在线| 亚洲国产日韩精品| 欧美三级中文字幕| 亚洲大尺度美女在线| 中文字幕国产精品| 国产综合在线视频| 成人av电影天堂| 欧美xxxx黑人又粗又长精品| 免费国产成人看片在线| 丁香婷婷激情网| 折磨小男生性器羞耻的故事| www.4hu95.com四虎| 天天操天天操天天操天天| japanese国产| 精品一区二区三区高清免费不卡| eeuss影院www在线观看免费| 伊人75在线| 爱情岛论坛亚洲品质自拍视频网站| 日本不卡免费高清视频在线| 国产成人福利av| 欧美日韩亚洲三区| 国产精品99久久久久久久女警| 欧美韩国日本不卡| 色婷婷综合久久久久中文一区二区 | 欧美专区在线视频| 国产精品免费在线播放| 男人日女人的bb| 在线观看免费av网址| 欧美一区二区福利| 四虎影视免费看电影| 亚洲一级黄色| 中文在线综合| 亚洲伦理电影| 国产一二三区在线观看| 国产91在线播放精品| 久久91麻豆精品一区| 亚洲免费在线| 国产视频一区在线观看| 欧美最猛黑人xxxxx猛交| 亚洲欧美中文日韩v在线观看| 欧美富婆性猛交| av一区和二区| 久色视频在线播放| 800av在线播放| 日韩在线视频免费播放| 亚洲成年人视频| 波多野吉衣av| 人成在线免费网站| 成人三级视频| 国产精品一区二区黑丝| 欧美午夜片欧美片在线观看| 亚洲最新av在线| 91手机视频在线观看| 免费人成自慰网站| 亚洲最大成人综合网| 午夜精品小视频| 成人黄色电影在线| 中文字幕一区久| 亚洲情侣在线| 国产精品无遮挡| 亚洲国产精品久久| 国产综合福利在线| 日本黄色三级大片| 国产一级免费av| 国产乱在线观看视频| 在线观看h片| 日本欧美高清| 成人美女视频在线观看18| 欧美视频中文一区二区三区在线观看| 欧美精品生活片| 亚洲bbw性色大片| 亚洲国产精品无码久久久久高潮| 亚洲一区二区激情| 免费成人黄色网址| 成人在线爆射| 亚洲综合日韩| 欧美视频中文字幕在线| 午夜精品久久久久久久久久久久久 | 精久久久久久| 亚洲理论在线观看| 综合欧美国产视频二区| 日韩欧美亚洲日产国产| jizz欧美性20| 69av影院| 成年人网站在线| 久久影院100000精品| 亚洲国产精品黑人久久久| 亚洲人成绝费网站色www| 国产二区一区| 扒开伸进免费视频| 欧美性受xxxx狂喷水| 手机福利小视频在线播放| 欧美日韩夜夜| 久久久久99精品一区| 亚洲美女激情视频| 久久婷婷人人澡人人喊人人爽| 麻豆短视频在线观看| 亚洲av无码专区在线| 国产色在线 com| 国产精品久久久久久久久久10秀| 久久久www免费人成精品| 国产亚洲欧美另类中文| 日韩亚洲视频| 美女三级黄色片| 97久精品国产片一区二区三区| 国产99在线| 日本美女一区二区三区| 91福利社在线观看| 成人性教育视频在线观看| 亚洲国产综合av| 人妻中文字幕一区| 国产调教视频在线观看| 亚洲精品男同| 欧美日韩国产美| 国产日韩久久| 四虎影院中文字幕| 成人免费淫片免费观看| 嫩草国产精品入口| 国产精品福利影院| 18一19gay欧美视频网站| 午夜激情在线观看视频| 亚洲免费成人在线| 美女91在线| 韩国一区二区三区| 国产一区二区三区视频在线观看| 无颜之月在线看| 亚洲天堂五月天| 岛国在线大片| 久久久久欧美精品| 亚洲激情第一页| 一本一道久久久a久久久精品91| 中文在线观看免费网站| 一本免费视频| 亚洲九九视频| 精品视频999| 区一区二区三区中文字幕| 免费中文字幕在线观看| 午夜男人视频在线观看| 羞羞答答成人影院www| 欧美在线观看视频在线| 蜜桃av噜噜一区二区三区| 欧美黑人精品一区二区不卡| 天堂av免费观看| 亚洲成人精选| 337p亚洲精品色噜噜狠狠| 婷婷精品国产一区二区三区日韩| 99精品人妻国产毛片| 最新电影电视剧在线观看免费观看| 免费亚洲一区| 亚洲欧美国产精品| 高清在线观看免费| 亚洲aaa在线观看| 99欧美精品| 亚洲日韩欧美一区二区在线| 亚洲一区二区中文字幕| 免费中文字幕在线观看| 你懂的视频在线播放| 国产精品日韩久久久| 日韩精品在线第一页| 男女视频网站在线观看| 日本xxxx人| 国产极品一区| 综合久久久久久| 国产高清在线精品一区二区三区| 日本一级二级视频| 日本成人一区二区三区| 久久精品麻豆| 精品国产欧美成人夜夜嗨| 国内av免费观看| a级毛片免费高清视频| 欧美电影免费| 欧美zozozo| 国产免费视频传媒| 天堂在线视频播放| 这里只有精品在线| 亚洲欧美激情另类校园| 国产黑丝在线视频| jizzjizzji欧美| 亚洲欧美日韩国产一区| www.99久久热国产日韩欧美.com| 女同性αv亚洲女同志| 国产91福利| 久久综合中文| 久久青草福利网站| 青青草自拍偷拍| 韩国三级av在线免费观看| 国产在线不卡一区| 欧美一级高清免费| 全程偷拍露脸中年夫妇| 日本最黄一级片免费在线| jiyouzz国产精品久久| 国产日韩视频在线观看| 激情五月色婷婷| 波多野结衣中文在线| 日韩av电影资源网| 午夜精品久久久久久久99水蜜桃 | 欧洲美女网站| 国产精品九九| 久久天天躁夜夜躁狠狠躁2022| 95视频在线观看| 91短视频在线观看| 激情国产一区二区| 国产精品亚洲аv天堂网| 日韩免费av片| av电影在线免费| 亚洲精品免费播放| 91制片厂免费观看| 成人午夜国产福到在线| 在线一区免费| 久久91精品国产| 国产精品久久久久久久精| 手机在线免费观看av| 自拍偷在线精品自拍偷无码专区 | 天堂在线观看av| 国产成人黄色| 这里只有精品视频| 少妇视频在线播放| 性xxxxfjsxxxxx欧美| 一区二区三区成人在线视频| 欧美日韩中文字幕在线播放| 香蕉青柠影院| 青青草成人在线观看| 国产精品欧美一区二区| 亚洲视屏在线观看| 6080成人| 亚洲人成电影网站色www| 国产极品视频在线观看| 国产高清自产拍av在线| 日本国产一区二区| 爱爱爱爱免费视频| 伦理片一区二区三区| 国产精品国产三级国产普通话99 | 欧美性生活一区| 三区视频在线观看| 三级av在线| ...xxx性欧美| 欧美 丝袜 自拍 制服 另类| 成视人a免费观看视频| 成人精品免费网站| 日本欧洲国产一区二区| 91九色论坛| 激情图区综合网| 久久精品五月婷婷| 欧美黑人性受xxxx喷水| 久久中文在线| 国产视频99| 国产大奶在线| 极品尤物av久久免费看| 免费在线一区二区| 软萌小仙自慰喷白浆| 国产麻豆精品在线观看| 久久综合狠狠综合久久综青草| 欧美熟妇交换久久久久久分类 | 天堂在线观看av| 最新亚洲激情| 国产欧美在线播放| 先锋影音男人av资源| 国产精品普通话对白| 99精品欧美一区二区三区| 图片专区亚洲欧美另类| 蜜桃视频一区二区| 欧美日韩另类综合| hs网站在线观看| 972aa.com艺术欧美| 国产精品一色哟哟| 亚洲第一视频| 偷拍日韩校园综合在线| 麻豆tv在线观看| 日韩脚交footjobhd| 亚洲国产精品久久久| 精品肉丝脚一区二区三区| av成人资源网| 久久91精品国产| 性中国xxx极品hd| 国产一区二区高清| 麻豆av一区二区三区| 日本加勒比高清在线| 国产精品美女久久久久久久久| 色哟哟精品视频| 性直播体位视频在线观看| 日韩欧美在线1卡| 欧美交换国产一区内射| 色老板在线视频一区二区| 欧美亚洲另类激情另类| 区二区三区在线| 国产一区二区网址| 免费看欧美一级片| 国产精品秘入口| 欧美精品高清视频| 国产这里有精品| 精品久久国产| 亚洲专区国产精品| eeuss影院www在线观看手机| 国产精品免费视频一区| 黄色片免费网址| 日本在线中文字幕一区二区三区| 最近2019年手机中文字幕| 伊人色综合久久久| 久久久久久黄| 大桥未久一区二区三区| 男人天堂网在线观看| 欧美绝品在线观看成人午夜影视| 69夜色精品国产69乱| 国产探花在线精品| 91视频99| 国产一级淫片免费| 色狮一区二区三区四区视频| 亚洲已满18点击进入在线看片| 一级免费a一片| 亚洲欧美另类小说| wwwwxxxx国产| 日本午夜精品| 亚洲在线www| 国产区视频在线观看| 色婷婷久久99综合精品jk白丝| 成人免费视频网站入口::| 亚洲中无吗在线| 五月天婷亚洲天综合网鲁鲁鲁| 在线三级av| 日韩欧美久久一区| 国产一区二区在线视频观看| 免费看黄色91| 黄色一级二级三级| 日本欧美在线| 国产精品视频中文字幕91| 777奇米888色狠狠俺也去| 欧美日韩裸体免费视频| 精品视频久久久久| 国产婷婷精品| 国产av麻豆mag剧集| 免费成人美女女| 秋霞av国产精品一区| 0608新视觉| 欧美日韩精品欧美日韩精品一综合| 中文字幕亚洲精品在线| 久久美女性网| 久久精品免费一区二区| 超碰这里只有精品| 日本韩国在线不卡| 蜜桃传媒九九九| 91精品免费观看| av综合在线观看| 91麻豆免费视频| 怡红院一区二区三区| 欧美高清日韩| 福利视频一二区| 777午夜精品电影免费看| 国产精品高潮粉嫩av| 日本高清好狼色视频| 欧美本精品男人aⅴ天堂| 日韩专区第一页| 综合久久综合久久| 精品一区在线视频| 精品一区中文字幕| 国产清纯白嫩初高中在线观看性色| 欧美美乳视频| 亚洲欧洲另类精品久久综合| 国模精品视频| 国产精品视频免费在线| 深夜福利视频在线观看| 亚洲香蕉成视频在线观看| 国产高清视频网| 欧美视频一区二区三区| 国产激情久久久久久熟女老人av| 久久精品网站免费观看| 国产精品免费在线视频| 日韩激情视频网站| 韩国三级丰满少妇高潮|