www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

AT89C51,51單片機1602液晶顯示時鐘程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-03-12

51單片機時鐘c語言程序,這是一款AT89C51單片機1602液晶顯示時鐘程序,功能主要有:溫度、時間、日期、星期顯示以及調節。有多級菜單顯示。第一級菜單調節時間、日期。第二級菜單顯示自定義信息。
AT89C51單片機1602液晶顯示時鐘程序

#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P2^1;
sbit light=P2^7;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit LED1=P1^3;
sbit LED2=P1^4;
sbit DS1302_CE=P3^5;
sbit DS1302_IO=P3^6;
sbit DS1302_SCLK=P3^7;
sbit LCD1602_RS=P2^4;
sbit LCD1602_RW=P2^5;
sbit LCD1602_EN=P2^6;
extern uchar wendu[4];
extern void get_wendu();
extern void LCD1602_init();
extern void LCD1602_wcmd(uchar cmd);
extern void LCD1602_wdat(uchar dat);
extern void LCD1602_pos(uchar x,bit y);         //定義顯示位置,x為列,y為行,0上1下
extern void LCD1602_dischar(uchar x,bit y,uchar dat); //在指定位置顯示字符
extern void LCD1602_prints(uchar x,bit y,uchar *p);  //顯示字符串
extern uchar dt[7];
extern void set_time();
extern void get_time();
extern void DS1302_init();

uchar dt[7];
void DS1302_write_byte(uchar dat)
{
  char i;
  for(i=0;i<8;i++)
  {
    DS1302_SCLK = 0;
        _nop_();
        _nop_();
        dat >>= 1;
        DS1302_IO = CY;
        DS1302_SCLK=1;
        _nop_();
        _nop_();
  }
}
uchar DS1302_read_byte()
{
  uchar i;
  uchar dat = 0;
  for(i=0;i<8;i++)
  {
    DS1302_SCLK = 0;
        _nop_();
        _nop_();
        dat >>= 1;
        if(DS1302_IO) dat |= 0x80;
        DS1302_SCLK =1;
        _nop_();
        _nop_();
  }
  return dat;
}

void DS1302_write(uchar address,uchar dat)
{
  DS1302_CE=0;
  _nop_();
  _nop_();
  DS1302_SCLK=0;
  _nop_();
  _nop_();
  DS1302_CE=1;
  _nop_();
  _nop_();
  DS1302_write_byte(address);
  DS1302_write_byte(dat);
  DS1302_SCLK=1;
  DS1302_CE=0;
}

uchar DS1302_read(uchar address)
{
  uchar dat;
  DS1302_CE=0;
  _nop_();
  _nop_();                                         
  DS1302_SCLK=0;
  _nop_();
  _nop_();
  DS1302_CE=1;
  _nop_();
  _nop_();
  DS1302_write_byte(address);
  dat =DS1302_read_byte();
  DS1302_SCLK=1;
  DS1302_CE=0;
  dat=dat/16*10+dat;
  return dat;
}
void DS1302_init()
{
  DS1302_write(0x8e,0x00);
  DS1302_write(0x80,0x00);
  DS1302_write(0x82,0x00);
  DS1302_write(0x84,0x12);
  DS1302_write(0x86,0x10);
  DS1302_write(0x88,0x11);
  DS1302_write(0x8a,0x06);
  DS1302_write(0x8c,0x12);
  DS1302_write(0x8e,0x80);
}
void set_time()
{
  uchar i,j=0x80;
  for(i=0;i<7;i++)
  {
    dt[i]=dt[i]/10*16+dt[i];
  }
  DS1302_write(0x8e,0x00);
  DS1302_write(0x80,0x00);
  for(i=0;i<7;i++)
  {
    DS1302_write(j,dt[i]);
    j+=2;
  }
  DS1302_write(0x8e,0x80);
}
void get_time()
{
  dt[0] =DS1302_read(0x81);
  dt[1] =DS1302_read(0x83);
  dt[2] =DS1302_read(0x85);
  dt[3] =DS1302_read(0x87);
  dt[4] =DS1302_read(0x89);
  dt[5] =DS1302_read(0x8b);
  dt[6] =DS1302_read(0x8d);
}
void chaongdiaon()                                   //充電
{
DS1302_write(0x8e,0x00);          
  _nop_();
  _nop_();
DS1302_write(0x90, 0xa6);    //使能充電   用一個二極管  用4k電阻
DS1302_write(0x8e,0x80);          
  _nop_();
  _nop_();
}
uchar code self_char[]={
  0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02, //年
  0x0f,0x09,0x0f,0x09,0x0f,0x09,0x13,0x01, //月
  0x0f,0x09,0x09,0x0f,0x09,0x09,0x0f,0x00, //日
  0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00, //溫度標志— —攝氏度
  0x00,0x04,0x0E,0x1F,0x0E,0x04,0x00,0x00, //符號◆
  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, //全開
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00         //
                                           };
bit lcd_busy()
{
  bit result;
  LCD1602_RS=0;
  LCD1602_RW=1;
  LCD1602_EN=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  result = (bit)(P0&0x80);
  LCD1602_EN=0;
  return(result);
}
void LCD1602_wcmd(uchar cmd)
{
  while(lcd_busy());
  LCD1602_RS=0;
  LCD1602_RW=0;
  _nop_();
  _nop_();
  LCD1602_EN=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  P0=cmd;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  LCD1602_EN=0;
}
void LCD1602_wdat(uchar dat)
{
  while(lcd_busy());
  LCD1602_RS=1;
  LCD1602_RW=0;
  LCD1602_EN=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  P0=dat;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  LCD1602_EN=0;
}
void LCD1602_pos(uchar x,bit y)                //指定坐標,x為列,0~15,y為行,0為第一行,1為第二行。
{
  if(y)LCD1602_wcmd(x|0xc0);
  else LCD1602_wcmd(x|0x80);
}
void LCD1602_dischar(uchar x,bit y,uchar dat)        //指定位置顯示一個字符
{
  LCD1602_pos(x,y);
  LCD1602_wdat(dat);
}
void LCD1602_prints(uchar x,bit y,uchar *p)                                        //指定位置顯示字符串
{
  LCD1602_pos(x,y);
  while((*p) != '\0') {LCD1602_wdat(*p);p++;}
}
void LCD1602_init()
{
  uchar i;
  LCD1602_wcmd(0x40);
  for(i=0;i<64;i++)
        {
          LCD1602_wdat(self_char[i]);
        }
  LCD1602_wcmd(0x38);
  LCD1602_wcmd(0x38);
  LCD1602_wcmd(0x0c);
  LCD1602_wcmd(0x06);
  LCD1602_wcmd(0x01);
}
uchar wendu[4];
void delay_18b20(uchar i)
{
  int j;
  for(j=0;j
}
uchar init_18b20()
{
  uchar i;
  DQ=0;
  delay_18b20(30);
  DQ=1;
  delay_18b20(3);
  i=DQ;
  delay_18b20(20);
  return(i);
}
uchar read_18b20_bit()
{
  uchar i;
  DQ=0;
  DQ=1;
  for(i=0;i<3;i++);
  return(DQ);
}
void write_18b20_bit(unsigned xbit)
{
  DQ=0;
  if(xbit==1)
  DQ=1;
  delay_18b20(5);
  DQ=1;
}
uchar read_18b20_byte()
{
  uchar i,j,value;
  j=1;
  value=0;
  for(i=0;i<8;i++)
  {
        if(read_18b20_bit())
        {
          value=value+(j<>i;
        j=j&0x01;
        write_18b20_bit(j);
        delay_18b20(5);
  }
}
void get_wendu()
{
  uchar a,b;
  float get_temp;
  int temp1,temp2;
  init_18b20();
  write_18b20_byte(0xcc);
  write_18b20_byte(0x44);
  init_18b20();
  write_18b20_byte(0xcc);
  write_18b20_byte(0xbe);
  a=read_18b20_byte();         //低8位
  b=read_18b20_byte();         //高8位
  temp1=b;
  temp1=temp1<<8;
  temp1=temp1|a;
  if(b&0xfc)
        {wendu[0]=1;temp1=~temp1+1;}                //0正1負
  else 
    wendu[0]=0;
  get_temp=temp1*0.0625;
  temp2=get_temp*10+0.5;
  wendu[1]=temp200/100;
  wendu[2]=temp2000/10;
  wendu[3]=temp2000;
}

uchar mode=0,OK=0;
uchar dis1[16],dis2[16];
//uchar IRCOM[7],IRCODE=0;
uchar NUM1,NUM2;
uchar count;
bit L=0,select=0,DIS_EN=1,SHAN;
void delay(uint i)
{
  uchar j;
  while(i-- !=0)
  {
    for(j=0;j<120;j++);
  }
}
void delay1(uchar i)
{
  uchar j;
  while(i--)
  {for(j=0;j<13;j++){}}
}

void get_dis()
{
  dis1[0]='2';
  dis1[1]='0';
  dis1[2]=0x30+dt[6]/10;
  dis1[3]=0x30+dt[6];
  dis1[4]=0;
  dis1[5]=0x30+dt[4]/10;
  dis1[6]=0x30+dt[4];
  dis1[7]=1;
  dis1[8]=0x30+dt[3]/10;
  dis1[9]=0x30+dt[3];
  dis1[10]=2;
  dis1[11]=' ';
  dis1[12]=' ';
  switch(dt[5])
  {
        case 1: {
                          dis1[13]='M';
                          dis1[14]='o';
                          dis1[15]='n';
                        }
                        break;
        case 2: {
                          dis1[13]='T';
                          dis1[14]='u';
                          dis1[15]='e';
                        }
                        break;
        case 3: {
                          dis1[13]='W';
                          dis1[14]='e';
                          dis1[15]='d';
                        }
                        break;
        case 4: {
                          dis1[13]='T';
                          dis1[14]='h';
                          dis1[15]='u';
                        }
                        break;
        case 5: {
                          dis1[13]='F';
                          dis1[14]='r';
                          dis1[15]='i';
                        }
                        break;
        case 6: {
                          dis1[13]='S';
                          dis1[14]='a';
                          dis1[15]='t';
                        }
                        break;
        case 7: {
                          dis1[13]='S';
                          dis1[14]='u';
                          dis1[15]='n';
                        }
                        break;
  }
  dis2[0]=' ';
  dis2[1]=0x30+dt[2]/10;
  dis2[2]=0x30+dt[2];
  dis2[3]=':';
  dis2[4]=0x30+dt[1]/10;
  dis2[5]=0x30+dt[1];
  dis2[6]=':';
  dis2[7]=0x30+dt[0]/10;
  dis2[8]=0x30+dt[0];
  dis2[9]=' ';
  if(wendu[0]==1)
        dis2[10]=0x2d;
  else
        dis2[10]=' ';
  dis2[11]=0x30+wendu[1];
  dis2[12]=0x30+wendu[2];
  dis2[13]='.';
  dis2[14]=0x30+wendu[3];
  dis2[15]=3;
}
void keyscan()
{
  if(k1==0)
  {
        delay(10);
        if(k1==0)
        {
           while(!k1);
          mode++;
          if(mode==1 && OK==0)
                LCD1602_wcmd(0x01);         
          if(mode==2 && OK==0)        
          {
                mode=0;
                select=0;
          }
          if(select==0 && OK==1)
          {
                if(mode==7)
                  mode=1;
          }
          if(select==1 && OK==1)
          {
                if(mode==6)
                  mode=1;
          }
        }
  }
if(k2==0)
  {
        delay(10);
        if(k2==0)
        {
          while(!k2);
          if(mode==1 && OK==0)
            {select=~select;LCD1602_wcmd(0x01);}
          NUM1++;
        }
  }
  if(k3==0)
  {
        delay(10);
        if(k3==0)
        {
          while(!k3);
          if(mode==1 && OK==0)
            {select=~select;LCD1602_wcmd(0x01);}
          NUM2++;
        }
  }
  if(k4==0)
  {
        delay(10);
        if(k4==0)
        {
          while(!k4);
          if(mode==0)
                light=~light;
          if(mode !=0)
          {
            LCD1602_wcmd(0x01);
                OK++;
                NUM1=0;
                NUM2=0;
                if(OK==2)
                {
                  LCD1602_wcmd(0x01);
                  set_time();
//                  set_alarm();
                  mode=0;
                  select=0;
                  OK=0;
                }
          }
        }
  }
  if(k5==0)
  {
        delay(100);
        if(k5==0)
        {
          while(!k5);
          DS1302_init();
        }
  }        
}        


void display()
{
  get_wendu();
  get_dis();
  if(mode==0)        //正常模式                                         
  {
        uchar i;
        LED1=1;
        get_time();
//        get_alarm();
        LCD1602_pos(0,0);
        for(i=0;i<16;i++)
          LCD1602_wdat(dis1[i]);
        LCD1602_pos(0,1);
        for(i=0;i<16;i++)
          LCD1602_wdat(dis2[i]);
  }
  if(mode==1&&OK==0)  //菜單模式
  {
        LCD1602_prints(1,0,"1.Set Time");
        LCD1602_prints(1,1,"2.About...");
        if(select)
          LCD1602_dischar(0,1,4);
        else
          LCD1602_dischar(0,0,4);
  }
  if(OK==1&&select==0)          //調日期模式
  {
        uchar i;
        LCD1602_pos(0,0);
        for(i=0;i<16;i++)
          LCD1602_wdat(dis1[i]);
        LCD1602_pos(0,1);
        for(i=0;i<10;i++)
          LCD1602_wdat(dis2[i]);
        LCD1602_prints(10,1,"Set...");
        if(SHAN==1) LCD1602_prints(10,1,"Set.  ");
        if(mode==1)                  //調分模式,秒位清零
        {
          dt[0]=0;
          LCD1602_dischar(7,1,0x30+dt[0]/10);
          LCD1602_dischar(8,1,0x30+dt[0]);
          if(NUM1!=0)
                {
                  dt[1]++;
                  if(dt[1]==60)
                        dt[1]=0;
                  LCD1602_dischar(4,1,0x30+dt[1]/10);
                  LCD1602_dischar(5,1,0x30+dt[1]);
                  NUM1=0;
                }
                if(NUM2!=0)
                {
                  dt[1]--;
                  if(dt[1]==-1)
                        dt[1]=59;
                  LCD1602_dischar(4,1,0x30+dt[1]/10);
                  LCD1602_dischar(5,1,0x30+dt[1]);
                  NUM2=0;
                }
                if(SHAN==1) LCD1602_dischar(5,1,5);
                
        }
          else
           if(mode==2)         //調時模式
           {
                    if(NUM1!=0)
                 {
                   dt[2]++;
                   if(dt[2]==24)
                         dt[2]=0;
                   LCD1602_dischar(1,1,0x30+dt[2]/10);
                   LCD1602_dischar(2,1,0x30+dt[2]);
                   NUM1=0;
                 }
                 if(NUM2!=0)
                 {
                   dt[2]--;
                   if(dt[2]==-1)
                         dt[2]=23;
                   LCD1602_dischar(1,1,0x30+dt[2]/10);
                   LCD1602_dischar(2,1,0x30+dt[2]);
                   NUM2=0;
                 }
                  if(SHAN==1) LCD1602_dischar(2,1,5);
            }
                if(mode==3)        //調星期狀態
           {
                    if(NUM1!=0)
                 {
                   dt[5]++;
                   if(dt[5]==8)
                         dt[5]=1;
                   switch(dt[5])
                   {
                            case 1: LCD1602_prints(13,0,"Mon");break;
                         case 2: LCD1602_prints(13,0,"Tue");break;
                         case 3: LCD1602_prints(13,0,"Wed");break;
                         case 4: LCD1602_prints(13,0,"Thu");break;
                         case 5: LCD1602_prints(13,0,"Fri");break;
                         case 6: LCD1602_prints(13,0,"Sat");break;
                         case 7: LCD1602_prints(13,0,"Sun");break;
                   }
                   NUM1=0;
                 }
                 if(NUM2!=0)
                 {
                   dt[5]--;
                   if(dt[5]==0)
                         dt[5]=7;
                   switch(dt[5])
                   {
                            case 1: LCD1602_prints(13,0,"Mon");break;
                         case 2: LCD1602_prints(13,0,"Tue");break;
                         case 3: LCD1602_prints(13,0,"Wed");break;
                         case 4: LCD1602_prints(13,0,"Thu");break;
                         case 5: LCD1602_prints(13,0,"Fri");break;
                         case 6: LCD1602_prints(13,0,"Sat");break;
                         case 7: LCD1602_prints(13,0,"Sun");break;
                   }
                   NUM2=0;
                 }
                  if(SHAN==1) LCD1602_dischar(15,0,5);
            }
                if(mode==4)          //調日模式
           {
                    if(NUM1!=0)
                 {
                   dt[3]++;
                   if(dt[3]==32)
                         dt[3]=1;
                   LCD1602_dischar(8,0,0x30+dt[3]/10);
                   LCD1602_dischar(9,0,0x30+dt[3]);
                   NUM1=0;
                 }
                 if(NUM2!=0)
                 {
                   dt[3]--;
                   if(dt[3]==0)
                         dt[3]=31;
                   LCD1602_dischar(8,0,0x30+dt[3]/10);
                   LCD1602_dischar(9,0,0x30+dt[3]);
                   NUM2=0;
                 }
                  if(SHAN==1) LCD1602_dischar(9,0,5);
            }
                if(mode==5)                //調月模式
           {
                    if(NUM1!=0)
                 {
                   dt[4]++;
                   if(dt[4]==13)
                         dt[4]=1;
                   LCD1602_dischar(5,0,0x30+dt[4]/10);
                   LCD1602_dischar(6,0,0x30+dt[4]);
                   NUM1=0;
                 }
                 if(NUM2!=0)
                 {
                   dt[4]--;
                   if(dt[4]==0)
                         dt[4]=12;
                   LCD1602_dischar(5,0,0x30+dt[4]/10);
                   LCD1602_dischar(6,0,0x30+dt[4]);
                   NUM2=0;
                 }
                  if(SHAN==1) LCD1602_dischar(6,0,5);
            }
                if(mode==6)          //調年模式
           {
                    if(NUM1!=0)
                 {
                   dt[6]++;
                   if(dt[6]==100)
                         dt[6]=0;
                   LCD1602_dischar(2,0,0x30+dt[6]/10);
                   LCD1602_dischar(3,0,0x30+dt[6]);
                   NUM1=0;
                 }
                 if(NUM2!=0)
                 {
                   dt[6]--;
                   if(dt[6]==-1)
                         dt[6]=99;
                   LCD1602_dischar(2,0,0x30+dt[6]/10);
                   LCD1602_dischar(3,0,0x30+dt[6]);
                   NUM2=0;
                 }
                  if(SHAN==1) LCD1602_dischar(3,0,5);
            }
  }
  if(OK==1&&select==1)        //調鬧鈴模式
  {

          LCD1602_prints(0,0," Birthday gift  ");
          LCD1602_prints(0,1,"        --by HJL");
          delay(2000);
          LCD1602_wcmd(0x01);
          LCD1602_prints(0,0,"2013-12-04 Is   ");
          LCD1602_prints(0,1,"LiYunL birthday!");
          delay(2000);
          LCD1602_wcmd(0x01);
          LCD1602_prints(0,0,"Friends together");
          LCD1602_prints(0,1,"for life...     ");
          delay(2000);
          LCD1602_wcmd(0x01);
            mode=1 ;
          OK=0;
  }
}
void diy()
{
  LCD1602_init();
  delay(1);
  LCD1602_prints(0,0," Digital Clock  ");
  LCD1602_prints(0,1,"v1.1.0  --by HJL");
  delay(1000);
  LCD1602_wcmd(0x01);             
}

void main()
{
  IT0=1;          //外部中斷0為下降沿觸發
  EX0=1;          //
  TMOD=0x01;
  TH0=0x3C;                //50ms
  TL0=0xB0;
  EA=1;
  ET0=1;
  TR0=1;
  get_wendu();
  diy();
  chaongdiaon();

  while(1)
  {
    P1=0xff;
          keyscan();
        display();
  }
}

void timer0() interrupt 1
{
  TH0=0x3C;
  TL0=0xB0;
  count++;
  if(count==10)
  {
        count=0;
        SHAN=~SHAN;
  }
} 

Tags:51單片機,c語言程序,單片機時鐘  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久
国产日韩欧美综合在线| 天堂蜜桃91精品| 91久久精品国产91性色tv| 亚洲自拍偷拍麻豆| 91麻豆精品国产91久久久久 | 欧美综合天天夜夜久久| 图片区小说区区亚洲影院| 91精品国产91热久久久做人人| 久久精品国产99| 国产精品久久久久久久裸模| 91国产精品成人| 九九九精品视频| 日韩一区日韩二区| 91精品国产免费| 高清不卡在线观看av| 夜夜夜精品看看| 精品区一区二区| 99国产精品99久久久久久| 午夜日韩在线电影| 久久亚洲二区三区| 色哟哟在线观看一区二区三区| 日韩综合在线视频| 国产日韩欧美高清在线| 欧美系列一区二区| 国产一区二区视频在线| 亚洲伦理在线免费看| 日韩欧美中文一区二区| 成人精品高清在线| 免费成人在线播放| 日韩一区在线看| 日韩欧美国产成人一区二区| 93久久精品日日躁夜夜躁欧美| 日韩av电影一区| 中文字幕一区二区三区精华液| 欧美一级淫片007| 99久久精品久久久久久清纯| 日韩综合小视频| 亚洲特黄一级片| 欧美大片一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 免费一级片91| 亚洲综合免费观看高清完整版在线 | 国产精品久久久久久久久搜平片 | 亚洲美女一区二区三区| 欧美va亚洲va| 欧美在线短视频| 国产91精品免费| 青草国产精品久久久久久| 亚洲女同女同女同女同女同69| 欧美成人激情免费网| 在线观看av一区二区| 国产成人av一区二区三区在线 | 欧美成人女星排行榜| 91高清在线观看| 成人综合在线网站| 久久er99精品| 午夜伦理一区二区| 亚洲三级久久久| 欧美国产精品一区二区| 精品国产免费久久| 911精品国产一区二区在线| 91网站最新网址| 国产成人综合精品三级| 久久精品噜噜噜成人88aⅴ| 亚洲国产日韩综合久久精品| 国产精品国产成人国产三级| 国产亚洲一二三区| 精品久久久久久久久久久久包黑料 | 国产一区二区在线电影| 青青草国产成人av片免费| 一区二区在线观看视频| 中文在线免费一区三区高中清不卡| 欧美第一区第二区| 欧美一区二区播放| 欧美区一区二区三区| 日本道免费精品一区二区三区| 成人免费视频网站在线观看| 狠狠色狠狠色合久久伊人| 美女视频一区二区三区| 午夜精品视频在线观看| 亚洲一区二区三区四区在线| 亚洲日本免费电影| 国产精品传媒在线| 国产精品免费视频观看| 欧美国产禁国产网站cc| 久久久国产精华| 久久久久久久久久久久久久久99| 日韩欧美国产系列| 日韩一级大片在线观看| 69精品人人人人| 宅男噜噜噜66一区二区66| 7777女厕盗摄久久久| 欧美二区三区的天堂| 欧美精品xxxxbbbb| 欧美高清精品3d| 欧美一区二区三区小说| 91麻豆精品国产91久久久久久| 在线播放91灌醉迷j高跟美女 | 亚洲欧美日韩人成在线播放| 国产精品乱人伦中文| 亚洲欧美在线aaa| 亚洲欧美日韩中文字幕一区二区三区 | 福利一区福利二区| 99在线精品视频| 91一区二区三区在线观看| 天天影视涩香欲综合网 | 亚洲精品欧美激情| 久久久久久久久久久久久女国产乱| 国产精品1024久久| 成熟亚洲日本毛茸茸凸凹| 成人精品亚洲人成在线| 成人av午夜电影| 91视频免费播放| 欧美在线一二三四区| 欧美日韩黄视频| 精品美女在线播放| 国产午夜精品一区二区三区嫩草 | 成人久久视频在线观看| av成人老司机| 91国产福利在线| 777a∨成人精品桃花网| 亚洲精品一区二区三区蜜桃下载| 久久一区二区视频| 亚洲欧美综合色| 亚洲成人综合网站| 免费高清不卡av| 国产成人精品三级麻豆| 91久色porny | 成人黄页毛片网站| 色先锋资源久久综合| 欧美日韩国产色站一区二区三区| 欧美电影免费观看完整版| 国产欧美日韩亚州综合| 亚洲欧美日韩综合aⅴ视频| 亚洲va在线va天堂| 黄一区二区三区| 一本色道久久综合狠狠躁的推荐| 欧美理论电影在线| 国产午夜亚洲精品理论片色戒| 亚洲欧美一区二区三区孕妇| 亚瑟在线精品视频| 国产精品夜夜爽| 日本韩国一区二区三区| 日韩亚洲欧美在线观看| 国产人成一区二区三区影院| 亚洲综合一区二区精品导航| 美女一区二区视频| 成人午夜av电影| 欧美人与禽zozo性伦| 国产亚洲一区二区在线观看| 一区二区三区四区在线免费观看| 日本亚洲天堂网| 99久久精品免费看国产免费软件| 欧美欧美午夜aⅴ在线观看| 久久综合久久综合九色| 亚洲精品美国一| 九九视频精品免费| 色成年激情久久综合| 欧美精品一区二区不卡| 亚洲精品国产高清久久伦理二区| 久久精工是国产品牌吗| 99精品国产91久久久久久| 欧美一区二区久久| 国产精品久久久爽爽爽麻豆色哟哟| 午夜精品久久久久久久久久| 国产ts人妖一区二区| 91精品久久久久久久99蜜桃| 亚洲区小说区图片区qvod| 激情另类小说区图片区视频区| 在线视频综合导航| 国产精品视频在线看| 麻豆91免费观看| 在线国产亚洲欧美| 中文一区在线播放| 久久av资源站| 欧美日韩国产免费一区二区| 国产精品久久国产精麻豆99网站| 麻豆精品新av中文字幕| 欧美在线一二三四区| 国产精品无遮挡| 国产在线国偷精品免费看| 欧美人狂配大交3d怪物一区| 亚洲三级免费电影| 国产91清纯白嫩初高中在线观看 | 欧美日韩免费在线视频| 国产日产欧产精品推荐色 | 久久福利视频一区二区| 欧美视频精品在线观看| 国产香蕉久久精品综合网| 午夜欧美大尺度福利影院在线看| 91视频一区二区| 亚洲精品在线免费观看视频| 洋洋成人永久网站入口| www.av亚洲| 欧美一三区三区四区免费在线看| 国产精品全国免费观看高清| 首页亚洲欧美制服丝腿| www.成人网.com| 久久精品一区八戒影视| 另类小说一区二区三区|