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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

TM1650 4KEY4LED計數器(總減+移位+減1+加1)

[復制鏈接]
ID:33548 發表于 2025-3-24 13:20 | 顯示全部樓層 |閱讀模式
用模塊資料+豆包AI+自己修改生成的C代碼,調試OK,奉獻給大家

TM1650 4KEY4LED計數器(總減+移位+減1+加1)C代碼
51hei20250324-131441.png 51hei20250320-194057.png

//TM1650四按鍵四數碼管數據調整實驗OK

//功能:按TM1650四按鍵四LED數碼管模塊第二個鍵,個位閃爍,第三個鍵減小,第四個鍵增大。十位以上以此類推。
//第一個按鍵為4位LED總顯示數值遞減計數


//主程序
#include<reg52.h>
#include<intrins.h>
#include"tm1650.h"

#define uchar unsigned char
#define uint  unsigned int

// 新增全局變量聲明
bit flash_flag;         // 閃爍標志
uchar flash_counter;    // 閃爍計時器
uchar adjust_mode = 0;  // 新增調整模式狀態
uchar digits[4] = {0,0,0,0}; // 新增數值存儲數組
uint combined_value;    // 4位LED顯示總數值

// 顯示編碼表(帶小數點控制位)
uchar CODE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

// 定時器初始化(新增完整函數)
void Timer0_Init() {
    TMOD |= 0x01;      // 模式1
    TL0 = 0x18;        // 1ms定時
    TH0 = 0xFC;
    ET0 = 1;           // 中斷使能
    TR0 = 1;
    EA = 1;
}

// 定時器中斷服務(新增完整實現)
void Timer0_ISR() interrupt 1
{
    static uint counter = 0;
    TH0 = 0xFC;        // 重裝初值
    TL0 = 0x18;
    if(++counter >= 500) { // 500ms周期
        flash_flag = !flash_flag;
        counter = 0;
    }
}

// 顯示更新函數(優化小數點處理)
void Update_Display()
{
    uchar seg_data;
    // 千位(地址0x68)
    seg_data = (adjust_mode==4 && flash_flag) ? 0x00 : CODE[digits[0]];
    TM1650_Set(0x68, seg_data | (adjust_mode==4 ? 0x80 : 0x00));
    // 百位(地址0x6A)
    seg_data = (adjust_mode==3 && flash_flag) ? 0x00 : CODE[digits[1]];
    TM1650_Set(0x6A, seg_data | (adjust_mode==3 ? 0x80 : 0x00));
    // 十位(地址0x6C)
    seg_data = (adjust_mode==2 && flash_flag) ? 0x00 : CODE[digits[2]];
    TM1650_Set(0x6C, seg_data | (adjust_mode==2 ? 0x80 : 0x00));
    // 個位(地址0x6E)
    seg_data = (adjust_mode==1 && flash_flag) ? 0x00 : CODE[digits[3]];
    TM1650_Set(0x6E, seg_data | (adjust_mode==1 ? 0x80 : 0x00));

    // 計算總數值
    combined_value = digits[0] * 1000 + digits[1] * 100 + digits[2] * 10 + digits[3];
}

// 按鍵處理(增加邊界保護)
void Process_Key(uchar key)
{
    static uchar last_key = 0;
    if(key == last_key) return;

    // 模式切換鍵處理
    if(key == 0x54)   // 0x54是TM1650的按鍵代碼之一
    {
        adjust_mode = (adjust_mode < 4) ? adjust_mode+1 : 0;
        flash_flag = 0;    // 強制顯示穩定
    }
    if(key == 0x5c)       // 0x5c是TM1650的按鍵代碼之一
    {
        if(combined_value > 0) {
            combined_value--;
            // 將總數值拆分為各個數位
            digits[0] = combined_value / 1000;
            digits[1] = (combined_value / 100) % 10;
            digits[2] = (combined_value / 10) % 10;
            digits[3] = combined_value % 10;
        }
    }

    // 數值調整(帶范圍限制)
    if(adjust_mode > 0)
    {
        uchar *p = &digits[4 - adjust_mode];
        if(key == 0x4C) *p = (*p - 1 + 10) % 10; // 循環減,0x4c是TM1650的按鍵代碼之一
        if(key == 0x44) *p = (*p + 1) % 10;      // 循環加,0x44是TM1650的按鍵代碼之一
    }
    last_key = key;
}

// 主函數(修正初始化邏輯)
void main()
{
    Timer0_Init();
    TM1650_Set(0x48, 0x51);        // 顯示控制:5級亮度
    Update_Display(); // 初始化顯示

    while(1)
    {
        Process_Key(Scan_Key());
        Update_Display();
    }
}


//TM1650 C文件
#include<reg52.h>
#include"tm1650.h"
void Delay_us(uint i) //us延時
{
for(;i>0;i--)
{
_nop_();
// _nop_();
// _nop_();
// _nop_();
// _nop_();
}
}
void I2CStart(void) //開始信號
{
CLK_H;
DIO_H;
Delay_us(5);
DIO_L;
}
void I2Cask(void) //ACK信號
{
uchar timeout = 1;
CLK_H;
Delay_us(5);
CLK_L;
while((DIO)&&(timeout<=100))
{
  timeout++;
}
Delay_us(5);
CLK_L;
}
void I2CStop(void) //停止信號
{
CLK_H;
DIO_L;
Delay_us(5);
DIO_H;
}
void I2CWrByte(uchar oneByte) //寫一個字節高位在前,低位在后
{
uchar i;
CLK_L;
Delay_us(1);
for(i=0;i<8;i++)
{
oneByte = oneByte<<1;
DIO = CY;
CLK_L;
Delay_us(5);
CLK_H;
Delay_us(5);
CLK_L;
}
}
uchar Scan_Key(void)   // 按鍵掃描
{
uchar i;
uchar rekey;
I2CStart();
I2CWrByte(0x49);//讀按鍵命令
I2Cask();
//DIO_H;
for(i=0;i<8;i++)
{
   CLK_H;
   rekey = rekey<<1;
   if(DIO)
   {
    rekey++;
   }
   Delay_us(5);
   CLK_L;
}
I2Cask();
I2CStop();
return(rekey);
}
void TM1650_Set(uchar add,uchar dat) //數碼管顯示
{
//寫顯存必須從高地址開始寫
I2CStart();
I2CWrByte(add); //第一個顯存地址
I2Cask();
I2CWrByte(dat);
I2Cask();
I2CStop();
}



//TM1650 C文件
#ifndef __TM1650_H__
#define __TM1650_H__
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit CLK = P1^0;
sbit DIO = P1^1;
#include<reg52.h>
#define CLK_H  CLK = 1
#define CLK_L  CLK = 0
#define DIO_H  DIO = 1
#define DIO_L  DIO = 0
void TM1650_Set(uchar add,uchar dat);
uchar Scan_Key(void);
#endif

評分

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

查看全部評分

回復

使用道具 舉報

ID:33548 發表于 2025-3-25 13:56 | 顯示全部樓層
程序再添新功能。上面的TM1650頭文件和C文件不變,把模塊的第一個按鍵改成遞減開始/暫停功能
//TM1650四按鍵四數碼管數據調整實驗2OK

//功能:按TM1650四按鍵四LED數碼管模塊第二個鍵,個位閃爍,第三個鍵數值減小,第四個鍵數值增大
//按第一個按鍵時,4位LED總顯示數值遞減計數,再按一次,暫停。

#include<reg52.h>
//#include<intrins.h>
#include"tm1650.h"

#define uchar unsigned char
#define uint  unsigned int

// 新增全局變量聲明
bit flash_flag;         // 閃爍標志
uchar flash_counter;    // 閃爍計時器
uchar adjust_mode = 0;  // 新增調整模式狀態
uchar digits[4] = {0,0,0,0}; // 新增數值存儲數組
uint combined_value;    // 4位LED顯示總數值
bit counting_down = 0;  // 倒計時標志
bit pause_flag = 0;     // 暫停標志

// 顯示編碼表(帶小數點控制位)
uchar CODE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

// 聲明 Scan_Key 函數
uchar Scan_Key();

// 定時器0初始化(原代碼功能不變)
void Timer0_Init() {
    TMOD |= 0x01;      // 模式1
    TL0 = 0x18;        // 1ms定時
    TH0 = 0xFC;
    ET0 = 1;           // 中斷使能
    TR0 = 1;
    EA = 1;
}

// 顯示更新函數(優化小數點處理)
void Update_Display()
{
    uchar seg_data;
    // 千位(地址0x68)
    seg_data = (adjust_mode==4 && flash_flag) ? 0x00 : CODE[digits[0]];
    TM1650_Set(0x68, seg_data | (adjust_mode==4 ? 0x80 : 0x00));
    // 百位(地址0x6A)
    seg_data = (adjust_mode==3 && flash_flag) ? 0x00 : CODE[digits[1]];
    TM1650_Set(0x6A, seg_data | (adjust_mode==3 ? 0x80 : 0x00));
    // 十位(地址0x6C)
    seg_data = (adjust_mode==2 && flash_flag) ? 0x00 : CODE[digits[2]];
    TM1650_Set(0x6C, seg_data | (adjust_mode==2 ? 0x80 : 0x00));
    // 個位(地址0x6E)
    seg_data = (adjust_mode==1 && flash_flag) ? 0x00 : CODE[digits[3]];
    TM1650_Set(0x6E, seg_data | (adjust_mode==1 ? 0x80 : 0x00));

    // 計算總數值
    combined_value = digits[0] * 1000 + digits[1] * 100 + digits[2] * 10 + digits[3];
}

// 定時器0中斷服務(原代碼功能不變)
void Timer0_ISR() interrupt 1
{
    static uint counter = 0;
    TH0 = 0xFC;        // 重裝初值
    TL0 = 0x18;
    if(++counter >= 500) { // 500ms周期
        flash_flag = !flash_flag;
        counter = 0;
    }
}

// 定時器1初始化
void Timer1_Init() {
    TMOD |= 0x10;      // 定時器1,模式1
    TH1 = 0xFC;        // 1ms定時
    TL1 = 0x18;
    ET1 = 1;           // 定時器1中斷使能
    TR1 = 0;           // 先不啟動定時器1
    EA = 1;
}

// 定時器1中斷服務
void Timer1_ISR() interrupt 3
{
    static uint counter = 0;
    TH1 = 0xFC;        // 重裝初值
    TL1 = 0x18;
    if (++counter >= 1000) { // 1000ms = 1s
        counter = 0;
        if (counting_down &&!pause_flag && combined_value > 0) {
            combined_value--;
            // 將總數值拆分為各個數位
            digits[0] = combined_value / 1000;
            digits[1] = (combined_value / 100) % 10;
            digits[2] = (combined_value / 10) % 10;
            digits[3] = combined_value % 10;
            Update_Display();
        }
    }
}

// 按鍵處理(增加邊界保護)
void Process_Key(uchar key)
{
    static uchar last_key = 0;
    if(key == last_key) return;
   
    // 模式切換鍵處理
    if(key == 0x54)   // 0x54是TM1650的按鍵代碼之一
    {
        adjust_mode = (adjust_mode < 4) ? adjust_mode+1 : 0;
        flash_flag = 0;    // 強制顯示穩定
    }
    if(key == 0x5c)       // 0x5c是TM1650的按鍵代碼之一
    {
        if(combined_value > 0) {
            if (!counting_down) {
                counting_down = 1;  // 開始倒計時
                TR1 = 1;            // 啟動定時器1
                pause_flag = 0;     // 開始時不暫停
            } else {
                pause_flag =!pause_flag; // 切換暫停狀態
            }
        }
    }
   
    // 數值調整(帶范圍限制)
    if(adjust_mode > 0)
    {
        uchar *p = &digits[4 - adjust_mode];
        if(key == 0x4C) *p = (*p - 1 + 10) % 10; // 循環減,0x4c是TM1650的按鍵代碼之一
        if(key == 0x44) *p = (*p + 1) % 10;      // 循環加,0x44是TM1650的按鍵代碼之一
    }
    last_key = key;
}

// 主函數(修正初始化邏輯)
void main()
{
    Timer0_Init();
    Timer1_Init();
    TM1650_Set(0x48, 0x51);        // 顯示控制:5級亮度
    Update_Display(); // 初始化顯示

    while(1)
    {
        Process_Key(Scan_Key());
        Update_Display();
    }
}

評分

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

查看全部評分

回復

使用道具 舉報

ID:383215 發表于 2025-3-28 18:47 | 顯示全部樓層
01.jpg

前段時間畫了一個TM1650測試四位數碼管的單面板,第一次用TM1650,老老實實的按照TM1650的數據手冊畫圖,TM1650和四位數碼管之間的四個公共端管腳連接和7個段碼輸出+小數點輸出管腳連接,嚴格按照數據手冊提供的原理圖連接。
02.jpg

一共買了四種四位數碼管,0.28寸的和0.36寸的各兩種。
03.jpg
手工做的單面板可以測試兩種四位數碼管。
   04.jpg
   05.jpg
按照TM1650數據手冊編程,兩種數碼管都可以正常顯示數字,只是編完程序之后才發現,TM1650的公共端和段碼輸出小數點和數碼管的公共端和段碼輸出小數點,根本沒有必要一一對應,只要公共端和段碼輸出之間不要搞錯就可以了。
看了樓主的程序好復雜,很多看不懂,我只是顯示數字,沒有用到按鍵檢測,TM1650的數據手冊在我認知以內,我編的程序很簡單。
06.jpg
后來又畫了一個TM1650驅動四位數碼管的雙面板,用來顯示調頻收發模塊的頻率,這次畫圖,TM1650和數碼管之間,公共端和段碼小數點輸出之間的順序按實際畫圖,怎么順就怎么連。
07.jpg

也就是TM1650與數碼管之間的驅動連接,DIG是1接4、3接2、2接3、1接4,段碼和小數點是a接a、g接c、f接f、e接b……,除了a接a、f接f是對應的,其它都是按PCB布線方便決定的連接,我相信我編程的時候只要注意公共端掃描的順序,重新編一下段碼表,正確顯示數字應該不是問題,用豆包AI可以實現嗎?

回復

使用道具 舉報

ID:33548 發表于 2025-4-1 15:46 | 顯示全部樓層
kmsj 發表于 2025-3-28 18:47
前段時間畫了一個TM1650測試四位數碼管的單面板,第一次用TM1650,老老實實的按照TM1650的數據手冊畫圖 ...

你這只能顯示1234這幾個固定數字,只能做簡單的實驗,沒有實用價值。在實際應用中,有些是需要調整可變的。
回復

使用道具 舉報

ID:33548 發表于 2025-4-1 15:51 | 顯示全部樓層
本帖最后由 cjtdz 于 2025-4-1 16:04 編輯
kmsj 發表于 2025-3-28 18:47
前段時間畫了一個TM1650測試四位數碼管的單面板,第一次用TM1650,老老實實的按照TM1650的數據手冊畫圖 ...

沙發那一層,只要在主程序里添加一個端口,去控制一個繼電器,就可做一個最長時間為9999秒,可以任意設定的定時器。比如:你設定為120,也就是2分鐘,當從120遞減到0時,你可以讓P0.0輸出高電平或低電平,通過電阻、三極管,驅動繼電器,去控制什么電器的開啟與關閉。在前面做好位定義,比如:sbit kaiguan=P1^0;在主程序相應的地方(主循環里)添加kaiguan=0;或者kaiguan=1;(根據你的硬件配置),這不一個遞減定時器不就做成了?!
回復

使用道具 舉報

ID:383215 發表于 2025-4-4 16:33 | 顯示全部樓層
本帖最后由 kmsj 于 2025-7-30 16:17 編輯
cjtdz 發表于 2025-4-1 15:46
你這只能顯示1234這幾個固定數字,只能做簡單的實驗,沒有實用價值。在實際應用中,有些是需要調整可變的 ...

TM1650只要能顯示1234,7段碼基本上用完了,要顯示什么都可以,只要能顯示1234,必然可以顯示5678、90Ab、CdEF,無非就是增加段碼數組而已。
1234.gif
我就做一個GIF動畫,讓你看看除了顯示1234,還可以顯示5678、90Ab、CdEF,第一次做GIF動畫,不知道會不會動態顯示,估計你根本沒有用過TM1650,TM1650驅動數碼管,是通過I2C發數據給TM1650,只要能顯示1234,所有需要的內容都可以顯示。
回復

使用道具 舉報

ID:33548 發表于 2025-4-5 16:02 | 顯示全部樓層
kmsj 發表于 2025-4-4 16:33
TM1860只要能顯示1234,7段碼基本上用完了,要顯示什么都可以,只要能顯示1234,必然可以顯示5678、90Ab、 ...

你說的對,只要段碼能顯示的,你想讓它顯示什么就可以顯示什么。我不是否定你的做法,我說的意思是:實際應用時,不是按你指定的段碼顯示的呀?比如接一個溫度傳感器,要顯示一天的溫度,它顯示的溫度數是隨機的,不是你指定的。從零下幾度到三十多度,都有可能。
回復

使用道具 舉報

ID:383215 發表于 2025-4-6 18:03 | 顯示全部樓層
cjtdz 發表于 2025-4-5 16:02
你說的對,只要段碼能顯示的,你想讓它顯示什么就可以顯示什么。我不是否定你的做法,我說的意思是:實際 ...

哦,你以為我做測試沒有實用價值,我的習慣是使用任何一個元器件或者模塊,只要有條件,就先做測試,這次對TM1650驅動四位數碼管做的測試很有收獲,TM1650驅動四位數碼管,3.3V的驅動電壓顯示正常,沒有其它IC3.3V驅動數碼管亮度不夠的情況,而且和5V驅動的亮度基本一致,位驅動和段驅動畫圖的時候沒有必要一一對應,PCB里怎么順就怎么連,唯一缺點是八級亮度應該夠了,最暗的一級在全黑的夜晚有些偏亮,要是再暗一半就完美了。
做測試就好好做測試,沒有必要顯示一些不必要的內容,我在我的試驗板上加一個18B20,肯定就可以顯示溫度,加一個時鐘IC,就可以顯示時間,這樣做有何意義?畫蛇添足,只要能顯示1到9,A到F就足夠了,足以證明我的電路沒有錯,程序沒有錯。
01.jpg
這次用TM1650驅動四位數碼管,主要顯示RDA5807調頻收音機的頻率,電路板已經做好,只要能顯示1到9就夠了,亮度太亮沒有影響,調完頻率之后就熄滅顯示。RDA5807調頻收音機也做過測試,可以設置任意頻率收臺,這次是增加數碼管顯示頻率和手動調臺,我所有測試做完以后再設計電路,成功率相當高,如果不做測試,萬一哪一步出了問題,從頭再來花費的精力更大。
做好的TM1650驅動四位數碼管的電路以后肯定還有用處,下一步我要用K型熱電偶測試一個小電爐的最高溫度,大概是兩三百度,用這個電路做測試非常合適。
回復

使用道具 舉報

ID:1110477 發表于 2025-7-25 02:51 | 顯示全部樓層
kmsj 發表于 2025-4-4 16:33
TM1860只要能顯示1234,7段碼基本上用完了,要顯示什么都可以,只要能顯示1234,必然可以顯示5678、90Ab、 ...

我就是好奇,討論1650,啥時候升級到1860啦
回復

使用道具 舉報

ID:1112603 發表于 2025-7-30 08:34 | 顯示全部樓層
在MCU的IO口不夠用的情況下,TM1650分擔按鍵IO口的功能很實用。
回復

使用道具 舉報

ID:383215 發表于 2025-7-30 16:40 | 顯示全部樓層
keemee 發表于 2025-7-25 02:51
我就是好奇,討論1650,啥時候升級到1860啦

感謝你的指正!是TM1650,不是什么1860,是我寫錯了,已經重新編輯修改。
01.jpg

02.jpg

03.jpg

經過改進,STC8G1K08驅動RDA5807用TM1650顯示頻率已經成功,準備裝在18650鋰電池盒子里,就是一個調頻接收機了。

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国产精品久久久久久久电影| 日韩在线a电影| 国产精品福利在线播放| www.午夜精品| 97国产精东麻豆人妻电影| 国产99久久久久久免费看| 亚洲夫妻av| 欧美jizz18性欧美| 国内精品福利| 欧美日韩的一区二区| 国产综合av一区二区三区| 欧美wwwwwww| 丰满人妻一区二区三区免费| 日本大片在线播放| 美女脱光内衣内裤视频久久网站| 日韩美女在线视频| 在线丝袜欧美日韩制服| 夜夜躁日日躁狠狠久久av| av片在线免费观看| 成人高清av| 婷婷综合五月天| 97人人模人人爽人人喊38tv| 妖精视频在线观看免费| 97视频网站| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩国产丝袜美女| 日本中文字幕在线观看| 色综合久久久久综合99| 日本69式三人交| 日本电影一区二区| 欧美日韩国产页| 国产卡一卡二在线| 欧美精品一区在线发布| 青草视频在线观看免费| 伊人春色在线| 久久精品人人| 久久99视频精品| 亚洲欧美aaa| 天天操夜夜操夜夜操| 亚洲福利国产| 4438亚洲最大| 午夜精品久久久久久久无码| 成人亚洲欧美激情在线电影| 日韩欧美精品| 亚洲精品理论电影| 亚洲三级在线观看视频| 男女羞羞视频教学| 久久永久免费| 91精品国产精品| 久久艹精品视频| 川上优av中文字幕一区二区| 亚洲天堂成人在线观看| 人偷久久久久久久偷女厕| 日韩有码第一页| 天堂一区二区三区四区| 精品国产凹凸成av人网站| 国产精品自拍合集| 欧美另类videos粗暴黑人| 国产成人免费av一区二区午夜 | 翔田千里88av中文字幕| 欧美精品videossex少妇| 欧美激情一区二区三区全黄| 欧美大香线蕉线伊人久久| 欧美自拍偷拍第一页| 国产图片一区| 亚洲国产精品电影| 国产一级免费片| 飘雪影院手机免费高清版在线观看| 高清免费成人av| 国产精品亚洲综合| 少妇一级淫片免费看| 亚洲v天堂v手机在线| 日韩毛片在线看| 美女洗澡无遮挡| dy888亚洲精品一区二区三区| 成人免费在线视频| 欧美高清性xxxxhd| 亲爱的老师6电影韩剧| youjizz亚洲| 欧美www视频| 无码人妻一区二区三区一| 你懂的免费在线观看| 欧美国产日本韩| 亚洲一区在线直播| 99综合精品久久| 国产欧美不卡| 国产精品无av码在线观看| 国产又黄又粗又硬| 国产欧美高清视频在线| 精品国产一区二区三区久久狼黑人| 男女免费视频网站| 国产一区二区三区国产精品| 精品福利一区二区三区| 微拍福利一区二区| 亚洲一二三四| 亚洲天堂福利av| 成人一区二区免费视频| 国产精品影视| 992tv国产精品成人影院| 91成人国产精品| 日韩精品在线播放视频| 高清日韩av| 波多野结衣一区二区三区| 欧美精品二区三区四区免费看视频| 久久99国产精品久久99小说| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品视频永久免费播放| xxxx国产精品| 黄色美女久久久| 亚洲午夜国产成人av电影男同| 国产第一页精品| 亚洲伦乱视频| 精品福利视频一区二区三区| 婷婷色一区二区三区| 欧美日韩123区| 欧美xingq一区二区| 人人妻人人澡人人爽| 在线观看福利电影| 日韩视频一区二区在线观看| 在线免费观看麻豆| 影视一区二区三区| 亚洲国产毛片完整版| 欧美精品成人久久| 日韩第一区第二区| 中文字幕精品久久久久| 中文字字幕在线中文| 人人精品视频| 欧美第一页在线| 亚洲影院一区二区三区| 国产午夜久久av| 国产亚洲欧美aaaa| 精品无码一区二区三区的天堂| 国产一区二区三区电影在线观看| 性欧美办公室18xxxxhd| 午夜久久久久久噜噜噜噜| 亚洲精品1区2区| 国产成人精品电影| 亚州av在线播放| 日本成人中文字幕| 91视频-88av| 欧美四级剧情无删版影片| 另类成人小视频在线| 欧美一区二区三区电影在线观看| 肥婆老bbb肥婆bbbbb| 日本欧美一区二区三区乱码| 久久人人九九| 男女羞羞视频网站| 亚洲欧洲av另类| 成人免费视频网址| 国产剧情av片巨作醉酒女邻居 | 亚洲欧美精品一区二区| 日本中文字幕在线免费观看| 日韩三级一区| 色婷婷**av毛片一区| 亚洲中文字幕在线一区| 亚洲天堂男人| 精品一区二区三区国产| 99热播在线观看| 日韩美女久久久| 青青草精品在线| 中文在线8资源库| 亚洲人成毛片在线播放| 曰本女人与公拘交酡| 天堂久久午夜av| 亚洲网在线观看| 欧美三级网站在线观看| 亚洲激情午夜| 蜜桃视频在线观看91| 黑粗硬长欧美在线视频免费的| 一区二区三区小说| 中文字幕 日本| 91麻豆精品| 欧美激情aaaa| 中文有码在线| av在线不卡观看免费观看| 四虎永久国产精品| 黄色网址电影| 国产精品不卡一区| 人妻精油按摩bd高清中文字幕| 在线最新版中文在线| 中文字幕欧美亚洲| 超碰免费在线97| 九一九一国产精品| 日韩精品在线中文字幕| 国产一二区在线| 日韩精品在线观看一区| 91欧美日韩麻豆精品| 蜜臀久久99精品久久久久久9| 成人免费看片视频在线观看| 日本中文字幕在线观看| 日韩国产欧美精品在线| 国产精品国产一区二区三区四区 | 丁香啪啪综合成人亚洲| 一区二区三区性视频| 欧美网站大全在线观看| 日本污视频网站| 在线成人动漫av| 成人精品一二区| 香港日本韩国三级| 欧美日本免费一区二区三区| 精品免费囯产一区二区三区| 欧美一级专区| 性一交一乱一伧国产女士spa| 婷婷在线播放| 久久精品国产一区| 亚洲精品天堂在线观看| 亚洲国产精品传媒在线观看| 久久精品老司机| 精品国产91久久久久久浪潮蜜月| 国产91免费看片| 999视频在线| 一区二区三区高清视频在线观看| 精品免费二区三区三区高中清不卡| 校园春色影音先锋| 91精品国产欧美日韩| 中文在线字幕免费观| 久久99久久久久| 亚洲久久中文字幕| gogo人体一区| 成人av免费看| 日本啊v在线| 亚洲男人天堂网| 中文字幕国产欧美| 一区二区在线观看视频| 男女羞羞免费视频| 国产欧美在线| 激情综合在线观看| 亚洲综合资源| 91免费精品国偷自产在线| 香港三级经典全部种子下载| 精品日韩在线一区| 欧美视频一二区| 国产精品人成在线观看免费 | 久久99蜜桃精品| 欧美wwwwwww| 日韩影片在线观看| 97人人澡人人爽| 欧美色视频免费| 国产亚洲精品久久| 精品入口麻豆传煤| 亚洲一区在线视频观看| 国产在线观看无码免费视频| 欧美天天综合| 五月天男人天堂| 91九色国产在线播放| 日韩黄色高清视频| 区二区三区在线| 亚洲精品美腿丝袜| 日韩成人免费在线视频| 精品一区二区三区蜜桃| 人妻体体内射精一区二区| 九九久久成人| 中文字幕制服丝袜在线| 色婷婷综合久久久中字幕精品久久| 国产精品ⅴa在线观看h| 最新中文字幕在线| 中文字幕欧美亚洲| 黑人巨大40cm重口| 日韩你懂的电影在线观看| 日本精品久久久久| 亚洲精品自拍动漫在线| 69成人免费视频| 91首页免费视频| 日韩精品一区二区三区在线视频| 水野朝阳av一区二区三区| 日韩精品视频网址| 国产精品久久久久久| 欧美亚洲日本一区二区三区| 精品国产18久久久久久二百| 鲁片一区二区三区| 女厕盗摄一区二区三区| 91亚洲精品在线| 国产理论在线观看| 日本精品视频在线| 一级二级三级在线观看| 久久精品福利视频| www.天天操.com| 日韩av最新在线观看| 精品国产高清a毛片无毒不卡| 欧美在线观看一区| 天天干天天做天天操| 欧美一级专区| www.污污视频| 中国成人一区| 在线观看av日韩| 欧美一级精品片在线看| 日本韩国欧美在线观看| 欧美偷窥清纯综合图区| 狠狠噜天天噜日日噜| 高清日韩欧美| 久艹在线免费观看| 任你弄精品视频免费观看| 欧美做暖暖视频| 欧美人成在线观看ccc36| 国产freexxxx性播放麻豆| 美女视频免费精品| 福利视频免费在线观看| 牲欧美videos精品| 亚洲国产精品无码观看久久| 国产伦理久久久久久妇女| 日韩精品久久一区二区| 免费看成人人体视频| 又大又硬又爽免费视频| 日韩欧美ww| 中文字幕无码精品亚洲35| 亚洲区小说区图片区qvod按摩| cao在线观看| 精品视频97| 亚洲第一狼人区| 韩日精品在线| 久久性爱视频网站| 麻豆精品久久久| 污软件在线观看| 2欧美一区二区三区在线观看视频| 国产在线观看99| 国产欧美一二三区| 在线观看视频二区| 亚洲国产精品自拍| 亚洲不卡1卡2卡三卡2021麻豆| 欧美国产精品劲爆| 中文字幕在线观看视频一区| 亚洲影院久久精品| 亚洲男女视频在线观看| 在线观看视频欧美| 国产真实乱全部视频| 日韩av有码在线| 黄色三级高清在线播放| 久久免费视频在线| 男人和女人做事情在线视频网站免费观看 | 97在线免费视频观看| 五月激激激综合网色播| 一级黄色香蕉视频| 激情丁香综合| 波多野结衣av在线观看| 成人性生交大片| 亚洲乱码国产乱码精品| 亚洲二区视频在线| 亚洲国产精品区| 亚洲国产精品中文| 麻豆免费网站| 日本高清+成人网在线观看| 国产精品69xx| 五月天色一区| 精品国产精品国产偷麻豆| 国产免费中文字幕| 精品一区二区在线免费观看| 日产精品久久久久| 亚洲国产精品综合小说图片区| 丁香久久五月| 日韩精品一区二区视频| 濑亚美莉一二区在线视频 | 天堂中文在线网| 夜夜嗨av一区二区三区中文字幕| 二区三区不卡不卡视频| 日韩精品免费在线| 男女激情片在线观看| 国产精品青青在线观看爽香蕉 | 一本到不卡精品视频在线观看| 欧美性xxxx禁忌| 亚洲小视频在线| 超碰免费97在线观看| 国产乱码精品一区二区三区卡| 136国产福利精品导航网址应用| 欧美精品第三页| 久久亚洲风情| 国产午夜精品无码| 黑人欧美xxxx| 九九色在线观看| 亚洲国产精品va在线观看黑人| 电影天堂最新网址| 国产精品美女av| 欧美爱爱视频| 日韩中文字幕组| 老司机免费视频一区二区三区| 国产午夜麻豆影院在线观看| 在线看国产日韩| 色偷偷福利视频| 国产精品男人的天堂| 中文字幕在线免费播放| 国产精品入口日韩视频大尺度| 国产第一亚洲| 好男人www社区| 久久99精品久久久久久动态图 | av女名字大全列表| 亚洲精品资源美女情侣酒店| 男女网站在线观看| 麻豆av一区| 日韩在线高清| 亚洲一二三四五六区| 亚洲精品va在线观看| 97精品高清一区二区三区 | 成人综合av| 91沈先生作品| 欧美丝袜足交| 蜜臀av一区二区三区有限公司| 国产日产欧美一区| 国产精品久久久久久69| 日韩一级欧美一级| 性色视频在线观看| 开心色怡人综合网站|