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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

基于DS1302的簡(jiǎn)易數(shù)碼管電子鐘

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年01月02日   【字體:
#include<reg51.h>
#include<intrins.h>
#include"DS1302.h"
#include"KEY.h"
#include"IIC.H"
#define uchar unsigned char
#define uint unsigned int
#define LEDIO P0
#define LEDCHIP P2
sbit BEEP=P3^7;
/*************************數(shù)碼管定義**************************************/
  //段碼        0   1    2    3    4    5     6    7   8    9   A    B  -  P   d
uchar code led[15]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x40,0x73,0x5E};
  //位選信號(hào)                                   全滅
uchar code selchip[7]={0x01,0x02,0x04,0x08,0x10,0x20,0x10};
        //數(shù)據(jù)格式:   秒   分   時(shí)   日   月 星期   年
uchar  time_temp[7]={0x00,0x50,0x10,0x12,0x30,0x01,0x11};  //存放初始化時(shí)間及設(shè)置ds1302的數(shù)據(jù)
uchar  DataTime[7];           //讀取DS1302的數(shù)據(jù)
/**********************************************************/    
uchar  display[4][6]={0x06,0x5b,0x6d,0x6f,0x6d,0x6f};    //數(shù)碼管顯示
uchar  i=0,key1,key2=20,pos=0,p,k;      //按鍵和掃描變量
uchar  mod=0;          //模式:設(shè)置時(shí)間進(jìn)入按鈕
bit  bflash=0,clockdown=0;   //設(shè)置和鬧鈴標(biāo)志
uchar   hour,minute,second,year,month,date;  //有關(guān)時(shí)間的變量寄存
uchar  ss=1;//鬧鈴響的次數(shù)可以自己修改
uchar  clock1[3]={0x06,0,0x01},clock2[3]={14,0,0x01};   //鬧鐘時(shí)間與開關(guān),默認(rèn)開關(guān)開
uint num=5000;     //設(shè)置自動(dòng)返回主界面時(shí)間
/////////////////////////////////
void TimeInit()      //定時(shí)掃描初始化
{
 EA = 0;
 TMOD |= 0x10;
 TH1 = 0xfd;
 TL1 = 0xe6;
 EA=1;
// ET0=1;
 ET1=1;
 TR1=1;
}
///////////////////////////////////////////////////////
/*
void t0int() interrupt 1         //T0中斷程序,控制發(fā)音的音調(diào)
{
    TR0 = 0;                     //先關(guān)閉T0
    BEEP = ~BEEP;          //輸出方波, 發(fā)音
    TH0 = t0h;               //下次的中斷時(shí)間, 這個(gè)時(shí)間, 控制音調(diào)高低
    TL0 = t0l;
    TR0 = 1;                     //啟動(dòng)T0
 LEDIO=display[mod][i];
 LEDCHIP=selchip[i];
 if(i>=5)
  i=0;
 else
  i++;
}
*/
/////////////////////////////////////////
void TimeInt() interrupt 3   //定時(shí)掃描中斷
{
 if(i==pos)
 {
   if(bflash==1) //閃爍標(biāo)志;設(shè)置時(shí)間日期和鬧鈴
  {
   if(k++<40)
   {
    if(i==4)
    i=0;
    else
    i=i+2;
   }  
   else
   {
    if(p++>40)
    {
     p=0;
     k=0;
    }
   }
  }
 }
 LEDIO=display[mod][i];
 LEDCHIP=selchip[i];
 if(num==0)      //自動(dòng)還回時(shí)間界面
 {
  mod=0;
  bflash=0;
 }
 else
  num--; 
 if(i>=5)
  i=0;
 else
  i++;
 TH1=0xfa;
 TL1=0xd8;
}
////////////////////////////////////////////////////////
void TimeToBin()       //把時(shí)間變成2進(jìn)制
{
 second=DataTime[0]/16*10+DataTime[0]%16;
 minute=DataTime[1]/16*10+DataTime[1]%16;
 hour=DataTime[2]/16*10+DataTime[2]%16;
 date=DataTime[3]/16*10+DataTime[3]%16;
 month=DataTime[4]/16*10+DataTime[4]%16;
 year=DataTime[6]/16*10+DataTime[6]%16;
}
////////////////////////////////////////////////////////
void TimeToBCD()      //把時(shí)間變?yōu)锽CD碼
{
 time_temp[0]=second/10*16+second%10;
 time_temp[1]=minute/10*16+minute%10;
 time_temp[2]=hour/10*16+hour%10;
 time_temp[3]=date/10*16+date%10;
 time_temp[4]=month/10*16+month%10;
 time_temp[6]=year/10*16+year%10;
}
////////////////////////////////////////////////
    
void  TimerDis()
{ /************************時(shí)間掃描設(shè)置************************/
 display[0][0]=led[hour/10];
 display[0][1]=led[hour%10]|0x80;
 display[0][2]=led[minute/10];
 display[0][3]=led[minute%10]|0x80;
 display[0][4]=led[second/10];
 display[0][5]=led[second%10];
 /************************日期掃描設(shè)置************************/
 display[1][0]=led[year/10];
 display[1][1]=led[year%10]|0x80;
 display[1][2]=led[month/10];
 display[1][3]=led[month%10]|0x80;
 display[1][4]=led[date/10];
 display[1][5]=led[date%10];
 /**********************鬧鈴1掃描設(shè)置****************************/
 display[2][0]=led[10];       //第一個(gè)鬧鐘
 display[2][1]=led[14-clock1[2]];  //P鬧鐘開d鬧鐘關(guān)
 display[2][2]=led[clock1[0]/10];
 display[2][3]=led[clock1[0]%10]|0x80;
 display[2][4]=led[clock1[1]/10];
 display[2][5]=led[clock1[1]%10];
 /***********************鬧鈴2掃描設(shè)置**************************/
 display[3][0]=led[11];      //第一個(gè)鬧鐘
 display[3][1]=led[14-clock2[2]];     //P鬧鐘開d鬧鐘關(guān)
 display[3][2]=led[clock2[0]/10];
 display[3][3]=led[clock2[0]%10]|0x80;
 display[3][4]=led[clock2[1]/10];
 display[3][5]=led[clock2[1]%10];
 /********************************************************/
 //second=DataTime[0]/16*10+DataTime[0]%16;
}
///////////////////////////////////////////////////////
void KeySet()
{
 key1=KeyTab[KeyRvs()];   //讀取鍵盤值
 if(key2!=key1)      //防止連續(xù)跳動(dòng),釋放按鍵
 {
  if(key1=='*')
  {
   pos=0;        //返回首位方便設(shè)置
   if(!bflash)       //先進(jìn)設(shè)置時(shí)間的界面
   mod=0;
   else
   mod=(mod+1)%4;     //功能選擇
   bflash=1;     //進(jìn)入時(shí)鐘設(shè)置標(biāo)志
   num=5000;      //若是沒有操作自動(dòng)返回主界面
  }
  /////////////////////////////移位按鍵選擇設(shè)置的位置
  if((key1=='0')&&(bflash))
  {
   pos=(pos+2)%6;
   num=5000;
  }
  if((!bflash)&&(key1=='0'))      //一鍵關(guān)閉鬧鈴睡懶覺按鍵,下次又開鬧鈴
  {  
   clockdown=1;       
  }
  ///////////////////////////// 時(shí)分秒設(shè)置,加按鍵,
  if((key1=='#')&&(bflash))
  { 
   num=5000;      //
   if(mod==0)       //時(shí)間設(shè)置
   {
    if(pos==0)
    {
     hour=(hour+1)%24;
    }
    else if(pos==2)
    {
     minute=(minute+1)%60;
    }
    else
    {
     second=(second+1)%60;
    }
   }
   ////////////////////////////////年月日設(shè)置
   if(mod==1)
   {
    if(pos==0)
    {
     year=(year+1)%100;
    }
    else if(pos==2)
    {
     month=(month+1)%13;
    }
    else
    {
     if(month==2)     //二月處理
     {
      if(year%4==0)     //閏年二月
      date=(date+1)%30;
      else
      date=(date+1)%29;
     }
     /////////////////////////////////////////////////大月設(shè)置
     else if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))
      date=(date+1)%32;
     else  /////////////////////////////////////////小月設(shè)置
      date=(date+1)%31;
     }     
   }
   //////////////////////////////////////////////鬧鈴1設(shè)置
   if(mod==2)
   {
    if(pos==0)         //鬧鈴1開關(guān)設(shè)置
    {
     clock1[2]=(clock1[2]+1)%2;
    }
    if(pos==2)
    {
     clock1[0]=(clock1[0]+1)%24;
    }
    if(pos==4)
    {
     clock1[1]=(clock1[1]+1)%60;
    }
   }
   //////////////////////////////////////////////鬧鈴2設(shè)置
   if(mod==3)
   {
    if(pos==0)           //鬧鈴2開關(guān)設(shè)置
    {
     clock2[2]=(clock2[2]+1)%2;
    }
    if(pos==2)
    {
     clock2[0]=(clock2[0]+1)%24;
    }
    if(pos==4)
    {
     clock2[1]=(clock2[1]+1)%60;
    }
   }
  }
  if((!bflash)&&(key1=='#'))      //查看鬧鈴設(shè)置
  {  
   mod=(mod+1)%2+2;       
  }
  ///////////////////////////////////////////////確認(rèn)鍵設(shè)置
  if(key1=='D')
  {
   if(bflash)           //清除設(shè)置標(biāo)志
   {
    bflash=0;
    mod=0;
    TimeToBCD();
    Set_Ds1302(time_temp);
    while(!Write_Nbyte_iic(SLAVE,0x50,clock1,3));
    while(!Write_Nbyte_iic(SLAVE,0x60,clock2,3));
   }
   else         //切換時(shí)間和日期
    mod=(mod+1)%2;
   num=5000;          //自動(dòng)返回時(shí)間界面
  }
  key2=key1;
 }            //鍵值保存。釋放按鍵用
}
//////////////////////////////////////
/********************鬧鈴響一分鐘****************************/
void CLOCK()
{ 
 if((clock1[0]==hour)&&(clock1[1]==minute)&&(clock1[3])||((clock2[0]==hour)&&(clock2[1]==minute)&&(clock2[3])))
 {
 
  if(!clockdown)     //沒有睡懶覺則正常響鈴
   BEEP=~BEEP;
  else
   BEEP=1;    //否則關(guān)閉鬧鈴
 }        
 else
 {
  clockdown=0;         //恢復(fù)鬧鈴
  BEEP=1;             //關(guān)閉鬧鈴
 }     
}
/////////////////////////////////////////
main()
{
 while(!Read_Nbyte_iic(SLAVE,0x50,clock1,3));
 while(!Read_Nbyte_iic(SLAVE,0x60,clock2,3));
 TimeInit();      //斷電以后喚醒時(shí)鐘
 Init_Ds1302();
 while(1)
 {
  Get_Ds1302(DataTime); //讀取時(shí)間
  TimerDis();   //段碼處理
  KeySet();    //掃描按鍵
  if(!bflash)   //如果沒有進(jìn)入設(shè)置時(shí)間則正常顯示否則時(shí)間暫停
  {
   TimeToBin();
  }
  CLOCK();  //鬧鈴設(shè)置
 }
}
/*******************************************************************************************************************************/
#ifndef  _DS1302_H_
#define  _DS1302_H_
/*********************************************************************************/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RST = P3^4;
sbit SCLK  = P3^5;
sbit IO    = P3^6;
/********以下是函數(shù)聲明********/
void  Ds1302_Write_Byte(uchar ch);   //寫一字節(jié)數(shù)據(jù)函數(shù)聲明
uchar Ds1302_Read_Byte();        //讀一字節(jié)數(shù)據(jù)函數(shù)聲明
void  Write_Ds1302(uchar cmd,uchar indata); //寫DS1302函數(shù)聲明
uchar Read_Ds1302(uchar addr);   //讀DS1302函數(shù)聲明
void  Set_Ds1302(uchar *str);    //設(shè)置時(shí)鐘數(shù)據(jù)地址 格式為: 秒 分 時(shí) 日 月 星期 年
void  Get_Ds1302(uchar *str);    //讀當(dāng)前時(shí)間函數(shù)聲明
void  Init_Ds1302();     //DS1302初始化函數(shù)聲明
/********以下是寫一字節(jié)數(shù)據(jù)函數(shù)********/
void Ds1302_Write_Byte(uchar ch)
{
   uchar n;
   EA=0;
   for(n=0;n<8;n++)
   {
    SCLK=0;             //寫時(shí)低電平改變數(shù)據(jù)
    if(ch&0x01)
    IO=1;
    else
    IO=0;
    SCLK=1;            //高電平把數(shù)據(jù)寫入DS1302
    _nop_();
 _nop_();
    ch=ch>>1;
   }
   EA=1;
}
/********以下是讀一字節(jié)數(shù)據(jù)函數(shù)********/
uchar Ds1302_Read_Byte()   
{
   uchar n,temp=0;
   EA=0;
   IO=1;               
   for(n=0;n<8;n++)
   {
    SCLK=1;
    if(IO)
    temp|=0x80;
    else
    temp&=0x7f;
    SCLK=0;             //產(chǎn)生下跳沿
    temp=temp>>1;
   }
   EA=1;
   return (temp);
}
/********寫DS1302函數(shù), 往DS1302的某個(gè)地址寫入數(shù)據(jù) ********/
void Write_Ds1302(uchar cmd,uchar indata)
{
   SCLK=0;
   RST=1;
   Ds1302_Write_Byte(cmd);       
   Ds1302_Write_Byte(indata);
   SCLK=0;
   RST=0;
}
/********讀DS1302函數(shù),讀DS1302某地址的的數(shù)據(jù)********/
uchar Read_Ds1302(uchar addr)
{
   uchar backdata;
   RST=0;
   SCLK=0;
   RST=1;
   Ds1302_Write_Byte(addr);        //先寫地址
   backdata=Ds1302_Read_Byte();    //然后讀數(shù)據(jù)
   SCLK=0;
   RST=0;
   return (backdata);
}
/********設(shè)置初始時(shí)間函數(shù)********/
void Set_Ds1302(uchar *str)
{
   uchar n,addr = 0x80;
   Write_Ds1302(0x8e,0x00);          //寫控制字,允許寫操作
   for(n=0;n<7;n++)
   {
     Write_Ds1302(addr,*str);
     addr=addr+2;
  str++;
   }
   Write_Ds1302(0x8e,0x80);          //寫保護(hù),不允許寫
}
/********讀取當(dāng)前時(shí)間函數(shù)********/
void Get_Ds1302(uchar *str)
{
 uchar n,addr = 0x81;
 for(n=0;n<7;n++)
 {
  str[n]=Read_Ds1302(addr);
  addr+=2;
 }
}
/************初始化時(shí)間********************/
void Init_Ds1302()
{
 RST=0;
    SCLK=0;
 RST=1;
 Write_Ds1302(0x80,0x00);  //寫秒寄存器
    Write_Ds1302(0x90,0xab);  //寫充電器
    Write_Ds1302(0x8e,0x80);  //寫保護(hù)控制字,禁止寫
}
///////////////////////////////////////
#endif
/***********************************************************************************************************************/
#ifndef _KEY_H_
#define _KEY_H_
/****************************************************/
#define KEYIO P1       //定義鍵盤的輸入口
unsigned char code KeyTab[17]="123A456B789C*0#D";         //鍵盤查表
/***********************************************/
void delay_ms(unsigned int time)   //誤差 -0.000000000003us
{
    unsigned char a,b;
 while(time--)
 {
       for(b=102;b>0;b--)
        for(a=3;a>0;a--);
 }
}
/**************************************************/
///////////////////////////////////////////////
unsigned char KeyRvs(void)    //反轉(zhuǎn)法
{
  unsigned char temH, temL, key;
 delay_ms(10);     //兩次掃描間隔為10ms,消除抖動(dòng)導(dǎo)致的誤操作
  KEYIO = 0x0f; temL = KEYIO;//高四位先輸出0;讀入,低四位含有按鍵信息
  KEYIO = 0xf0; temH = KEYIO;//然后反轉(zhuǎn)輸出0;讀入,高四位含有按鍵信息
 switch(temL)
 {
  case 0x0e: key = 0; break;
  case 0x0d: key = 1; break;
  case 0x0b: key = 2; break;
  case 0x07: key = 3; break;
  default: return 16;//按下的不是上述按鍵,就當(dāng)是沒有按鍵
  }
 switch(temH)
 {
  case 0xe0: return  key;
  case 0xd0: return (key + 4);
  case 0xb0: return (key + 8);
  case 0x70: return (key + 12);
  default: return 16;//按下的不是上述按鍵,就當(dāng)是沒有按鍵
 }
 
 
}
/**********************************************************/ 
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef  _IIC_H
#define  _IIC_H_
/***************************************************/

#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define SLAVE 0xa0   //IIC器件地址  注意全部接地
#define Rslave SLAVE+1   //送讀控制字
sbit SDA=P3^0;     //IIC數(shù)據(jù)接口
sbit SCL=P3^1;     //IIC時(shí)鐘接口
////////////////////////////////////////////////////////
void delay_iic(uint time)
{
 for(time;time>0;time--);
}
///////////////////////////////////////
void start_iic()
{
 SDA=1;
 SCL=1;
 delay_iic(10);
 SDA=0;
 delay_iic(10);
 SCL=0;
}

void stop_iic()
{
 SDA=0;
 SCL=1;
 delay_iic(10);
 SDA=1;
 delay_iic(10);
 SCL=0;
}

void ack_iic()
{
 SDA=0;
 SCL=1;
 delay_iic(10);
 SCL=0;
 SDA=1;
}

void nack_iic()
{
 SDA=1;
 SCL=1;
 delay_iic(10);
 SCL=0;
 SDA=0;
}

////////////////////////* write 1 byte   *//////////////////////
void write_byte(uchar ch)
{
 uchar i;
 for(i=0;i<8;i++)
 {
  if(ch&0x80)
  SDA=1;
  else
  SDA=0;
  SCL=1;
  delay_iic(10);
  SCL=0;
  ch=ch<<1;
 }
 SDA=1;
 SCL=1;
 delay_iic(10);
 if(SDA==1)
 F0=0;
 else
 F0=1;
 SCL=0;
}
///////////////////////////*  read 1 byte  *////////////////////////
uchar read_byte()
{
 uchar i;
 uchar r=0;
 SDA=1;
 for(i=0;i<8;i++)
 {
  r=r<<1;
  SCL=1;
  delay_iic(10);
  if(SDA==1)
  r++;
  SCL=0;
 }
 return r;
}
/***********************寫一個(gè)字節(jié)**************************
bit  Write_Byte_iic(uchar addr,uchar ch)
{
 start_iic();  //產(chǎn)生起始信號(hào)
 write_byte(SLAVE);   //發(fā)送從器件地址
 if(F0==0) return 0;   //檢查應(yīng)答位
 write_byte(addr);   //發(fā)送目的地址
 if(F0==0) return 0;
 write_byte(ch);   //發(fā)送8為數(shù)據(jù)
 if(F0==0) return 0;
 stop_iic();      //停止信號(hào)
 return 1;
}
  
/********************讀一個(gè)字節(jié)***************************
uchar Read_Byte_iic(uchar addr)
{ 
 uchar ch;       
 start_iic();    //啟動(dòng)IIC
 write_byte(SLAVE);    //寫器件地址
 if(F0==0)return 0;
 write_byte(addr);    //寫讀取的地址
 if(F0==0)return 0;
 start_iic();   //再次產(chǎn)生起始信號(hào),不能少
 write_byte(Rslave);  //送讀控制字
 if(F0==0)return 0;
 ch=read_byte();   //讀出指定單元的內(nèi)容
 nack_iic();    //非應(yīng)答信號(hào)
 stop_iic();    //停止IIC
 return (ch); 
}
 ************************************************************/
////////////////////////////////////////////////////////////
bit Read_Nbyte_iic(uchar slave,uint addr,uchar *str,uchar  numb)
{
 uchar i;
 start_iic();
 write_byte(slave);  //write  iic  addr
 if(F0==0)
 return 0;
 write_byte(addr);  //write  data   addr
 if(F0==0)
 return 0;
 start_iic();   //再次產(chǎn)生起始信號(hào),不能少
 write_byte(Rslave);  //送讀控制字
 if(F0==0)
 return 0;
 for(i=0;i<numb-1;i++)    //
 {
  *str=read_byte();
  ack_iic();
  str++;
 }
 *str=read_byte();
 nack_iic();
 stop_iic();
 return(1);
}
/////////////////////////* write n  byte  *////////////////////////////
bit Write_Nbyte_iic(uchar slave,uint addr,uchar *str,uchar numb)
{
 uchar i;
 start_iic();
 write_byte(slave);  //write  iic  addr
 if(F0==0)
 return 0;
 write_byte(addr);  //write  data   addr
 if(F0==0)
 return 0;
 for(i=0;i<numb;i++)    //write data
 {
  write_byte(*str);
  if(F0==0)
  return 0;
  str++;
 }
 stop_iic();       //stop iic
 return(1);
}

/////////////////////////////////////////////////////////////////
#endif
關(guān)閉窗口

相關(guān)文章

岛国最新视频免费在线观看| 欧美女王vk| 久久亚洲国产成人亚| 最新一区二区三区| 美女日批免费视频| 999国产在线| 国产亚洲欧美aaaa| 精品久久久中文| 少妇人妻一区二区| 五月婷婷中文字幕| 无码人妻aⅴ一区二区三区有奶水| 中文字幕一区电影| 欧美日韩在线另类| 不卡一区二区三区四区| 亚洲最大黄网| 精品网站999| 二区在线播放| 日韩av电影免费| 亚洲精品久久久成人| 日本黄色一级视频| 免费成人在线观看视频| 中文字幕日韩欧美精品高清在线| 五月激情综合| 999人在线精品播放视频| 人妻中文字幕一区二区三区| 无码一区二区精品| 国产1区2区在线| 色综合久久88色综合天天提莫| 国产成人精品久久久| 国产一区二区精品丝袜| 精品视频免费看| 亚洲一区二区三区三| 青青草手机视频在线观看| 91免费国产在线| 天天舔夜夜操| 伊人亚洲视频| 日批视频免费观看| 黄色一级片在线| 国产手机在线观看| 亚洲av无码成人精品区| 国产xxxxx在线观看| 日本三级福利片| 欧美高清性xxxxhd| 国产女主播一区二区三区| 国产精品com| 久久久综合av| 久久五月情影视| 亚洲最新视频在线| 亚洲毛片在线免费观看| 亚洲精美色品网站| 日韩欧美一级片| 欧美另类变人与禽xxxxx| 日本精品一级二级| 欧美视频在线免费| 午夜精品久久久久久久久| 日韩久久一区二区| 亚洲欧美欧美一区二区三区| 国产精品久久午夜夜伦鲁鲁| 国产无人区一区二区三区| 91免费在线看| 久久久久亚洲蜜桃| 久久网这里都是精品| 972aa.com艺术欧美| 国产一区二区看久久| 久久精品免费观看| 久久99国内精品| 国产精品伊人色| aaa一区二区三区| 视频一区二区综合| 国产专区一区二区| 国产亚洲精品美女久久久m| 国产精品福利视频| 国产免费高清一区| 蜜桃av噜噜一区二区三| 日本在线观看一区| 亚洲国产一区二区在线| 一区二区三区不卡在线| 日本在线视频www色| 无码人妻aⅴ一区二区三区日本| 国产成年人在线观看| 亚洲精品天堂成人片av在线播放| 国产亚洲精品久久久久久久| 午夜小视频在线| 热99这里只有精品| 精品国产免费人成在线观看| 色婷婷久久一区二区三区麻豆| 亚洲成人精品影院| 91电影在线观看| 日韩一区二区三区免费观看| 日韩h在线观看| 日韩网站免费观看| 热久久免费国产视频| 国产一区红桃视频| 国产一区二区中文字幕免费看| 日本在线一区| 国产肥臀一区二区福利视频| 欧美性生交xxxxxdddd| 中日韩在线视频| 亚洲伦理中文字幕| 日韩最新av在线| 欧美亚洲成人网| 91精品国产自产在线老师啪| 久久精品一区二区三区不卡免费视频| 天堂资源在线亚洲视频| 少妇高潮喷水在线观看| 国产精品久久久久久9999| 日韩免费高清一区二区| 青青操在线视频观看| 天堂网av手机版| 亚洲精品人妻无码| wwwxxxx欧美| 不卡中文字幕av| 国产综合精品久久久久成人av| 国产69精品久久久久毛片| 久久国产福利| 成人综合婷婷国产精品久久免费| 国产精品青草综合久久久久99| 亚洲风情在线资源站| 91精品国产色综合久久ai换脸| 国产一区二区三区丝袜| 91高潮精品免费porn| 国产精品成人观看视频免费| 四虎永久免费网站| 天天干天天色天天干| 久久av红桃一区二区禁漫| 欧美国产第一页| 国产女人水真多18毛片18精品视频| 亚洲特黄一级片| 欧美日韩一区二区三区在线看| 在线色欧美三级视频| 日韩一区欧美小说| 欧美日韩国产中文| 久久精品影视伊人网| 成人h猎奇视频网站| 黄色高清视频网站| 国产精品久久久久久久无码| 圆产精品久久久久久久久久久| 日本免费网站在线观看| 国产小黄视频| 超碰在线资源| 国内精品伊人久久久| 欧美性猛交xxxxx少妇| 日本福利一区二区| 在线成人午夜影院| 国内精品一区二区三区| 欧美一进一出视频| 欧美日韩精品区别| 精品久久免费视频| 国产美女在线看| 黄色电影免费在线看| 久草综合在线| 一本色道久久精品| 18欧美亚洲精品| 亚洲美女视频网站| 国产福利久久精品| 三上悠亚在线一区| 亚洲第一区av| 成年女人毛片| 女海盗2成人h版中文字幕| 五月天久久777| 久久久久久久久久久久久女国产乱| 在线观看91av| 国产日本欧美一区二区三区在线| 性一交一乱一伧国产女士spa| 亚洲高潮女人毛茸茸| 性猛交xxxx| 亚洲一区二区三区免费观看| 久久人人爽人人爽爽久久| 国产伦精品一区二区三区| 另类小说色综合| 99热国产在线观看| www污污网站在线看| 免费男女羞羞的视频网站在线观看| 日韩成人激情| 国产日产欧美一区| 亚洲视频在线观看免费| 蜜桃传媒一区二区| 国产三级国产精品| 影音先锋在线中文| 国产在线高清视频| 欧美视频福利| 欧美日韩国产精品专区| 97成人在线视频| 日韩国产欧美亚洲| 中文字幕一区综合| 国产三级在线观看完整版| 男女毛片免费视频看| 波多野结衣在线影院| av在线不卡免费观看| 欧美偷拍一区二区| 水蜜桃久久夜色精品一区| 国产成人免费视频一区| 欧美一级欧美一级在线播放| 亚洲a级在线观看| 一级全黄裸体片| 亚洲第九十九页| 欧美视频综合| 久久国产成人精品| 一区二区在线观看免费视频播放| 久久久亚洲国产天美传媒修理工| 日韩av中文字幕第一页| 无码人妻熟妇av又粗又大 | 色操视频在线| 国产视频亚洲| 91精品欧美一区二区三区综合在| 99视频在线播放| 少妇无套高潮一二三区| 日本黄色免费| 999在线精品| 中文字幕免费在线观看视频一区| 欧美成人午夜激情| 美女黄色片视频| 1区2区3区视频| 欧美成人免费电影| 成人午夜精品在线| 久色乳综合思思在线视频| 国产99久久九九精品无码| 99riav国产| 天天干在线视频论坛| 麻豆精品一区二区| 亚洲小视频在线| koreanbj精品视频一区| 亚洲AV无码精品国产| 少女频道在线观看高清| 韩国毛片一区二区三区| 色吧影院999| 97超碰人人爽| 99久久99久久免费精品小说 | 亚洲免费高清视频在线| 国产97在线|日韩| 国产黄色网址在线观看| 女人被狂躁到高潮的免费| 欧美日韩另类图片| 午夜亚洲国产au精品一区二区| 亚洲影视九九影院在线观看| 蜜桃av.com| 中文字幕大看焦在线看| 在线观看不卡| 日本91福利区| 日韩精品高清在线观看| 午夜精品久久久久久久无码| 韩国中文字幕hd久久精品| 欧洲av不卡| 日本一区二区在线不卡| 国产精品揄拍一区二区| 欧美精品久久久久久久久46p| 嫩草影院永久入口| 一级免费在线观看| 亚洲高清久久久久久| 18性欧美xxxⅹ性满足| jjzzjjzz欧美69巨大| 日本一二三视频| 深爱激情综合| 制服丝袜成人动漫| 日韩欧美视频免费在线观看| 蜜臀av中文字幕| 国产日韩在线观看视频| 午夜精品久久久久久久久| 日韩免费av一区二区三区| 国产又粗又猛又黄又爽无遮挡| 少妇在线看www| 亚洲欧美在线观看| 日本不卡在线播放| 99国产精品99| 国产精品视频一区视频二区| 亚洲va国产天堂va久久en| 日韩hmxxxx| 亚洲国产欧美另类| 精品国产亚洲一区二区三区大结局 | 白丝校花扒腿让我c| 在线观看成人影院| 久久激情一区| 久久久久久12| 国产精品免费人成网站酒店| 欧美成人亚洲高清在线观看| 国产一二三四在线| 调教视频vk| 另类天堂av| 韩国一区二区电影| 国产一级二级三级视频| 岛国av在线网站| 亚洲激情网站免费观看| 亚洲一卡二卡| 欧美娇小性xxxx| 婷婷亚洲综合| 日韩视频亚洲视频| www久久久久久久| 日本成人网址| 综合分类小说区另类春色亚洲小说欧美 | 亚乱亚乱亚洲乱妇| 国产日韩av一区| 亚洲欧美综合v| 欧美ab在线视频| 国产99久久久国产精品成人免费| 色八戒一区二区三区| 青娱乐自拍偷拍| 免费观看的成年网址| 亚洲视频日本| 成人一区二区三区中文字幕| 国产精品丝袜一区二区三区| 999视频在线| 日韩欧美中文字幕在线视频| 欧美一级免费观看| 女女调教被c哭捆绑喷水百合| 久久这里精品| 国产精品色哟哟| 黄黄视频在线观看| 狠狠色噜噜狠狠狠狠888奇米| 久久蜜桃精品| 国产精品高潮粉嫩av| 国产精品久久久久久免费免熟| 福利视频网址| 农村老熟妇乱子伦视频| 免费一级a毛片夜夜看| 波多野结衣视频一区二区| 精品欧美一区二区三区| 欧美少妇性生活视频| 久久综合色播| 久久综合狠狠综合久久综合88 | 欧美xnxx| 91精品国产综合久久精品| www日本在线观看| av在线播放国产| 91久久奴性调教| 亚洲av人人澡人人爽人人夜夜| 欧美18hd| 色偷偷久久人人79超碰人人澡| 午夜免费一区二区| 日本免费一区二区三区最新| 一区二区激情视频| 成人性生交免费看| 91福利在线视频| 懂色aⅴ精品一区二区三区蜜月| www.cao超碰| 老司机在线看片网av| 色激情天天射综合网| 欧美色图校园春色| 超黄网站在线观看| 日韩欧美精品在线| 国语对白在线播放| 91国内精品白嫩初高生| 美日韩精品免费视频| 91肉色超薄丝袜脚交一区二区| 国产精品久久久久一区二区三区厕所| 69**夜色精品国产69乱| 日本激情综合网| www午夜视频| 污视频在线观看网站| 樱花影视一区二区| 中文字幕12页| 白浆在线视频| 亚洲欧美中文字幕| 中文字幕精品无码一区二区| 欧美日韩色图| 91在线中文字幕| 熟年交尾五十路视频在线播放| 成人性色生活片免费看爆迷你毛片| 黄色www在线观看| 天堂成人在线| 欧美自拍丝袜亚洲| 人与动物性xxxx| 啪啪激情综合网| 国产精品免费视频久久久| 国产男女在线观看| 午夜激情视频在线观看| 欧美日韩成人综合天天影院| 人人澡人人澡人人看| 久久91精品| 日韩三级电影网址| 亚洲精品国久久99热| 亚洲女人****多毛耸耸8| 国产精品免费看久久久无码| 亚洲成人精品一区二区三区| 欧美性猛交99久久久久99按摩| 欧美成人国产精品一区二区| 国产精品igao视频网网址不卡日韩| 麻豆国产精品va在线观看不卡| 男人天堂av网| 国产精品一二二区| 精品少妇在线视频| 久久久久久国产精品免费无遮挡| 日韩欧美区一区二| 中文字幕无码乱码人妻日韩精品| 99国产精品视频免费观看一公开 | 日韩亚洲第一页| 亚洲免费视频网| 高清国产午夜精品久久久久久| 黄色高清无遮挡| 视频二区不卡| 97在线免费观看视频| chien国产乱露脸对白| 亚洲特级片在线| 美女100%露胸无遮挡| 国产精品一国产精品| 国产成人一区二区三区免费看| 天堂资源在线观看| 欧美精品乱码久久久久久| 亚洲视频免费播放| 久久久久久久欧美精品| 男人日女人视频网站|