色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

電子時鐘制作(瑞薩RA)(4)----驅動LED數碼管

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2023-12-01 14:03 ? 次閱讀

概述

本篇文章主要介紹如何使用e2studio對瑞薩RA2E1開發板進行數碼管的驅動。

硬件準備

首先需要準備一個開發板,這里我準備的是芯片型號R7FA2E1A72DFL的開發板:

視頻教程

https://www.bilibili.com/video/BV1pV411K78Y

數碼管說明

查看手冊可以得知,該數碼管位共陰極。

同時查看原理圖,可以看到數碼管連接到MCU對應的管腳。

配置這些IO都為輸出口,當紅色為高電平,藍色為低電平時候,LED亮起。

配置IO口

配置與數碼管連接的IO都為Output mode (Initial Low)模式。

#數碼管顯示庫 數碼管的控制管教如下所示。

下圖列出了數碼管顯示0到F時點亮的段。例如,在顯示數字0的時候,除了中間的G段外其他的段都被點亮了。而數字1只點亮了B段和C段。

這里的項目位電子時鐘,所以需要使用的字庫為0-9。后續在添加溫濕度的字庫。 新建smg.c和smg.h文件,用于保存數碼管的驅動程序。

smg.c

/*
 * smg.c
 *
 *  Created on: 2023年6月29日
 *      Author: a8456
 */

#include "smg.h"
#include "hal_data.h"


void smg_num(int num)
{
    switch(num)
    {
        case 0:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_OPEN;
            SMG_F_OPEN;
            SMG_G_CLOSE;
            SMG_DP_CLOSE;
            break;
        }
        case 1:
        {
            SMG_A_CLOSE;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_CLOSE;
            SMG_E_CLOSE;
            SMG_F_CLOSE;
            SMG_G_CLOSE;
            SMG_DP_CLOSE;
            break;
        }
        case 2:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_CLOSE;
            SMG_D_OPEN;
            SMG_E_OPEN;
            SMG_F_CLOSE;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 3:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_CLOSE;
            SMG_F_CLOSE;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 4:
        {
            SMG_A_CLOSE;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_CLOSE;
            SMG_E_CLOSE;
            SMG_F_OPEN;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 5:
        {
            SMG_A_OPEN;
            SMG_B_CLOSE;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_CLOSE;
            SMG_F_OPEN;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 6:
        {
            SMG_A_OPEN;
            SMG_B_CLOSE;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_OPEN;
            SMG_F_OPEN;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 7:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_CLOSE;
            SMG_E_CLOSE;
            SMG_F_CLOSE;
            SMG_G_CLOSE;
            SMG_DP_CLOSE;
            break;
        }
        case 8:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_OPEN;
            SMG_F_OPEN;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }
        case 9:
        {
            SMG_A_OPEN;
            SMG_B_OPEN;
            SMG_C_OPEN;
            SMG_D_OPEN;
            SMG_E_CLOSE;
            SMG_F_OPEN;
            SMG_G_OPEN;
            SMG_DP_CLOSE;
            break;
        }




    }



}

void smg_1(int num)
{
    SMG_1_OPEN;
    SMG_2_CLOSE;
    SMG_3_CLOSE;
    SMG_4_CLOSE;

    smg_num(num);

}


void smg_2(int num)
{
    SMG_1_CLOSE;
    SMG_2_OPEN;
    SMG_3_CLOSE;
    SMG_4_CLOSE;
    smg_num(num);

}



void smg_3(int num)
{
    SMG_1_CLOSE;
    SMG_2_CLOSE;
    SMG_3_OPEN;
    SMG_4_CLOSE;
    smg_num(num);

}



void smg_4(int num)
{

    SMG_1_CLOSE;
    SMG_2_CLOSE;
    SMG_3_CLOSE;
    SMG_4_OPEN;
    smg_num(num);

}


void smg_1_p(void)
{
    SMG_1_OPEN;
    SMG_2_CLOSE;
    SMG_3_CLOSE;
    SMG_4_CLOSE;

    SMG_A_OPEN;
    SMG_B_OPEN;
    SMG_C_CLOSE;
    SMG_D_CLOSE;
    SMG_E_OPEN;
    SMG_F_OPEN;
    SMG_G_OPEN;
    SMG_DP_CLOSE;

}





void smg_1_close(void)
{
    SMG_1_OPEN;
    SMG_2_CLOSE;
    SMG_3_CLOSE;
    SMG_4_CLOSE;

    SMG_A_CLOSE;
    SMG_B_CLOSE;
    SMG_C_CLOSE;
    SMG_D_CLOSE;
    SMG_E_CLOSE;
    SMG_F_CLOSE;
    SMG_G_CLOSE;
    SMG_DP_CLOSE;

}


void smg_2_close(void)
{
    SMG_1_CLOSE;
    SMG_2_OPEN;
    SMG_3_CLOSE;
    SMG_4_CLOSE;

    SMG_A_CLOSE;
    SMG_B_CLOSE;
    SMG_C_CLOSE;
    SMG_D_CLOSE;
    SMG_E_CLOSE;
    SMG_F_CLOSE;
    SMG_G_CLOSE;
    SMG_DP_CLOSE;
}



void smg_3_close(void)
{
    SMG_1_CLOSE;
    SMG_2_CLOSE;
    SMG_3_OPEN;
    SMG_4_CLOSE;

    SMG_A_CLOSE;
    SMG_B_CLOSE;
    SMG_C_CLOSE;
    SMG_D_CLOSE;
    SMG_E_CLOSE;
    SMG_F_CLOSE;
    SMG_G_CLOSE;
    SMG_DP_CLOSE;
}



void smg_4_close(void)
{
    SMG_1_CLOSE;
    SMG_2_CLOSE;
    SMG_3_CLOSE;
    SMG_4_OPEN;

    SMG_A_CLOSE;
    SMG_B_CLOSE;
    SMG_C_CLOSE;
    SMG_D_CLOSE;
    SMG_E_CLOSE;
    SMG_F_CLOSE;
    SMG_G_CLOSE;
    SMG_DP_CLOSE;
}








void smg_maohao_open(int num)
{

    SMG_1_CLOSE;
    SMG_2_CLOSE;

    if(num)//開啟冒號
    {
        SMG_3_OPEN;
        SMG_4_OPEN;
        SMG_A_CLOSE;
        SMG_B_CLOSE;
        SMG_C_CLOSE;
        SMG_D_CLOSE;
        SMG_E_CLOSE;
        SMG_F_CLOSE;
        SMG_G_CLOSE;
        SMG_DP_OPEN;


    }
    else
    {
        SMG_3_CLOSE;
        SMG_4_CLOSE;

        SMG_A_CLOSE;
        SMG_B_CLOSE;
        SMG_C_CLOSE;
        SMG_D_CLOSE;
        SMG_E_CLOSE;
        SMG_F_CLOSE;
        SMG_G_CLOSE;
        SMG_DP_CLOSE;

    }
}

void ceshi_smg(void)
{
    for(int i=0;i< 40;i++)
    {
        if(i< 10)
        {   smg_1(i);}

        else if(i >=10&&i< 20)
        {    smg_2(i-10);}

        else if(i >=20&&i< 30)
        {    smg_3(i-20);}

        else if(i >=30&&i< 40)
        {   smg_4(i-30);}


        R_BSP_SoftwareDelay(100U, BSP_DELAY_UNITS_MILLISECONDS);
    }
     smg_maohao_open(1);





}

smg.h

/*
 * smg.h
 *
 *  Created on: 2023年6月29日
 *      Author: a8456
 */

#ifndef SMG_H_
#define SMG_H_
#define SMG_A_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH)
#define SMG_B_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_00, BSP_IO_LEVEL_HIGH)
#define SMG_C_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_13, BSP_IO_LEVEL_HIGH)
#define SMG_D_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_08, BSP_IO_LEVEL_HIGH)
#define SMG_E_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_HIGH)
#define SMG_F_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_02, BSP_IO_LEVEL_HIGH)
//舊版PCB
//#define SMG_G_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_HIGH)
//新版PCB
#define SMG_G_OPEN  R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_00, BSP_IO_LEVEL_HIGH)
#define SMG_DP_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_12, BSP_IO_LEVEL_HIGH)


#define SMG_A_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW)
#define SMG_B_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_00, BSP_IO_LEVEL_LOW)
#define SMG_C_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_13, BSP_IO_LEVEL_LOW)
#define SMG_D_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_08, BSP_IO_LEVEL_LOW)
#define SMG_E_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_LOW)
#define SMG_F_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_02, BSP_IO_LEVEL_LOW)
//舊版PCB
//#define SMG_G_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_LOW)
//新版PCB
#define SMG_G_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_00, BSP_IO_LEVEL_LOW)
#define SMG_DP_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_12, BSP_IO_LEVEL_LOW)

#define SMG_1_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW)
#define SMG_2_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_01, BSP_IO_LEVEL_LOW)
#define SMG_3_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_00, BSP_IO_LEVEL_LOW)
//舊版PCB
//#define SMG_4_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_00, BSP_IO_LEVEL_LOW)
//新版PCB
#define SMG_4_OPEN R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_LOW)


#define SMG_1_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH)
#define SMG_2_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_01, BSP_IO_LEVEL_HIGH)
#define SMG_3_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_00, BSP_IO_LEVEL_HIGH)
//舊版PCB
//#define SMG_4_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_00, BSP_IO_LEVEL_HIGH)
//新版PCB
#define SMG_4_CLOSE R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_HIGH)


void smg_num(int num);

void smg_1(int num);
void smg_2(int num);
void smg_3(int num);
void smg_4(int num);

void smg_1_p(void);


void smg_1_close(void);
void smg_2_close(void);
void smg_3_close(void);
void smg_4_close(void);
void smg_maohao_open(int num);

void ceshi_smg(void);
#endif /* SMG_H_ */

添加完畢之后需要在主程序中加入對于的頭文件。

#include "smg.h"

添加測試程序。

主程序

#include "hal_data.h"
#include < stdio.h >
#include "smg.h"
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

fsp_err_t err = FSP_SUCCESS;
volatile bool uart_send_complete_flag = false;
/* Callback function */
void user_uart_callback(uart_callback_args_t *p_args)
{
    /* TODO: add your own code here */
    if(p_args- >event == UART_EVENT_TX_COMPLETE)
     {
         uart_send_complete_flag = true;
     }
}


#ifdef __GNUC__                                 //串口重定向
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
        err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1);
        if(FSP_SUCCESS != err) __BKPT();
        while(uart_send_complete_flag == false){}
        uart_send_complete_flag = false;
        return ch;
}

int _write(int fd,char *pBuffer,int size)
{
    for(int i=0;i< size;i++)
    {
        __io_putchar(*pBuffer++);
    }
    return size;
}



/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
void hal_entry(void)
{
    /* TODO: add your own code here */

/**********************串口設置***************************************/
    /* Open the transfer instance with initial configuration. */
       err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg);
       assert(FSP_SUCCESS == err);

/**********************數碼管測試***************************************/
       ceshi_smg();

       while(1)
       {
       printf("hello world!n");
       R_BSP_SoftwareDelay(1000U, BSP_DELAY_UNITS_MILLISECONDS);
       }



#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

加入對于的數碼管測試程序。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23337

    瀏覽量

    662236
  • 瑞薩
    +關注

    關注

    35

    文章

    22310

    瀏覽量

    86584
  • 數碼管
    +關注

    關注

    32

    文章

    1883

    瀏覽量

    91315
  • 電子時鐘
    +關注

    關注

    11

    文章

    197

    瀏覽量

    24561
收藏 人收藏

    評論

    相關推薦

    電子時鐘制作(RA)(5)----定時器驅動數碼管

    要想讓每個數碼管顯示不同的數字,但是數碼管必須依次地被持續驅動數碼管之間的刷新速度應該足夠快,這樣就看不出來數碼管之間在閃爍。刷新頻率可以
    的頭像 發表于 12-01 14:06 ?593次閱讀
    <b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(5)----定時器<b class='flag-5'>驅動</b><b class='flag-5'>數碼管</b>

    電子時鐘制作(RA)(7)----按鍵修改數碼管時間

    前幾節課程已經單獨驅動數碼管和RTC,同時已經整合成了能夠用數碼管顯示具體時間,但是無法修改時間,這節就來配置使用按鍵修改具體的日期。
    的頭像 發表于 12-01 14:14 ?1123次閱讀
    <b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(7)----按鍵修改<b class='flag-5'>數碼管</b>時間

    基于RASC的keil電子時鐘制作(RA)(2)----配置keil以及使用串口進行打印

    本篇文章主要介紹了一種基于RA系列微控制器的電子時鐘制作方法,重點關注如何利用
    的頭像 發表于 12-01 14:47 ?762次閱讀
    基于RASC的keil<b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(2)----配置keil以及使用串口進行打印

    基于RASC的keil電子時鐘制作(RA)(5)----驅動LED數碼管

    本篇文章主要介紹如何使用e2studio對RA2E1開發板進行數碼管驅動。
    的頭像 發表于 12-01 15:01 ?686次閱讀
    基于RASC的keil<b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(5)----<b class='flag-5'>驅動</b><b class='flag-5'>LED</b><b class='flag-5'>數碼管</b>

    基于RASC的keil電子時鐘制作(RA)(6)----定時器驅動數碼管

    要想讓每個數碼管顯示不同的數字,但是數碼管必須依次地被持續驅動,數碼管之間的刷新速度應該足夠快,這樣就看不出來數碼管之間在閃爍。刷新頻率可以
    的頭像 發表于 12-01 15:03 ?671次閱讀
    基于RASC的keil<b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(6)----定時器<b class='flag-5'>驅動</b><b class='flag-5'>數碼管</b>

    基于RASC的keil電子時鐘制作(RA)(8)----按鍵修改數碼管時間

    前幾節課程已經單獨驅動數碼管和RTC,同時已經整合成了能夠用數碼管顯示具體時間,但是無法修改時間,這節就來配置使用按鍵修改具體的日期。
    的頭像 發表于 12-01 15:08 ?977次閱讀
    基于RASC的keil<b class='flag-5'>電子時鐘</b><b class='flag-5'>制作</b>(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(8)----按鍵修改<b class='flag-5'>數碼管</b>時間

    AT89C51數碼管電子時鐘源代碼

    AT89C51數碼管電子時鐘源代碼
    發表于 08-13 23:30

    LED數碼管顯示電子鐘設計

    1、課題內容:設計一種基于AT89S52單片機的數碼管顯示電子時鐘,要求如下:(1)、能正確顯示時間,時鐘數碼管顯示,顯示格式為:XX小時?XX分?XX秒。(2)、時間能夠由按鍵調整
    發表于 05-31 08:03

    關于數碼管電子時鐘制作

    關于數碼管電子時鐘制作
    發表于 04-11 22:09

    初學單片機,請教用74HC164D驅動級聯數碼管

    初學單片機,請教幫幫忙。1、MCU型號:RL78/F13 R5F10AGG(48PIN),串口驅動數碼管電路如下:[attach]***4
    發表于 09-25 18:33

    基于數碼管電子時鐘代碼設計詳細資料免費下載

    本文檔的主要內容詳細介紹的是基于數碼管電子時鐘代碼設計資料免費下載。
    發表于 07-04 08:00 ?34次下載

    使用51單片機設計的六位數碼管電子時鐘程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機設計的六位數碼管電子時鐘程序免費下載。
    發表于 09-26 14:58 ?122次下載
    使用51單片機設計的六位<b class='flag-5'>數碼管</b><b class='flag-5'>電子時鐘</b>程序免費下載

    使用單片機實現LED電子時鐘的設計與制作

    本次設計中的LED數碼管電子時鐘電路采用24小時制記時方式。本次設計采用AT89C51單片機的擴展芯片和6個三極驅動,由六塊
    發表于 04-02 08:00 ?5次下載
    使用單片機實現<b class='flag-5'>LED</b><b class='flag-5'>電子時鐘</b>的設計與<b class='flag-5'>制作</b>

    基于51單片機電子時鐘數碼管顯示設計資料包

    基于51單片機電子時鐘數碼管顯示設計資料包
    發表于 10-25 10:07 ?15次下載

    基于51單片機的數碼管顯示電子時鐘例程源代碼

    基于51單片機的數碼管顯示電子時鐘例程源代碼
    發表于 05-12 16:33 ?48次下載
    主站蜘蛛池模板: 在线视频 日韩视频二区| 久草热在线| 色戒西瓜视频| 国产精品久久久久久日本| 亚洲精品在线网址| 男的插曲女的下面免费APP| p影院永久免费| 香蕉动漫库| 伦理片97影视网| 国产成人精品免费视频下载| 亚洲精品嫩草AV在线观看| 免费99精品国产自在现线| 国产成人精品视频频| 伊人精品国产| 日韩在线看片中文字幕不卡| 九九热在线视频| 草柳最新地址| 伊人国产视频| 日日摸夜夜添夜夜爽出水| 久久草香蕉频线观| 俄罗斯12一15处交| 最近的2019中文字幕国语HD| 我和妽妽在厨房里的激情区二区| 久久久青青| 国产精品亚洲AV毛片一区二区三区 | 98色精品视频在线| 羞羞答答影院在线| 欧美亚洲视频在线二区| 九九黄色大片| 国产成年人在线观看| 2021国产精品视频一区| 性xxxx18公交车| 全文都是肉高h文| 久久青草免费线观最新| 国产精品成人观看视频免费| bbw美女与zooxx| 在线观看国产人视频免费中国| 无码天堂亚洲内射精品课堂| 欧美在线看费视频在线| 老熟女毛茸茸浓毛| 狠狠色狠狠色88综合日日91|