久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1768|回復(fù): 12
收起左側(cè)

STC單片機開關(guān)點燈這個代碼哪里由問題?

[復(fù)制鏈接]
ID:72649 發(fā)表于 2024-1-6 14:46 | 顯示全部樓層 |閱讀模式
/*一、上電后故障燈和加水燈點亮,加熱燈熄滅;
二、開關(guān)低電平后,延時5s加熱燈亮,加水燈滅 ,故障燈熄滅。
三、開關(guān)高電平后 ,加水燈點亮,故障燈和加熱燈熄滅。
四、保護功能兩個:1、開機后六分鐘如果開關(guān)一直處于高電平,則:故障燈1秒閃爍,加熱燈加水燈熄滅。
2、在開關(guān)由低電平轉(zhuǎn)為高電平后,加水燈加熱燈都點亮,延時30秒,開關(guān)電平?jīng)]有轉(zhuǎn)換,則:故障燈閃爍,加水燈加熱燈熄滅 */

電路原理圖如下:
51hei圖片_20240106144544.png
單片機源程序如下:
#include <STC8H.h>


#define uchar unsigned char
#define uint unsigned int

sbit LD3 = P3^3;
sbit LD2 = P5^5;

sbit KEY1 = P3^2;
sbit ERR_LED = P5^4;
bit t0zd0b=0;
bit t1zd0b=0;

uchar count;
char sec,min;

uint  i=0,j=0;
uchar t0IntCnt = 0; //T0中斷計數(shù)變量
uint ledFlashCnt = 0;        //ERR_LED指示燈閃爍周期計數(shù)
uchar Flag2ms = 0;      //2MS到標(biāo)志
uchar u8Flag6min = 0;        //6分鐘到標(biāo)志

void Timer0_Init(void);
void Timer1_Init(void);
void delay_1ms(void);
void delay_ms(uint var);
void IO_init();

void Timer0_Init(void)                //5毫秒@11.0592MHz
{
                                AUXR &= 0x7F;                        //定時器時鐘12T模式
                                TMOD &= 0xF0;                        //設(shè)置定時器模式
                                TL0 = 0x00;                                //設(shè)置定時初始值
                                TH0 = 0xEE;                                //設(shè)置定時初始值
        TF0 = 0;                                //清除TF0標(biāo)志
        TR0 = 1;                                //定時器0開始計時
        ET0 = 1;                                //使能定時器0中斷   
}


void Timer1_Init(void)                //250微秒@11.0592MHz
{
                                AUXR &= 0xBF;                        //定時器時鐘12T模式
                                TMOD &= 0x0F;                        //設(shè)置定時器模式
                                TL1 = 0x1A;                                //設(shè)置定時初始值
                                TH1 = 0xFF;                                //設(shè)置定時初始值        
        TF1 = 0;                                //清除TF1標(biāo)志
        TR1 = 1;                                //定時器1開始計時
         ET1 = 1;      //開T0中斷     
}

/*
必須開啟T0中斷,延時函數(shù)才起作用
*/
void delay_1ms(void)
{
        uchar i = 4; //每次256us,1ms中斷4次
        while (i) {
                if (t1zd0b)
                {
                       t1zd0b = 0; //清除時間中斷標(biāo)志
                        --i;
                }
        }
}

void delay_ms(uint var)//延時單位為毫秒,最多延時65.535秒(65535mS)
{
        while (var--)
        {
                delay_1ms();
        }
}


#define d_s(s) delay_ms((s)*1000ul)//延時單位為秒


void IO_init()
                {                 
                                P3M0 = 0x08; P3M1 = 0x00;
                                P5M0 = 0x30; P5M1 = 0x00;
                        ERR_LED = 0;
                        LD2 = 1;
                        LD3 = 0;                       
                }


void TM0_Isr() interrupt 1    //5毫秒
        {  
//                                        ERR_LED ^= 1;                            //測試是否進入中斷
           if(TF0)        //定時器 0 上溢中斷
        {  
                TF0 = 0;
                t0zd0b = 1;
                t0IntCnt++;
                if(t0IntCnt>=8)        //8*250 = 2ms
                {
                        t0IntCnt = 0;
                        Flag2ms=1;
                        ledFlashCnt ++;
                }      
        }
        }

void TM1_Isr() interrupt 3            //250微秒
        {      
//                                          ERR_LED ^= 1;                        //測試是否進入中斷
                if(TF1)
                TF1=0;
                t1zd0b=1;
        }      


void main()
{                     
    Timer0_Init();
          Timer1_Init();
           EA = 1;       //開總中斷
    IO_init();
    delay_ms(80);
    while (1)
     {
                                                        if(KEY1 == 1 )     //缺水時
                         {                                                                                                                                                                                                                                                                                                                                               
                                                        ERR_LED = 1;
                                                        LD2 = 1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        LD3 = 0;               
                                                         
                                if(!u8Flag6min)
                                {
                                        if(Flag2ms)
                                         {
                                                Flag2ms=0;

                                                if(i<0xFFFF)
                                                        i++;
                                                if(i>=30000)   //60000ms,1分鐘
                                                {
                                                        i=0;
                                                        j++;
                                                }
                                                if(j>=2)  
                                                {
                                                        u8Flag6min = 1;
                                                        LD2 = 0;
                                                        LD3 = 0;
                                                }
                                    }
                                }
                                else        //15分鐘到,執(zhí)行LED閃爍   3、如果第一個動作水位一直不能到,
                                                            //也就是開關(guān)一直斷開高電平,則故障燈閃爍,
                                                            //加水加熱電磁閥燈全部熄滅。
                                {
                                        if (ledFlashCnt>=500) //500*2=1000ms
                                        {
                                                ledFlashCnt = 0;
                                                 ERR_LED ^= 1;
                                        }
                                }
                        }
                        else if(KEY1==0)    //b、第二步只要水位到了,也就是開關(guān)接通低電平,延時一秒
                                            //加熱燈點亮,延時五秒后,電磁閥燈熄滅,又過一秒,加水燈熄滅。
                                {
                                u8Flag6min = 0;
                                
               
                        ERR_LED = 0;

               
                                LD3 = 1;

                                LD2 = 0;                                                                                       
                        }

        }
}




回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2024-1-6 19:21 | 顯示全部樓層
開啟了定時中斷,在進入中斷程序后硬件自動清除標(biāo)志TF0,而進入中斷后又來判斷該標(biāo)志,條件永遠不成立 if(TF0)        //定時器 0 上溢中斷
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-6 23:53 來自手機 | 顯示全部樓層
csmyldl 發(fā)表于 2024-1-6 19:21
開啟了定時中斷,在進入中斷程序后硬件自動清除標(biāo)志TF0,而進入中斷后又來判斷該標(biāo)志,條件永遠不成立 if(T ...

    if(TF1)
                TF1=0進入中斷,硬件自動清零,這局不要嗎?
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-7 00:20 | 顯示全部樓層
csmyldl 發(fā)表于 2024-1-6 19:21
開啟了定時中斷,在進入中斷程序后硬件自動清除標(biāo)志TF0,而進入中斷后又來判斷該標(biāo)志,條件永遠不成立 if(T ...

#include <STC8H.h>

#define uchar unsigned char
#define uint unsigned int
      
sbit LD3 = P3^3;
sbit LD2 = P5^5;

sbit KEY1 = P3^2;
sbit ERR_LED = P5^4;
bit t0zd0b=0;
bit t1zd0b=0;

uchar count;
char sec,min;

uint  i=0,j=0;
uchar t0IntCnt = 0; //T0中斷計數(shù)變量
uint ledFlashCnt = 0;        //ERR_LED指示燈閃爍周期計數(shù)
uchar Flag2ms = 0;      //2MS到標(biāo)志
uchar u8Flag6min = 0;        //6分鐘到標(biāo)志

void Timer0_Init(void);
void Timer1_Init(void);
void delay_1ms(void);
void delay_ms(uint var);
void IO_init();

/*
必須開啟T0中斷,延時函數(shù)才起作用
*/
void delay_1ms(void)
{
        uchar i = 4; //每次250us,1ms中斷4次
        while (i) {
                if (t1zd0b)
                {
                       t1zd0b = 0; //清除時間中斷標(biāo)志
                        --i;
                }
        }
}

void delay_ms(uint var)//延時單位為毫秒,最多延時65.535秒(65535mS)
{
        while (var--)
        {
                delay_1ms();
        }
}


#define d_s(s) delay_ms((s)*1000ul)//延時單位為秒


void IO_init()
                {                 
                        P3M0 = 0x08; P3M1 = 0x00;
                        P5M0 = 0x30; P5M1 = 0x00;
                        ERR_LED = 0;
                        LD2 = 1;
                        LD3 = 0;                       
                }

void Timer0_Init(void)                //250微秒@11.0592MHz
{
        AUXR &= 0x7F;                        //定時器時鐘12T模式
        TMOD &= 0xF0;                        //設(shè)置定時器模式
        TL0 = 0x1A;                                //設(shè)置定時初始值
        TH0 = 0xFF;                                //設(shè)置定時初始值
        TF0 = 0;                                //清除TF0標(biāo)志
        TR0 = 1;                                //定時器0開始計時
        ET0 = 1;                                //使能定時器0中斷
}


void Timer1_Init(void)                //250微秒@11.0592MHz
{
        AUXR |= 0x40;                        //定時器時鐘1T模式
        TMOD &= 0x0F;                        //設(shè)置定時器模式
        TL1 = 0x33;                                //設(shè)置定時初始值
        TH1 = 0xF5;                                //設(shè)置定時初始值
        TF1 = 0;                                //清除TF1標(biāo)志
        TR1 = 1;                                //定時器1開始計時
        ET1 = 1;      //開T0中斷
}
                                                               
void TM0_Isr() interrupt 1    //250微秒
        {  
//                                        ERR_LED ^= 1;                            //測試是否進入中斷
                t0zd0b = 1;
                t0IntCnt++;
                if(t0IntCnt>=8)        //8*250 = 2ms
                {
                        t0IntCnt = 0;
                        Flag2ms=1;
                        ledFlashCnt ++;                       
                }      
        }
      
void TM1_Isr() interrupt 3            //250微秒
        {      
//                                          ERR_LED ^= 1;                        //測試是否進入中斷
              t1zd0b=1;
        }      

void main()
{                     
    Timer0_Init();
          Timer1_Init();
           EA = 1;       //開總中斷
    IO_init();
    delay_ms(80);
    while (1)
     {
                                                        if(KEY1 == 1 )     //缺水時
                         {                                                                                                                                                                                                                                                                                                                                              
                                                        ERR_LED = 0;
                                                        LD2 = 1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                                                        LD3 = 0;               
                               
                                if(!u8Flag6min)   //6分鐘沒到
                                        {
                                        if(Flag2ms)     //2ms
                                         {
                                                Flag2ms=0;
                                                if(i<0xFFFF)
                                                        i++;
                                                if(i>=30000)   //60000ms,1分鐘
                                                {
                                                        i=0;
                                                        j++;
                                                }
                                                if(j>=1)       //方便調(diào)試改為1分鐘
                                                {  
                                                        u8Flag6min = 1;
                                                        LD2 = 0;
                                                        LD3 = 0;
                                                }
                                    }
                                }
                                else        //6分鐘到,執(zhí)行LED閃爍   3、如果第一個動作水位開關(guān)一直高電平,
                                                            //也就是開關(guān)一直斷開高電平,則故障燈閃爍,
                                                            //加水加熱電磁閥燈全部熄滅。
                                {
                                        if (ledFlashCnt>=500) //500*2=1000ms
                                        {
                                                ledFlashCnt = 0;
                                                 ERR_LED ^= 1;
                                        }
                                }
                        }
                        else if(KEY1==0)    //b、第二步只要水位到了,也就是開關(guān)接通低電平,延時一秒
                                            //加熱燈點亮,延時五秒后,電磁閥燈熄滅,又過一秒,加水燈熄滅。
                                {
                                u8Flag6min = 0;
                    ERR_LED = 0;
                          LD3 = 1;
                                LD2 = 0;                                                                                       
                        }
        }
}


//這樣修改對嗎?
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-7 09:01 來自手機 | 顯示全部樓層
csmyldl 發(fā)表于 2024-1-6 19:21
開啟了定時中斷,在進入中斷程序后硬件自動清除標(biāo)志TF0,而進入中斷后又來判斷該標(biāo)志,條件永遠不成立 if(T ...

把這個取消了,程序在貼上了,但是故障指示燈閃爍太暗了,幾乎看不到,而且時間到了LD2也不能進入低電平。
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2024-1-7 09:43 | 顯示全部樓層
hjx5548 發(fā)表于 2024-1-7 09:01
把這個取消了,程序在貼上了,但是故障指示燈閃爍太暗了,幾乎看不到,而且時間到了LD2也不能進入低電平 ...

閃爍太暗是因為閃爍間隔時間太短,或者減少串聯(lián)電阻
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-1-7 09:52 | 顯示全部樓層
hjx5548 發(fā)表于 2024-1-7 00:20
#include

#define uchar unsigned char

你的硬件電路和軟件設(shè)計都有嚴重問題,延時功能也不是你這么個玩法。給你徹底改寫,有詳細注釋,看不明白就反復(fù)測試反復(fù)看,理清邏輯關(guān)系。
  1. #include <STC8G.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit KEY1 = P3^2;//開關(guān)
  5. //所有LED必須加限流電阻
  6. sbit LED1 = P3^3;//加熱
  7. sbit LED2 = P5^4;//加水
  8. sbit LED3 = P5^5;//故障

  9. uint  count1=0,count2=0;//計數(shù)變量
  10. uchar temp=0;//計數(shù)變量
  11. bit   sign=0;//開關(guān)狀態(tài)標(biāo)志
  12. bit   flag=0;//初始狀態(tài)標(biāo)志
  13. bit   B_50ms;//50ms標(biāo)志

  14. //Timer0 50ms中斷服務(wù)函數(shù)
  15. void timer0 (void) interrupt 1
  16. {//自動重裝
  17.         B_50ms = 1;      //50ms標(biāo)志
  18. }
  19. //初始化定時器0
  20. void Timer0_Init(void)                //50毫秒@11.0592MHz
  21. {
  22.         AUXR &= 0x7F;                        //定時器時鐘12T模式
  23.         TMOD &= 0xF0;                        //設(shè)置定時器模式
  24.         TL0 = 0x00;                                //設(shè)置定時初始值
  25.         TH0 = 0x4C;                                //設(shè)置定時初始值
  26.         TF0 = 0;                                //清除TF0標(biāo)志
  27.         TR0 = 1;                                //定時器0開始計時
  28.         ET0 = 1;                                //使能定時器0中斷
  29.         EA  = 1;          //使能總中斷
  30. }

  31. void main()
  32. {
  33.         uint i=0xffff;
  34.         P3M0 = 0x08; P3M1 = 0x00;
  35.         P5M0 = 0x30; P5M1 = 0x00;
  36. //一、上電后故障燈和加水燈點亮,加熱燈熄滅;
  37.         LED1 = 0;
  38.         LED2 = 1;
  39.         LED3 = 1;
  40.         while(i--);//延時等待系統(tǒng)穩(wěn)定
  41.         Timer0_Init();
  42.         while(1)
  43.         {
  44.                 if(B_50ms)        //定時器周期50ms
  45.                 {  
  46.                         B_50ms = 0;

  47. //二、開關(guān)低電平后,延時5s加熱燈亮,加水燈滅 ,故障燈熄滅。
  48.                         if(KEY1==0)
  49.                         {
  50. //                                if(++count1>=100 && sign==0)//延時5s
  51.                                 if(++count1>=10 && sign==0)//延時0.5s 用于快速調(diào)試
  52.                                 {
  53.                                         sign=1;
  54.                                         flag=1;
  55.                                         LED1=1;//加熱燈亮
  56.                                         LED2=0;//加水燈滅
  57.                                         LED3=0;//故障燈滅
  58.                                 }
  59.                                 count2=0;//清0計數(shù)2
  60.                                 temp=0;//清0計數(shù)
  61.                         }
  62.                        
  63.                         if(KEY1==1)
  64.                         {
  65.                                 count1=0;//清0計數(shù)1
  66.                                 sign=0;//清0開關(guān)狀態(tài)標(biāo)志
  67. //四、保護功能兩個之一:開機后六分鐘如果開關(guān)一直處于高電平,則:故障燈1秒閃爍,加熱燈加水燈熄滅。
  68.                                 if(flag==0)//KEY1開關(guān)初始高電平
  69.                                 {
  70.                                         count2++;
  71. //                                        if(count2<7200)//小于6分鐘
  72.                                         if(count2<300)//小于15秒 用于快速調(diào)試
  73.                                         {
  74.                                                 LED1=0;//加熱燈滅
  75.                                                 LED2=1;//加水燈亮
  76.                                                 LED3=0;//故障燈滅
  77.                                         }
  78. //                                        if(count2>=7200) //大于6分鐘
  79.                                         if(count2>=300) //大于15秒
  80.                                         {
  81. //                                                count2=7200;//防止溢出
  82.                                                 count2=300;//防止溢出
  83.                                                 LED1=0;//加熱燈滅
  84.                                                 LED2=0;//加水燈滅
  85.                                                 if(++temp>=10)//500ms
  86.                                                 {
  87.                                                         temp=0;
  88.                                                         LED3=~LED3;//故障燈閃爍
  89.                                                 }
  90.                                         }
  91.                                 }
  92.                                 if(flag==1)//KEY1開關(guān)低電平后恢復(fù)高電平
  93.                                 {
  94.                                         count2++;
  95. //三、開關(guān)高電平后 ,加水燈點亮,故障燈和加熱燈熄滅(此條與保護功能之二相悖)只能取1
  96. //                                        if(count2<600)//30秒內(nèi)
  97.                                         if(count2<60)//3秒內(nèi) 用于快速調(diào)試
  98.                                         {
  99.                                                 LED1=0;//加熱燈滅
  100.                                                 LED2=1;//加水燈亮
  101.                                                 LED3=0;//故障燈滅
  102.                                         }
  103. //四、保護功能兩個之二:在開關(guān)由低電平轉(zhuǎn)為高電平后,加水燈加熱燈都點亮,延時30秒,開
  104. //關(guān)電平?jīng)]有轉(zhuǎn)換,則:故障燈閃爍,加水燈加熱燈熄滅
  105. //                                        if(count2>=600)//超過30秒沒有再次低電平
  106.                                         if(count2>=60)//3秒 用于快速調(diào)試
  107.                                         {
  108. //                                                count2=600;//防止溢出
  109.                                                 count2=60;//防止溢出
  110.                                                 LED1=0;//加熱燈滅
  111.                                                 LED2=0;//加水燈滅
  112.                                                 if(++temp>=10)//500ms
  113.                                                 {
  114.                                                         temp=0;
  115.                                                         LED3=~LED3;//故障燈閃爍
  116.                                                 }
  117.                                         }
  118.                                 }
  119.                         }
  120.                 }
  121.         }
  122. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-7 20:10 來自手機 | 顯示全部樓層
wulin 發(fā)表于 2024-1-7 09:52
你的硬件電路和軟件設(shè)計都有嚴重問題,延時功能也不是你這么個玩法。給你徹底改寫,有詳細注釋,看不明白 ...

只要LED3閃爍 LED1和LED2始終為低電平。不管KEY電平怎么變化,LED1和LED2始終為低電平,保護閃爍了,只有重新上電才能恢復(fù),應(yīng)該怎樣修改?
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-7 20:49 來自手機 | 顯示全部樓層
wulin 發(fā)表于 2024-1-7 09:52
你的硬件電路和軟件設(shè)計都有嚴重問題,延時功能也不是你這么個玩法。給你徹底改寫,有詳細注釋,看不明白 ...

保護后,不需要恢復(fù)現(xiàn)場,一定重啟電源,才能工作,否則一直保護。應(yīng)該怎樣修改?
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-1-8 10:22 | 顯示全部樓層
hjx5548 發(fā)表于 2024-1-7 20:49
保護后,不需要恢復(fù)現(xiàn)場,一定重啟電源,才能工作,否則一直保護。應(yīng)該怎樣修改?

寫一個死循環(huán)報警函數(shù)替換閃爍代碼

void Alarm()
{
        unsigned long i;
        while(1)
        {
                LED3=~LED3;//故障燈閃爍
                i=50000L;
                while(i--);
        }
}

       
        if(count2>=600)//超過30秒沒有再次低電平
        {
                LED1=0;//加熱燈滅
                LED2=0;//加水燈滅
                Alarm();//故障燈閃爍
        }
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-8 21:12 | 顯示全部樓層
wulin 發(fā)表于 2024-1-8 10:22
寫一個死循環(huán)報警函數(shù)替換閃爍代碼

void Alarm()

//一、上電后故障燈和加水燈點亮,加熱燈熄滅;這段代碼如果修改為://一、上電后故障燈和加水燈點亮,延時1秒后,加熱燈熄滅;這樣應(yīng)該怎么修改?
回復(fù)

使用道具 舉報

ID:275826 發(fā)表于 2024-1-9 11:23 | 顯示全部樓層
問題第三點與保護的第二點邏輯矛盾
回復(fù)

使用道具 舉報

ID:72649 發(fā)表于 2024-1-14 18:14 來自手機 | 顯示全部樓層
wulin 發(fā)表于 2024-1-8 10:22
寫一個死循環(huán)報警函數(shù)替換閃爍代碼

void Alarm()

/*一、上電后故障燈和加水燈點亮,加熱燈熄滅;
二、第一次開關(guān)低電平后,延時5s加熱燈亮,加水燈滅 ,故障燈熄滅。第二次之后一直延時3s加熱燈亮,加水燈滅 ,故障燈熄滅。
三、開關(guān)高電平后 ,加水燈點亮,故障燈和加熱燈熄滅。
四、保護功能兩個:1、開機后六分鐘如果開關(guān)一直處于高電平,則:故障燈1秒閃爍,加熱燈加水燈熄滅。
2、在開關(guān)由低電平轉(zhuǎn)為高電平后,加水燈加熱燈都點亮,延時30秒,開關(guān)電平?jīng)]有轉(zhuǎn)換,則:故障燈閃爍,加水燈加熱燈熄滅 */

第二條修改了一下延時動作,分第一次延時動作5s,第二次后面的延時動作3s,應(yīng)該怎樣修改程序?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品免费一区二区三区 | 精品久草 | 久久精品女人天堂av | 在线资源视频 | 色视频在线播放 | 国产精品一区二区三区在线播放 | 久久久久久国产精品mv | 免费在线观看av片 | 久久综合久久久 | www.jizzjizz| 久久99精品久久久久久国产越南 | 欧美一a一片一级一片 | 日本天天操 | 亚洲精品一区二区三区四区高清 | 亚洲国产精品99久久久久久久久 | 久久久久久蜜桃一区二区 | 国产91久久精品一区二区 | 久久狠狠 | 97偷拍视频 | 国产精品96久久久久久 | 一区二区三区国产 | 久久精品国产一区 | www国产成人免费观看视频,深夜成人网 | 亚洲国产一区在线 | 日本a∨精品中文字幕在线 亚洲91视频 | 视频一区二区国产 | 国内精品久久久久 | 欧美一级三级在线观看 | 综合久久av | 国产成在线观看免费视频 | 精品国产乱码久久久久久1区2区 | 国产高清在线视频 | 国产91网址| 日韩不卡一区二区三区 | 亚洲精品一区二区三区蜜桃久 | 羞羞的视频在线看 | 亚洲国产精品视频一区 | 成人在线黄色 | 在线观看一区 | 亚洲视频在线播放 | 成人在线视频观看 |