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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5266|回復: 5
收起左側

DS1302與1602顯示時間正常,但用按鍵無法調整時間

[復制鏈接]
ID:33544 發表于 2017-6-22 17:19 | 顯示全部樓層 |閱讀模式
DS1302與1602顯示時間正常,但用按鍵無法調整時間,好像是數據沒有存入,找不到問題請教大家了下面代碼是DS1302的驅動代碼;

#include"sys_config.h"

u8 getTimebuf[7];//存放時間數據
u8 time[]={"  :  :  "};                                        //時間格式字符串
u8 date[]={"20  -  -  "};                                //日期格式字符串
u8 week[]={"   "};                                                //星期格式字符串
u8 weeklist[]={"SunMonTueWedThuFriSat"};        //星期字符列表


int count=0;//設定秒分時日月星期年的時候count的值分別為1235647
int alarm=0;//是否進入鬧鐘設置界面 123分別代表開關 分 小時的設置
int isOpen;//鬧鐘是否開啟  默認不開啟
int fen,shi;//鬧鐘的分鐘小時
int isRing;//鬧鐘是否在響
u8 isInit_1302;//是否初始化時鐘完畢

//sbit scl=P1^3;//時鐘線
//sbit rst=P1^5;//復位線
//sbit io=P1^4;//數據口
/**********************ds1302初始化*****************************/
void init_ds1302(){
        //ds1302初始化
       
        isInit_1302=read_ds1302(0x81);        //讀出時鐘狀態
        if(isInit_1302&0x80){                        //說明沒有初始化
                write_ds1302(0x8e,0x00);        //關閉寫保護  以后一直開著
                write_ds1302(0x90,0xa5);         //輔助電源充電命令 一個二極管  一個2K電阻
                write_ds1302(0x80,0x00);        //秒 CH置0 開啟時鐘
                write_ds1302(0x82,0x00);        //分
                write_ds1302(0x84,0x00);        //時
                write_ds1302(0x86,0x00);        //日
                write_ds1302(0x88,0x01);        //月
                write_ds1302(0x8a,0x01);        //星期
                write_ds1302(0x8c,0x17);        //年
                write_ds1302(0x8e,0x80);
        }
}
/**********************ds1302寫一個字節數據*****************************/
void write_ds1302_byte(u8 temp){
        //ds1302寫一個字節數據
        u8 i;
        for(i=0;i<8;i++){
                io=temp&0x01;//將數據放到IO口上
                scl=0;//scl為低時準備數據
                scl=1;//上升沿寫入
                temp>>=1;
        }
}
/**********************向地址add寫入數據datds1302*****************************/
void write_ds1302(u8 add,u8 dat){
        //向地址add寫入數據dat
        rst=0;
        scl=0;
        rst=1;
        write_ds1302_byte(add);
        write_ds1302_byte(dat);
        scl=1;
        rst=0;
}
/**********************ds1302讀數據*****************************/
u8 read_ds1302(u8 add)
        {
        //ds1302讀數據
        u8 i,dat;
        rst=0;
        scl=0;
        rst=1;
        write_ds1302_byte(add);//首先寫入要讀的數據處的地址
        for(i=0;i<8;i++){
                if(io==1){
                        dat|=0x80;
                }
                scl=1;
                scl=0;//下降沿讀取數據
                dat>>=1;
        }
        scl=1;
        rst=0;
        return dat;
}

/**********************ds1302讀時間*****************************/
void read_time(u8 *s){
          u8 i;
          u8 ucAddr = 0x81;
          for (i=0;i<7;i++){
                s[i] = read_ds1302(ucAddr);//格式為: 秒 分 時 日 月 星期 年
                ucAddr += 2;
          }
}

/**********************ds1302設定時間*****************************/
void set_time(u8 *pSecDa){
        //設定時間
        u8 i;
        u8 ucAddr = 0x80;
        write_ds1302(0x8e,0x00);       
        for(i =7;i>0;i--){
                write_ds1302(ucAddr,*pSecDa); //秒 分 時 日 月 星期 年
                pSecDa++;
                ucAddr+=2;
        }
        write_ds1302(0x8e,0x80);
}
下面是按鈕賦值代碼,代碼運行時,光標移動的按鍵更改值都正常,就是更新不了時間
void key_scan()
       
{
        int i;
        u8 code tips1[]="SET SUCCESS";//鬧鐘設置成功的提示
        u8 code tips2[]="CANCEL SUCCESS";//取消鬧鐘的提示
        if(key_dat==4){//檢測是否按下
                delay(10);//消抖
                if(LCD_cnt)
                {//再次檢測是否按下
                LCD_cnt=0;
                        while(!key_set_time);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_set_time);//再次檢測是否松開
                        if(alarm==0)
                        {//當沒有顯示鬧鐘界面時才顯示時間設定
                                count++;       
                               
                                write_ds1302(0x80,0x80);//讓時鐘停止
                                if(count==8){//繼續走時,說明時間已經設定好了
                                        Lcd1602_WriteCom(0x0c);//讓光標消失
                                        LED1=1;
                                        set_time(getTimebuf);//寫入新的時間
                                        write_ds1302(0x80,0x00);//讓時鐘繼續
                                        count=0;BE_cnt=500;        //蜂鳴器
                                        return;
                                }
                                LED1=0;
                                switch(count){
                                        case 1:
                                                Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                                break;
                                        case 2:
                                                Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                                break;
                                        case 3:
                                                Lcd1602_WriteCom(0x80+0x40+1);//在時的位置
                                                break;
                                        case 4:
                                                Lcd1602_WriteCom(0x80+14);//在星期的位置
                                                break;
                                        case 5:
                                                Lcd1602_WriteCom(0x80+10);//在日的位置
                                                break;
                                        case 6:
                                                Lcd1602_WriteCom(0x80+7);//在月的位置
                                                break;
                                        case 7:
                                                Lcd1602_WriteCom(0x80+4);//在年的位置
                                                break;
                                }
                                Lcd1602_WriteCom(0x0f);//讓光標閃爍
                        }
                }
        }
        if(key_add==0){//檢測是否按下
                delay(10);//消抖
  if(add_LCD)
        {//再次檢測是否按下
                        add_LCD=0;
                        while(!key_add);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_add);//再次檢測是否松開
                        if(count!=0)
                                {
                                switch(count){
                                case 1:
                                        //在秒的位置
                                        getTimebuf[0]++;
                                        if(getTimebuf[0]==0x5a){
                                                getTimebuf[0]=0;
                                        }
                                        if(getTimebuf[0]==0x4a){
                                                getTimebuf[0]=0x50;
                                        }
                                        if(getTimebuf[0]==0x3a){
                                                getTimebuf[0]=0x40;
                                        }
                                        if(getTimebuf[0]==0x2a){
                                                getTimebuf[0]=0x30;
                                        }
                                        if(getTimebuf[0]==0x1a){
                                                getTimebuf[0]=0x20;
                                        }
                                        if(getTimebuf[0]==0x0a){
                                                getTimebuf[0]=0x10;
                                        }
                                        time[6]=(getTimebuf[0])/16+48;//格式化時間秒
                                        time[7]=(getTimebuf[0])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+6);//在秒的位置
                                        Lcd1602_Writedata(time[6]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                        Lcd1602_Writedata(time[7]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//讓光標在秒的位置閃爍
                                        break;
                                case 2:
                                        //在分的位置
                                        getTimebuf[1]++;
                                        if(getTimebuf[1]==0x5a){
                                                getTimebuf[1]=0;
                                        }
                                        if(getTimebuf[1]==0x4a){
                                                getTimebuf[1]=0x50;
                                        }
                                        if(getTimebuf[1]==0x3a){
                                                getTimebuf[1]=0x40;
                                        }
                                        if(getTimebuf[1]==0x2a){
                                                getTimebuf[1]=0x30;
                                        }
                                        if(getTimebuf[1]==0x1a){
                                                getTimebuf[1]=0x20;
                                        }
                                        if(getTimebuf[1]==0x0a){
                                                getTimebuf[1]=0x10;
                                        }
                                        time[3]=(getTimebuf[1])/16+48;//格式化時間分
                                        time[4]=(getTimebuf[1])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+3);//在分的位置
                                        Lcd1602_Writedata(time[3]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                        Lcd1602_Writedata(time[4]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//讓光標在分的位置閃爍
                                        break;
                                case 3:
                                        //在時的位置
                                        getTimebuf[2]++;
                                        if(getTimebuf[2]==0x24){
                                                getTimebuf[2]=0;
                                        }
                                        if(getTimebuf[2]==0x1a){
                                                getTimebuf[2]=0x20;
                                        }
                                        if(getTimebuf[2]==0x0a){
                                                getTimebuf[2]=0x10;
                                        }
                                        time[0]=(getTimebuf[2])/16+48;//格式化時間小時
                                        time[1]=(getTimebuf[2])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+0);//在小時的位置
                                        Lcd1602_Writedata(time[0]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        Lcd1602_Writedata(time[1]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        break;
                                case 4:
                                        //在星期的位置
                                        getTimebuf[5]++;
                                        if(getTimebuf[5]==0x08){
                                                getTimebuf[5]=0x01;
                                        }
                                        if((getTimebuf[5]%10)*3==21){//輪完了  重新開始
                                                week[0]=weeklist[0];
                                                week[1]=weeklist[1];
                                                week[2]=weeklist[2];
                                        }else{
                                                week[0]=weeklist[(getTimebuf[5]%10)*3];//格式化星期
                                                week[1]=weeklist[(getTimebuf[5]%10)*3+1];
                                                week[2]=weeklist[(getTimebuf[5]%10)*3+2];
                                        }
                                        Lcd1602_WriteCom(0x80+12);
                                        Lcd1602_Writedata(week[0]);
                                        Lcd1602_WriteCom(0x80+13);
                                        Lcd1602_Writedata(week[1]);
                                        Lcd1602_WriteCom(0x80+14);
                                        Lcd1602_Writedata(week[2]);
                                        Lcd1602_WriteCom(0x80+14);
                                        break;
                                case 5:
                                        //在日的位置
                                        getTimebuf[3]++;
                                        if(getTimebuf[3]==0x32){
                                                getTimebuf[3]=0x01;
                                        }
                                        if(getTimebuf[3]==0x2a){
                                                getTimebuf[3]=0x30;
                                        }
                                        if(getTimebuf[3]==0x1a){
                                                getTimebuf[3]=0x20;
                                        }
                                        if(getTimebuf[3]==0x0a){
                                                getTimebuf[3]=0x10;
                                        }
                                        date[8]=(getTimebuf[3])/16+48;
                                        date[9]=(getTimebuf[3])%16+48;
                                        Lcd1602_WriteCom(0x80+9);
                                        Lcd1602_Writedata(date[8]);
                                        Lcd1602_WriteCom(0x80+10);
                                        Lcd1602_Writedata(date[9]);
                                        Lcd1602_WriteCom(0x80+10);
                                        break;
                                case 6:
                                        //在月的位置
                                        getTimebuf[4]++;
                                        if(getTimebuf[4]==0x13){
                                                getTimebuf[4]=0x01;
                                        }
                                        if(getTimebuf[4]==0x0a){
                                                getTimebuf[4]=0x10;
                                        }
                                        date[5]=(getTimebuf[4])/16+48;
                                        date[6]=(getTimebuf[4])%16+48;
                                        Lcd1602_WriteCom(0x80+6);
                                        Lcd1602_Writedata(date[5]);
                                        Lcd1602_WriteCom(0x80+7);
                                        Lcd1602_Writedata(date[6]);
                                        Lcd1602_WriteCom(0x80+7);
                                        break;
                                case 7:
                                        //在年的位置
                                        getTimebuf[6]++;
                                        if(getTimebuf[6]==0x9a){
                                                getTimebuf[6]=0x00;
                                        }
                                        if(getTimebuf[6]==0x8a){
                                                getTimebuf[6]=0x90;
                                        }
                                        if(getTimebuf[6]==0x7a){
                                                getTimebuf[6]=0x80;
                                        }
                                        if(getTimebuf[6]==0x6a){
                                                getTimebuf[6]=0x70;
                                        }
                                        if(getTimebuf[6]==0x5a){
                                                getTimebuf[6]=0x60;
                                        }
                                        if(getTimebuf[6]==0x4a){
                                                getTimebuf[6]=0x50;
                                        }
                                        if(getTimebuf[6]==0x3a){
                                                getTimebuf[6]=0x40;
                                        }
                                        if(getTimebuf[6]==0x2a){
                                                getTimebuf[6]=0x30;
                                        }
                                        if(getTimebuf[6]==0x1a){
                                                getTimebuf[6]=0x20;
                                        }
                                        if(getTimebuf[6]==0x0a){
                                                getTimebuf[6]=0x10;
                                        }
                                        date[2]=(getTimebuf[6])/16+48;
                                        date[3]=(getTimebuf[6])%16+48;
                                        Lcd1602_WriteCom(0x80+3);
                                        Lcd1602_Writedata(date[2]);
                                        Lcd1602_WriteCom(0x80+4);
                                        Lcd1602_Writedata(date[3]);
                                        Lcd1602_WriteCom(0x80+4);
                                        break;
                                }
                        }
                       
                }
        }
        if(key_minus==0){//檢測是否按下
                delay(10);//消抖
                if(minus_LCD){//再次檢測是否按下
                        while(!key_minus);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_minus);//再次檢測是否松開
                        minus_LCD =0;
                        if(count!=0){
                                switch(count){
                                case 1:
                                        //在秒的位置
                                        getTimebuf[0]--;
                                        if(getTimebuf[0]==0xff){
                                                getTimebuf[0]=0x59;
                                        }
                                        if(getTimebuf[0]==0x4f){
                                                getTimebuf[0]=0x49;
                                        }
                                        if(getTimebuf[0]==0x3f){
                                                getTimebuf[0]=0x39;
                                        }
                                        if(getTimebuf[0]==0x2f){
                                                getTimebuf[0]=0x29;
                                        }
                                        if(getTimebuf[0]==0x1f){
                                                getTimebuf[0]=0x19;
                                        }
                                        if(getTimebuf[0]==0x0f){
                                                getTimebuf[0]=0x09;
                                        }
                                        time[6]=(getTimebuf[0])/16+48;//格式化時間秒
                                        time[7]=(getTimebuf[0])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+6);//在秒的位置
                                        Lcd1602_Writedata(time[6]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                        Lcd1602_Writedata(time[7]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//讓光標在秒的位置閃爍
                                        break;
                                case 2:
                                        //在分的位置
                                        getTimebuf[1]--;
                                        if(getTimebuf[1]==0xff){
                                                getTimebuf[1]=0x59;
                                        }
                                        if(getTimebuf[1]==0x4f){
                                                getTimebuf[1]=0x49;
                                        }
                                        if(getTimebuf[1]==0x3f){
                                                getTimebuf[1]=0x39;
                                        }
                                        if(getTimebuf[1]==0x2f){
                                                getTimebuf[1]=0x29;
                                        }
                                        if(getTimebuf[1]==0x1f){
                                                getTimebuf[1]=0x19;
                                        }
                                        if(getTimebuf[1]==0x0f){
                                                getTimebuf[1]=0x09;
                                        }
                                        time[3]=(getTimebuf[1])/16+48;//格式化時間分
                                        time[4]=(getTimebuf[1])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+3);//在分的位置
                                        Lcd1602_Writedata(time[3]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                        Lcd1602_Writedata(time[4]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//讓光標在分的位置閃爍
                                        break;
                                case 3:
                                        //在時的位置
                                        getTimebuf[2]--;
                                        if(getTimebuf[2]==0xff){
                                                getTimebuf[2]=0x23;
                                        }
                                        if(getTimebuf[2]==0x1f){
                                                getTimebuf[2]=0x19;
                                        }
                                        if(getTimebuf[2]==0x0f){
                                                getTimebuf[2]=0x09;
                                        }
                                        time[0]=(getTimebuf[2])/16+48;//格式化時間小時
                                        time[1]=(getTimebuf[2])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+0);//在小時的位置
                                        Lcd1602_Writedata(time[0]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        Lcd1602_Writedata(time[1]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        break;
                                case 4:
                                        //在星期的位置
                                        getTimebuf[5]--;
                                        if(getTimebuf[5]==0){
                                                getTimebuf[5]=0x07;
                                        }
                                        if((getTimebuf[5]%10)*3==21){//輪完了  重新開始
                                                week[0]=weeklist[0];
                                                week[1]=weeklist[1];
                                                week[2]=weeklist[2];
                                        }else{
                                                week[0]=weeklist[(getTimebuf[5]%10)*3];//格式化星期
                                                week[1]=weeklist[(getTimebuf[5]%10)*3+1];
                                                week[2]=weeklist[(getTimebuf[5]%10)*3+2];
                                        }
                                        Lcd1602_WriteCom(0x80+12);
                                        Lcd1602_Writedata(week[0]);
                                        Lcd1602_WriteCom(0x80+13);
                                        Lcd1602_Writedata(week[1]);
                                        Lcd1602_WriteCom(0x80+14);
                                        Lcd1602_Writedata(week[2]);
                                        Lcd1602_WriteCom(0x80+14);
                                        break;
                                case 5:
                                        //在日的位置
                                        getTimebuf[3]--;
                                        if(getTimebuf[3]==0){
                                                getTimebuf[3]=0x31;
                                        }
                                        if(getTimebuf[3]==0x2f){
                                                getTimebuf[3]=0x29;
                                        }
                                        if(getTimebuf[3]==0x1f){
                                                getTimebuf[3]=0x19;
                                        }
                                        if(getTimebuf[3]==0x0f){
                                                getTimebuf[3]=0x09;
                                        }
                                        date[8]=(getTimebuf[3])/16+48;
                                        date[9]=(getTimebuf[3])%16+48;
                                        Lcd1602_WriteCom(0x80+9);
                                        Lcd1602_Writedata(date[8]);
                                        Lcd1602_WriteCom(0x80+10);
                                        Lcd1602_Writedata(date[9]);
                                        Lcd1602_WriteCom(0x80+10);
                                        break;
                                case 6:
                                        //在月的位置
                                        getTimebuf[4]--;
                                        if(getTimebuf[4]==0){
                                                getTimebuf[4]=0x12;
                                        }
                                        if(getTimebuf[4]==0x0f){
                                                getTimebuf[4]=0x09;
                                        }
                                        date[5]=(getTimebuf[4])/16+48;
                                        date[6]=(getTimebuf[4])%16+48;
                                        Lcd1602_WriteCom(0x80+6);
                                        Lcd1602_Writedata(date[5]);
                                        Lcd1602_WriteCom(0x80+7);
                                        Lcd1602_Writedata(date[6]);
                                        Lcd1602_WriteCom(0x80+7);
                                        break;
                                case 7:
                                        //在年的位置
                                        getTimebuf[6]--;
                                        if(getTimebuf[6]==0xff){
                                                getTimebuf[6]=0x99;
                                        }
                                        if(getTimebuf[6]==0x8f){
                                                getTimebuf[6]=0x89;
                                        }
                                        if(getTimebuf[6]==0x7f){
                                                getTimebuf[6]=0x79;
                                        }
                                        if(getTimebuf[6]==0x6f){
                                                getTimebuf[6]=0x69;
                                        }
                                        if(getTimebuf[6]==0x5f){
                                                getTimebuf[6]=0x59;
                                        }
                                        if(getTimebuf[6]==0x4f){
                                                getTimebuf[6]=0x49;
                                        }
                                        if(getTimebuf[6]==0x3f){
                                                getTimebuf[6]=0x39;
                                        }
                                        if(getTimebuf[6]==0x2f){
                                                getTimebuf[6]=0x29;
                                        }
                                        if(getTimebuf[6]==0x1f){
                                                getTimebuf[6]=0x19;
                                        }
                                        if(getTimebuf[6]==0x0f){
                                                getTimebuf[6]=0x09;
                                        }
                                        date[2]=(getTimebuf[6])/16+48;
                                        date[3]=(getTimebuf[6])%16+48;
                                        Lcd1602_WriteCom(0x80+3);
                                        Lcd1602_Writedata(date[2]);
                                        Lcd1602_WriteCom(0x80+4);
                                        Lcd1602_Writedata(date[3]);
                                        Lcd1602_WriteCom(0x80+4);
                                        break;
                                }
                        }
                       
                }
        }
       
}





回復

使用道具 舉報

ID:82765 發表于 2017-6-22 21:46 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

ID:164602 發表于 2017-6-23 08:24 | 顯示全部樓層
我有這樣的程序,是例程。你可以借鑒一下。
不過,這個例程也是有問題的:設置的時間、日期十分的不完善,如:可以設置0月0日,2月可以有30、31日,6月可以有31日等等,不過這些是可以自己修改的。它只是個例程,拋磚引玉而已。
你說的按鍵沒反應,是絕對可以借鑒一下的。你的程序太長,沒時間看啊。

DS1302顯示時鐘(可以按鍵設置時鐘).rar

50.65 KB, 下載次數: 87

回復

使用道具 舉報

ID:111634 發表于 2017-6-23 17:26 | 顯示全部樓層
本帖最后由 zl2168 于 2017-6-23 20:51 編輯

實例91  具有校正功能的時鐘1302(LCD1602顯示)
Proteus仿真,確認有效。
實例91 帶校正時鐘1302(LCD1602顯示).rar (52.68 KB, 下載次數: 72)
具有校正功能的時鐘1302.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

ID:33544 發表于 2017-6-24 15:37 | 顯示全部樓層
補充說明一下,單片機用的是stc12c5a60s2,程序用仿真軟件運行都很正常,硬件部分DS1302的三個腳上都加上了1K的上拉電阻,程序上電第一次初始化能寫進數據,上電后無法重復修改,程度邏輯在仿真軟件上運行都正常,仿真時重復寫入數據也正常
回復

使用道具 舉報

ID:292218 發表于 2018-3-15 11:39 | 顯示全部樓層
wis98 發表于 2017-6-24 15:37
補充說明一下,單片機用的是stc12c5a60s2,程序用仿真軟件運行都很正常,硬件部分DS1302的三個腳上都加上了 ...

我也屬上電初始化可以更改,可是在循環里檢測串口通過串口就不能更改
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美在线a | 亚洲成人免费在线 | 亚洲品质自拍视频 | 久久综合狠狠综合久久综合88 | 午夜在线免费观看视频 | 日本在线中文 | 国产精品久久久久久久久久免费看 | 亚洲一级淫片 | 亚洲视频二区 | 国产二区av| 在线永久看片免费的视频 | 久久久久久中文字幕 | 日日摸夜夜添夜夜添特色大片 | 91成人在线 | 欧美日韩精品久久久免费观看 | 亚洲欧美一区二区三区在线 | 日韩欧美在线视频播放 | 久草视频网站 | 免费簧片视频 | 国产精品视频一二三区 | 自拍偷拍一区二区三区 | 日韩综合网 | 亚洲视频一区二区三区 | 亚洲精品久久久蜜桃网站 | 亚洲人成人一区二区在线观看 | 久久久久网站 | av一区二区在线观看 | 玖草资源 | 亚洲一区二区三区欧美 | 91精品国产综合久久久久久丝袜 | av免费看在线 | 精品乱子伦一区二区三区 | 亚洲一区二区中文字幕 | 久久欧美高清二区三区 | 亚洲a视频| 久久久久久美女 | 一区二区亚洲 | 免费黄色特级片 | 91av视频| 天天干狠狠操 | 伊人91在线|