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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1499|回復: 0
收起左側

[正點原子]WS2812B和WS2811F 驅動技術分享

[復制鏈接]
ID:1148840 發表于 2025-4-24 11:49 | 顯示全部樓層 |閱讀模式
1,WS2812B和WS2811F簡介
RGBLED驅動芯片有兩個常用的選擇:WS2812B和WS2811F,它們都采用單線歸零碼的通訊方式,數據發送速度可達800Kbps。
芯片在上電復位以后,DIN端接受從控制器傳輸過來的數據,首先送過來的24bit數據被第一個芯片提取后,送到芯片內部的數據鎖存器,剩余的數據經過內部整形處理電路整形放大后通過DO端口開始轉發輸出給下一個級聯的芯片,每經過一個芯片的傳輸,信號減少24bit。芯片采用自動整形轉發技術,使得該芯片的級聯個數不受信號傳送的限制,僅僅受限信號傳輸速度要求。
當各個芯片都收到24bit的數據后,我們再發送一個大于280us的低電平復位信號,所有的芯片再同步發送對應的R、G、B信號,來控制RGBLED燈的紅色、綠色和藍色三種發光二極。我們就可以看見RGBLED燈亮不同的顏色了。
特別說明:WS2812B和WS2811F通訊和級聯方式等,都基本一樣,只是24位數據結構有先后區別。


圖1 WS2812B或WS2811F級聯示意圖


圖2 WS2812B或WS2811F數據傳輸方法

24位的數據結構(WS2812B):按GRB順序,高位在前

圖3 24位的數據結構(WS2812B)

24位的數據結構(WS2811F):按RGB順序,高位在前

圖4 24位的數據結構(WS2811F)
對我們的驅動來說,圖3和圖4是WS2812B和WS2811F的唯一區別,其他部分的代碼編寫是一模一樣的。

WS2812B和WS2811F邏輯0、邏輯1和復位信號的時序如下:

圖5 WS2812B和WS2811F邏輯0、邏輯1和復位信號的時序圖


表1 WS2812B和WS2811F數據傳輸時間表
實際使用中,PWM的占空比為三分之一代表邏輯0,PWM的占空比為三分之二代表邏輯1,這個時間大致即可。
文章開頭說了,數據發送速度可達800Kbps,即每一個數據位傳輸時間就是:1 / 800000s = 1.25us。每個RGB燈數據有24位,所以每一個RGB數據傳輸時間就是:1.25 * 24us = 30us。
假設用1000顆RGB燈組成一個矩陣屏,那么給屏幕刷一幀數據的時間為:1000*30+280us = 30280us,即矩陣屏的幀率為33幀每秒。這個幀率看個視頻是夠了,打游戲可能差點意思,哈哈哈。
特別注意:級聯的燈珠太多,要考慮供電問題。一個LED電流大概是10~20mA,一個RGB燈有三個LED,即30~60mA。
2, 實驗硬件簡介
2.1,RGB燈方案
WS2811F方案的RGB燈,我們使用的是正點原子的BEE BLOCK系列的RGBLED模塊。該模塊設計非常美觀,燈珠夠大,顯示效果很好,預留了燈珠級聯接口。
WS2812B方案的RGB燈,我自己畫了一塊由20顆RGB燈級聯的燈板。注意WS2812B芯片是集成到RGB燈內部了。

圖6 BEE BLOCK系列RGBLED模塊(左) 和 20顆RGB燈的燈板(右)

2.2,主控方案
主控制器使用STM32F103C8T6,這里直接使用正點原子的STM32入門套件BEE BLOCK系列,價格雖然貴一些,但是外觀和品質是真的很好。

圖7 正點原子的STM32入門套件BEE BLOCK系列

2.3,儀表工具
儀表工具使用正點原子的DL16邏輯分析儀,方便觀察WS2812B和WS2811F的時序。

圖8 正點原子的DL16邏輯分析儀

3,實驗代碼
3.1,WS2812B驅動代碼
ws2812b.c代碼如下:
TIM_HandleTypeDef g_tim2_handle = {0};          /* 定時器x句柄 */
DMA_HandleTypeDef g_dma_handle = {0};           /* DMA句柄 */

/* 用于存放10個RGBLED燈的顏色值 */
uint32_t g_rgb888_color[10] =
{
    GRB888_RED,         /* 紅色 */
    GRB888_GREEN,       /* 綠色 */
    GRB888_BLUE,        /* 藍色 */
    GRB888_VIOLET,      /* 紫羅蘭 */
    GRB888_YELLOW,      /* 黃色 */
    GRB888_IRED,        /* 淺紅色 */
    GRB888_ORANGE,      /* 橙色 */
    GRB888_PURPLE,      /* 紫色 */
    GRB888_PING,        /* 粉色 */
    GRB888_CYAN,        /* 青色 */
};

uint16_t g_pixel_buf[LED_NUM][DATA_SIZE]; /* 用于存放RGBLED燈數據對應的比較值 */

/**
* @brief       發送數據給ws2812b
* @param       無
* @retval      無
*/
void ws2812b_dats_send(void)
{
/* 使用DMA將數據發送到定時器的CCRx */
HAL_TIM_PWM_Start_DMA(&g_tim2_handle, TIM_CHANNEL_3,
(uint32_t *)g_pixel_buf, sizeof(g_pixel_buf));
}

/**
* @brief       復位ws2812b
* @note        保持低電平280us以上即可
* @param       無
* @retval      無
*/
void ws2812b_reset(void)
{
/* CCRX設置為0,直接輸出低電平 */
    __HAL_TIM_SetCompare(&g_tim2_handle, TIM_CHANNEL_3, 0);
    delay_us(280);
}

/**
* @brief       將GRB888的顏色值轉換成邏輯1和邏輯0對應的CCRx值并存放到
*               g_pixel_buf里,并發送給CCRx,生成PWM
* @note        可指定第幾個燈
* @param       led_num : 需控制燈的數量
* @param       color  : GRB888顏色值指針
* @retval      無
*/
void ws2812b_display(uint8_t led_num, uint32_t *color_buf)
{
    uint8_t i, j;
    if(led_num > LED_NUM)return;    /* 防止寫入LED數量大于LED總數 */

/* 這里是對 g_pixel_buf[j]寫入一個周期內高電平的持續時間
(是要存放在比較值寄存器CCR的值)*/
    for(i = 0; i < led_num; i++)
    {
        for(j = 0; j < DATA_SIZE; j++)
        {
            g_pixel_buf[j] =
(((color_buf << j) & 0x800000) ? HIGH_LEVEL : LOW_LEVEL);
        }
    }

    ws2812b_dats_send();    /* 將g_pixel_buf發送到定時器的CCRx中,生成相應波形 */
}

/**
* @brief       ws2812b不顯示顏色,復位狀態
* @param       無
* @retval      無
*/
void ws2812b_show_black(void)
{
    uint32_t rgb_buf[LED_NUM];
    for(int j = 0; j < LED_NUM; j++)
    {
        rgb_buf[j] = GRB888_BLACK;
    }
    ws2812b_display(LED_NUM, rgb_buf);  /* RGBLED燈光顯示 */
}

/**
* @brief       初始化ws2812b相關IO口,以及配置定時器和DMA功能 并使能時鐘
* @param       無
* @retval      無
*/
void ws2812b_init(void)
{
    TIM_OC_InitTypeDeftimx_oc_pwm_chy = {0};  /* 定時器輸出句柄 */
    GPIO_InitTypeDefgpio_init_struct = {0};

    __HAL_RCC_DMA1_CLK_ENABLE();                  /* DMA1時鐘使能 */
    __HAL_RCC_GPIOA_CLK_ENABLE();                 /* 開啟通道y的GPIO時鐘 */
    __HAL_RCC_TIM2_CLK_ENABLE();                   /* 使能定時器時鐘 */

    gpio_init_struct.Pin = GPIO_PIN_2;          /* 通道的GPIO口 */
    gpio_init_struct.Mode = GPIO_MODE_AF_PP;    /* 復用推挽輸出 */
    gpio_init_struct.Pull = GPIO_NOPULL;         /* 無上下拉 */
    gpio_init_struct.Speed =GPIO_SPEED_FREQ_HIGH;     /* 高速 */
    HAL_GPIO_Init(GPIOA, &gpio_init_struct);

    g_tim2_handle.Instance = TIM2;                 /* 定時器x */
    g_tim2_handle.Init.Prescaler = (1 - 1);      /* 定時器分頻 */
    g_tim2_handle.Init.CounterMode = TIM_COUNTERMODE_UP; /* 遞增計數模式 */
    g_tim2_handle.Init.Period = (90 - 1);                   /* 自動重裝載值 */
    g_tim2_handle.Init.ClockDivision =TIM_CLOCKDIVISION_DIV1;
    g_tim2_handle.Init.AutoReloadPreload =TIM_AUTORELOAD_PRELOAD_DISABLE;
    HAL_TIM_PWM_Init(&g_tim2_handle);             /* 初始化PWM */

    timx_oc_pwm_chy.OCMode = TIM_OCMODE_PWM1;   /* 模式選擇PWM1 */
    timx_oc_pwm_chy.Pulse = 0;                      /* 設置比較值,此值用來確定占空比 */
    timx_oc_pwm_chy.OCPolarity =TIM_OCPOLARITY_HIGH;    /* 輸出比較極性為高 */
    timx_oc_pwm_chy.OCIdleState =TIM_OCIDLESTATE_RESET;/* 空閑時輸出低電平 */
HAL_TIM_PWM_ConfigChannel(&g_tim2_handle, &timx_oc_pwm_chy,TIM_CHANNEL_3);
/* 使能CCRX的影子寄存器,當修改CCRX的值時,等產生更新事件在生效 */
    __HAL_TIM_ENABLE_OCxPRELOAD(&g_tim2_handle, TIM_CHANNEL_3);                                 

    g_dma_handle.Instance = DMA1_Channel1;                   /* DMA1通道1 */
    g_dma_handle.Init.Direction =DMA_MEMORY_TO_PERIPH;   /* 從內存到外設模式 */
    g_dma_handle.Init.PeriphInc = DMA_PINC_DISABLE;        /* 外設非增量模式 */
    g_dma_handle.Init.MemInc = DMA_MINC_ENABLE;    /* 存儲器增量模式 */
    g_dma_handle.Init.PeriphDataAlignment= DMA_PDATAALIGN_HALFWORD;/* 16位 */
    g_dma_handle.Init.MemDataAlignment =DMA_MDATAALIGN_BYTE;         /* 16位 */
    g_dma_handle.Init.Mode = DMA_NORMAL;                   /* 普通模式 */
    g_dma_handle.Init.Priority = DMA_PRIORITY_HIGH;      /* 高優先級 */
    HAL_DMA_Init(&g_dma_handle);

/* 將DMA與timer聯系起來 */
    __HAL_LINKDMA(&g_tim2_handle, hdma[TIM_DMA_ID_CC3], g_dma_handle);                          

    HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 1, 1);
    HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);

    ws2812b_show_black();
}

/**
* @brief       DMA1通道1中斷服務函數
* @param       無
* @retval      無
*/
void DMA1_Channel1_IRQHandler(void)
{
if(__HAL_DMA_GET_FLAG(&g_dma_handle,
__HAL_DMA_GET_TC_FLAG_INDEX(&g_dma_handle)) != RESET)
    {
        __HAL_DMA_CLEAR_FLAG(&g_dma_handle,
__HAL_DMA_GET_TC_FLAG_INDEX(&g_dma_handle));

        ws2812b_reset();
/* 傳輸完成后手動停止PWM */
        HAL_TIM_PWM_Stop_DMA(&g_tim2_handle, TIM_CHANNEL_3);  
    }
}
ws2812b.h代碼如下:
/**************************************************************************/
/* RGBLED的數據高低電平邏輯定義 */
#define HIGH_LEVEL     (uint16_t)60     /* CCR3為占空比為三分之二代表邏輯1 */
#define LOW_LEVEL      (uint16_t)30     /* CCR3為占空比為三分之一代表邏輯0 */

#define LED_NUM         20               /* 燈珠的個數 */
#define DATA_SIZE       24               /* 一個RGB數據的位數,3*8 */
/**************************************************************************/
/* RGB888顏色值 */
#define GRB888_RED         0x00FF00        /* 紅色 */
#define GRB888_GREEN       0xFF0000        /* 綠色 */
#define GRB888_BLUE        0x0000FF        /* 藍色 */
#define GRB888_BLACK       0x000000        /* 黑色 */
#define GRB888_WHITE       0xFFFFFF        /* 白色 */
#define GRB888_YELLOW      0xFFFF00        /* 黃色 */
#define GRB888_IRED        0x5CCD5C        /* 淺紅色 */
#define GRB888_ORANGE      0xA5FF00        /* 橙色 */
#define GRB888_PURPLE      0x008080        /* 紫色 */
#define GRB888_PING        0xB6FFC1        /* 淺粉色 */
#define GRB888_CYAN        0xFF00FF        /* 青色 */
#define GRB888_PBLUE       0x80008C        /* 孔雀藍 */
#define GRB888_VIOLET      0x008BFF        /* 紫羅蘭 */
/**************************************************************************/

extern  TIM_HandleTypeDefg_tim2_handle;                 /* 定時器x句柄 */
extern uint32_t g_rgb888_color[10];

/* 函數聲明 */
void ws2812b_init(void);                                    /* 初始化W2812B */
void ws2812b_reset(void);                                   /* 復位W2812B */
/* 寫入多個顏色值到W2812B(控制多個燈) */
void ws2812b_display(uint8_t led_num, uint32_t *color);  
uint32_t color_change_brigh(uint32_t rgb, float k);    /* 改變顏色的亮度值 */
void ws2812b_show_black(void);                             /* 不顯示顏色,關燈 */
3.2,WS2811F驅動代碼
WS2811F的代碼和ws2812b幾乎一樣,只有RGB數據結構順序上有區別。下面把有差異的代碼貼出來。
WS2811F.c有差異部分代碼如下:
/* 用于存放10個RGBLED燈的顏色值 */
uint32_t g_rgb888_color[10] =
{
    RGB888_RED,         /* 紅色 */
    RGB888_GREEN,       /* 綠色 */
    RGB888_BLUE,        /* 藍色 */
    RGB888_VIOLET,      /* 紫羅蘭 */
    RGB888_YELLOW,      /* 黃色 */
    RGB888_VRED,        /* 朱紅色 */
    RGB888_ORANGE,      /* 橙色 */
    RGB888_PURPLE,      /* 紫色 */
    RGB888_PGREEN,      /* 孔雀綠 */
    RGB888_CYAN,        /* 青色 */
};
WS2811F.h有差異部分代碼如下:
/**************************************************************************/
/* RGB888顏色值 */
#define RGB888_RED         0xFF0000        /* 紅色 */
#define RGB888_GREEN       0x00FF00        /* 綠色 */
#define RGB888_BLUE        0x0000FF        /* 藍色 */
#define RGB888_BLACK       0x000000        /* 黑色 */
#define RGB888_WHITE       0xFFFFFF        /* 白色 */
#define RGB888_YELLOW      0xFFFF00        /* 黃色 */
#define RGB888_VRED        0xFF4D00        /* 朱紅色 */
#define RGB888_ORANGE      0xFFA500        /* 橙色 */
#define RGB888_PURPLE      0x800080        /* 紫色 */
#define RGB888_PING        0xFFC0CB        /* 粉色 */
#define RGB888_CYAN        0x00FFFF        /* 青色 */
#define RGB888_PGREEN      0x00A15C        /* 孔雀綠 */
#define RGB888_VIOLET      0x8B00FF        /* 紫羅蘭 */
/**************************************************************************/
3.3,main.c代碼
int main(void)
{
    uint8_t i = 0, j = 0;
    uint32_t rgb_buf[LED_NUM];           /* 各燈珠RGB顏色緩沖區 */

    HAL_Init();                             /* 初始化HAL庫 */
    sys_stm32_clock_init(RCC_PLL_MUL9); /* 設置時鐘, 72Mhz */
    delay_init(72);                        /* 延時初始化 */
    usart_init(115200);                    /* 串口初始化為115200 */
    ws2812b_init();                        /* 初始化RGBLED */

    while (1)
    {
        /* 多個燈珠亮相同顏色,10種顏色 */
        for(i = 0; i < 10; i++)
        {
            for(j = 0; j < LED_NUM; j++)
            {
                rgb_buf[j] = g_rgb888_color;
            }

            ws2812b_display(LED_NUM, rgb_buf);  /* RGBLED燈光顯示 */
            delay_ms(500);
        }
    }
}
在本實驗中,我們根據連接的燈珠數量設置好LED_NUM宏定義。
mian函數中,實現多個燈珠亮相同顏色,共10種顏色。
詳細的代碼可以下載正點原子BEE BLOCK系列RGBLED模塊的資料查看。網址如下:openedv/docs/boards/stm32/beeblock.html
4,實驗現象
1,WS2812B實驗現象

圖9 WS2812B實驗現象


2,WS2811F實驗現象

圖10 WS2811F實驗現象

3,用DL16邏輯分析儀觀察PWM
WS2812B數據結構是GRB888,所以紅色數據是0x00FF00。

圖11 WS2812B時序

WS2811F數據結構是RGB888,所以紅色數據是0xFF0000。

圖12 WS2811F時序
PWM詳細參數如下圖:

圖13 PWM時序信息
PWM周期為1.25us,邏輯1高電平時間為850ns,低電平時間為400ns。所以可以知道邏輯0高電平時間為400ns,低電平時間為850ns。

【正點原子】WS2812B和WS2811F.pdf

1.52 MB, 下載次數: 0, 下載積分: 黑幣 -5

原文章

1,WS2812B.7z

597.23 KB, 下載次數: 0, 下載積分: 黑幣 -5

源碼

2,WS2811F.7z

597.49 KB, 下載次數: 0, 下載積分: 黑幣 -5

源碼

3,RGBLED模塊(IO模擬時序WS2811F).7z

680.97 KB, 下載次數: 0, 下載積分: 黑幣 -5

源碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
成人搞黄视频| 欧美视频三区在线播放| 一区二区三区中文字幕精品精品| 国产精品国产三级国产专播品爱网| 国产片一区二区三区| 欧美性xxxxx极品| 日韩av在线免费看| 久久久亚洲国产| 成人h视频在线观看| 一区在线电影| 欧美网站免费观看| 夫妻性生活毛片| 国产美女www爽爽爽| 中文字幕2020第一页| 性xx无遮挡| 国产三区四区在线观看| 韩国三级大全久久网站| 日韩精品免费| 国内精品视频一区二区三区八戒 | 国产午夜久久久久| 精品久久一二三区| 精品日韩欧美在线| 欧美精品video| 亚洲精品成人三区| 日本中文字幕免费| 福利视频在线播放| 在线亚洲电影| 亚洲欧美日本国产| 亚洲欧洲日产国码二区| 一区二区三区视频免费| 久久久成人精品视频| 久久夜色撩人精品| 久久欧美在线电影| 久久亚洲私人国产精品va| 国产亚洲精品美女久久久| 国产一区二区三区在线| 日韩免费在线观看| 亚洲人成网站在线播| 亚洲精品中文字幕有码专区| 成人区精品一区二区| 免费看污片网站| 国产麻豆综合视频在线观看| 午夜羞羞小视频在线观看| 亚洲日本免费| 欧美理论片在线| 国产精品亚洲综合| 波多野结衣亚洲色图| 国产午夜精品久久久久免费视| av电影在线观看| 在线观看v片| 任我爽精品视频在线播放| 国产二区精品| 婷婷精品进入| 国产精品v亚洲精品v日韩精品| 亚洲精品乱码久久久久久蜜桃麻豆| ww亚洲ww在线观看国产| 亚洲一区精品在线| 欧美人与牲禽动交com| 久久精品一区二区三| 天天躁日日躁狠狠躁伊人| 午夜av免费在线观看| 欧美性xxxx禁忌| 男人的天堂在线免费视频| 欧美亚洲黄色| 国产欧美短视频| 日韩欧美中文在线| 九九九热999| 亚洲一二三四五六区| japanese国产在线观看| 四虎在线免费观看| 黄色成人在线网站| 精品国产免费久久| 欧美视频在线第一页| 国产又粗又猛视频免费| 国产丝袜在线播放| 久久―日本道色综合久久| 热99精品只有里视频精品| 91av在线免费| 一级毛片在线看| 久久黄色影院| 久久久久久久久网站| 亚洲日本精品视频| 国产黄色在线| 91首页免费视频| 亚洲一区二区三区成人在线视频精品| 开心激情五月网| 日本韩国在线视频爽| 99精品黄色片免费大全| 91文字幕巨乱亚洲香蕉| 国产又粗又猛又黄又爽| 2021年精品国产福利在线| 欧美裸体bbwbbwbbw| 一道本视频在线观看| 嫩草嫩草嫩草嫩草嫩草| 久久蜜桃资源一区二区老牛| 欧美激情视频在线观看| 免费无码毛片一区二区app| 国产桃色电影在线播放| 国产精品对白| 激情久久av一区av二区av三区| 一区二区精品国产| 色版视频在线观看| 欧美一级二区| 国内成+人亚洲| 午夜成年女人毛片免费观看| 久久动漫亚洲| 国产乱人伦精品一区二区| 先锋影音男人站| 亚洲综合另类| 国产精品三区四区| xxx国产hd| 国产.欧美.日韩| 亚洲视频小说| 日本视频三区| 亚洲人成在线播放网站岛国| 成人免费毛片网| 国产毛片在线看| 在线中文字幕不卡| 日韩中文字幕网站| 久久久久久av无码免费网站| swag国产精品一区二区| 欧美另类极品videosbestfree| 久久精品五月天| 夜间精品视频| 蜜桃欧美视频| 国产不卡视频| 在线观看日韩一区| 国产一区二区播放| 97精品在线| 精品蜜桃传媒| 桥本有菜亚洲精品av在线| 在线观看视频一区| caoporn国产| 麻豆精品在线看| 九一国产精品视频| videos性欧美另类高清| 欧美激情亚洲自拍| 污视频在线播放| 亚洲大型综合色站| 久草网在线观看| 日韩va亚洲va欧美va久久| 国产av天堂无码一区二区三区| 精品极品在线| 日产精品99久久久久久| 看全色黄大色黄大片免责看的| 一区二区三区资源| 中文字幕亚洲欧美日韩| 亚洲欧洲日本一区二区三区| 国产又爽又黄ai换脸| 欧美成人影院| 99久久久精品免费观看国产| 中文在线二区| 深夜福利一区二区| 福利电影在线| 亚洲电影天堂av| 国产在线www| 在线播放一区二区三区| 天天操天天干天天舔| 亚洲人成777| 日本久久久久久久| 深夜福利视频在线免费观看| 尤物99国产成人精品视频 | 欧美成人精品一区二区| 青青草视频在线青草免费观看| 欧美嫩在线观看| 欧美另类videos黑人极品| 日韩欧美在线视频观看| 成人黄色免费视频| 激情成人在线视频| 亚洲免费网站观看视频| 色菇凉天天综合网| 性xxxx视频| 欧美日韩一区二区三区在线| 色av中文字幕| 日韩精品一区二区三区视频在线观看| 欧美日韩一区二区三区在线播放| 欧美体内she精视频| 国内精品久久久久久不卡影院 | 日韩高清国产一区在线观看| 国产超碰精品| 在线视频不卡一区二区| 国内视频在线精品| 97xxxxx| 亚洲成人日韩| 国产美女免费网站| 99久久综合精品| 91丨九色丨海角社区| 午夜成人免费视频| 国产区卡一卡二卡三乱码免费| 亚洲第一男人av| 波多野结衣在线| 国产欧美亚洲精品| 精品视频在线观看免费观看| 亚洲色成人www永久在线观看| 婷婷激情久久| 亚洲精品乱码久久久久久蜜桃欧美| 日韩国产高清影视| 久久免费小视频| 亚洲福利电影网| 小视频在线播放| 欧美黑人xxxx| 69堂精品视频在线播放| 黄色片视频免费观看| 久久精品国内一区二区三区水蜜桃| 国产精品999视频| 国产自产自拍视频在线观看| 国产精品久久久久9999| 国产一二三视频| 精品美女在线播放| 丰满人妻一区二区三区免费视频| 国产精品久久久久久久久久久免费看| 午夜婷婷在线观看| 亚洲综合无码一区二区| 久久青青草视频| 伊人精品久久| 可以在线看的av网站| 国产精品社区| 在线免费观看一区二区| 亚洲娇小xxxx欧美娇小| 秋霞午夜在线观看| 亚洲国产精品一区二区第四页av| 美女国产在线| 99久久久无码国产精品性色戒| 老鸭窝亚洲一区二区三区| 国产一区二区女内射| 亚洲性夜色噜噜噜7777| sm在线观看| 色戒在线免费观看| 中文字幕在线不卡一区二区三区 | 免费污视频在线| 天堂中文av在线| 亚洲码国产岛国毛片在线| 成人免费在线观看网站| 国外成人在线视频网站| 日日夜夜精品免费视频| 影音先锋男士资源站| 国产精品99久久久久久www| 第一社区sis001原创亚洲| 正在播放木下凛凛xv99| 久久久国产精品亚洲一区| 日韩高清成人在线| 伊人久久一区二区| 欧美在线观看网站| 国产精品xvideos88| 空姐吹箫视频大全| 91成人伦理在线电影| 毛片一区二区三区| 俺去啦俺在线观看| 久久综合亚洲精品| 一区二区三区在线视频播放| 超碰免费97在线观看| 国产午夜在线一区二区三区| 欧美三级日韩三级国产三级| 伊人色综合一区二区三区影院视频| av黄色一级片| 日韩精品在线免费观看| 另类ts人妖一区二区三区| 在线观看国产小视频| 成人性生交xxxxx网站| 国产一区二区精品久久| jizz蜜桃视频在线观看| 午夜精品中文字幕| 日韩视频免费观看高清完整版 | 亚洲最大黄网| 2022国产麻豆剧果冻传媒剧情| 自拍偷拍99| 欧美性猛交xxxx免费看| 日本在线视频一区二区| 啪啪小视频网站| 国产精品二区二区三区| 国产偷国产偷精品高清尤物 | 日本亚洲最大的色成网站www| 美女被羞羞网站| 色噜噜狠狠一区二区| 日韩欧美国产麻豆| 狠狠做六月爱婷婷综合aⅴ| 欧美1区二区三区公司| 欧美成人三级在线视频| 91精品国产91久久久久久一区二区 | 精品成人久久| 污网站在线看| 日本少妇bbwbbw精品| 国产欧美va欧美va香蕉在| av一区二区三区四区| 色婷婷在线播放| 亚洲精品国产av| 国产麻花豆剧传媒精品mv在线| 亚洲成人av片| 精品一区二区在线观看| 高潮毛片在线观看| 国产精品国产精品国产专区| 亚洲一区二区在线免费观看| 欧美一区二区日韩| 99精品视频免费| 国产网站在线免费观看| 4438x全国最大成人| 欧美日韩国产页| 18在线观看的| 欧美第一页在线观看| 国产亚洲视频在线观看| 日韩欧美三区| 中文字幕一区三区久久女搜查官| 在线观看www91| 成人看片网站| av手机天堂网| 欧美性做爰毛片| 懂色av一区二区三区免费看| 免费一二一二在线视频| 欧美黑人xxxx猛牲大交| 涩视频在线观看| 91在线免费视频| 欧美人妖巨大在线| 免费欧美在线视频| 国产理论在线| 夜夜躁狠狠躁日日躁av| 狠狠97人人婷婷五月| 色综合91久久精品中文字幕 | 小视频在线播放| 麻豆91精品91久久久| 国产精品国产亚洲精品看不卡| 欧美激情视频在线观看| 精品欧美激情精品一区| 日韩精品视频网站| 国产精品2区| 久久精品蜜桃| 欧美日韩亚洲色图| 日韩 国产 在线| 欧美性猛交xxxx乱大交91| 国产一区福利视频| 久久国产精品视频| 欧美性色欧美a在线播放| 国产自产v一区二区三区c| 三级精品视频| 国产剧情av在线播放| 天堂中文av| 欧美色图另类图片| 亚洲精品国产精品国自产网站按摩 | 在线观看免费国产视频| 91网址在线观看精品| 欧美视频小说| 国产精品久久久久久久天堂| 精品欧美一区二区在线观看| 国产精品毛片久久久久久| 玖玖在线精品| 中文字幕午夜精品一区二区三区 | 亚洲高清自拍| 天美av一区二区三区久久| 日本欧美电影在线观看| 最美情侣韩剧在线播放| 日本网址在线观看| 午夜成人鲁丝片午夜精品| 国产精品视频免费播放| 国产中年熟女高潮大集合| mm131亚洲精品| 能在线观看的av| 浴室偷拍美女洗澡456在线| 国产精品一区二区免费看| 欧洲永久精品大片ww免费漫画| 亚洲欧美综合v| 欧美一区二区在线观看| 亚洲综合久久久| 中文字幕视频一区| 91在线国产福利| 成人免费高清视频| 成人永久免费视频| 精品一区二区三区久久久| 久久精品午夜| 久久男女视频| 日韩国产欧美三级| 奇米精品一区二区三区在线观看| 在线观看国产精品入口| 日韩精品午夜| 99久久精品费精品国产| 久久成人综合| 日本欧美黄色| 国产女18毛片多18精品| 亚洲视频中文字幕在线观看| 无码人妻精品一区二区| 中文字幕在线播| 国产色综合视频| 日本美女一级片| 国产一起色一起爱| 加勒比免费视频| 精品美女调教视频| 欧美理论在线观看| av免费网站在线| 日韩在线影院| 国产区精品视频在线观看豆花| 欧美亚洲大陆| 亚洲无毛电影| 久久99国产精品麻豆| 久久―日本道色综合久久| 亚洲免费观看高清完整版在线观看| 亚洲一区二区三区四区的| 在线免费观看日本欧美| 亚洲精品二三区| 91chinesevideo永久地址| 国产精品一区二区三区免费观看 | 国产清纯白嫩初高中在线观看性色| 又黄又爽又色的视频|