婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網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 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 亚洲一区精品视频在线观看| 欧美 日韩 国产在线观看| 3d动漫一区二区三区| 成人在线观看www| 亚洲天堂伊人网| 五月婷婷丁香色| 亚洲黄色a v| 亚洲第一狼人区| 冲田杏梨av在线| www.涩涩涩| 波多野结衣在线免费观看| 深爱五月综合网| 亚洲欧美一二三| 97超碰在线视| 无码人妻丰满熟妇区96| 久久久999免费视频| 中文字幕日本最新乱码视频| 欧美一级欧美一级| 日日橹狠狠爱欧美超碰| 欧美日韩一道本| 999精品网站| 中文字幕第88页| 小泽玛利亚av在线| 国产精品333| 黄色手机在线视频| 永久免费黄色片| 久久亚洲中文字幕无码| 91av俱乐部| 屁屁影院ccyy国产第一页| 欧美中日韩在线| 五月婷婷丁香综合网| 成人在线免费观看网址| 男人操女人逼免费视频| 亚洲综合av在线播放| 国产91沈先生在线播放| 国产裸体舞一区二区三区| 黄瓜视频免费观看在线观看www| www.国产二区| 凹凸日日摸日日碰夜夜爽1| 一级一片免费播放| 日本黄色三级大片| 天天做天天躁天天躁| 亚洲熟妇av一区二区三区| 日本三日本三级少妇三级66| 香蕉视频网站入口| 亚洲理论电影在线观看| 色播五月综合网| 免费毛片小视频| a级片一区二区| 国产传媒免费观看| 欧美一级片中文字幕| 超碰10000| 91aaa精品| 在线观看免费av网址| 青青青青草视频| 日韩在线视频在线| 一级特黄妇女高潮| 天天摸天天舔天天操| 国产精品人人妻人人爽人人牛| 欧美无砖专区免费| 中文字幕色呦呦| 亚洲一二区在线观看| 少妇黄色一级片| 欧美日韩一道本| 北条麻妃在线视频观看| 六月丁香激情网| 国产精品无码av在线播放| 国产美女永久无遮挡| www.国产在线视频| 妞干网视频在线观看| 国产aaa免费视频| 人妻夜夜添夜夜无码av| 污污污污污污www网站免费| 91视频 - 88av| 大陆av在线播放| 青草青青在线视频| 国内精品在线观看视频| 国产3p露脸普通话对白| 日韩av在线综合| 一级片视频免费观看| 精品亚洲视频在线| 99热一区二区三区| av影院在线播放| 37pao成人国产永久免费视频| 国产精品动漫网站| 一个色综合久久| 超碰在线免费观看97| 免费国产黄色网址| www.激情小说.com| 九九久久九九久久| 日批视频在线免费看| 在线黄色免费观看| 无颜之月在线看| 美女福利视频在线| 伊人国产精品视频| 日韩免费视频播放| 亚洲一级片av| 成人在线免费在线观看 | 亚洲污视频在线观看| 色偷偷中文字幕| 黄色一级视频在线播放| 国产日韩成人内射视频 | 8x8x华人在线| 黄色a级片免费| 日韩国产成人无码av毛片| 欧美 国产 小说 另类| 午夜激情视频网| 黄色片一级视频| 欧美国产视频一区| 亚洲老女人av| 免费毛片小视频| www.亚洲视频.com| 国产精品波多野结衣| 成人免费在线小视频| 青青青在线观看视频| 五月天亚洲视频| 欧美亚洲黄色片| 日韩视频一二三| 国产又黄又猛的视频| 中文字幕欧美人妻精品一区| www.亚洲成人网| 肉色超薄丝袜脚交| www.精品在线| 男女啪啪网站视频| 日韩 欧美 高清| 六月激情综合网| 日本午夜激情视频| 国产精品www在线观看| 国产在线无码精品| 精品嫩模一区二区三区| 黄频视频在线观看| 免费在线精品视频| 国产大片一区二区三区| 国产大片一区二区三区| 激情成人在线观看| 尤物网站在线看| 五月天婷婷在线观看视频| 欧美日韩一区二区三区69堂| 99视频免费播放| 污污的网站免费| 国产农村妇女精品久久| 国产三级中文字幕| 粉嫩av一区二区三区天美传媒| 一级黄色片播放| 国产v片免费观看| www.欧美日本| 中文字幕 91| 17c国产在线| 国产青草视频在线观看| 两根大肉大捧一进一出好爽视频| 男女日批视频在线观看| 国产高清av在线播放| 日韩久久一级片| 国内国产精品天干天干| 红桃视频一区二区三区免费| 熟女熟妇伦久久影院毛片一区二区| 懂色av粉嫩av蜜臀av| 日本a在线天堂| 动漫av免费观看| 裸体裸乳免费看| 免费国产黄色网址| 性生生活大片免费看视频| 国产成人在线小视频| 国产97色在线 | 日韩| 吴梦梦av在线| 国产精品亚洲a| 欧美中日韩在线| 天天夜碰日日摸日日澡性色av| 9999在线观看| 国产h视频在线播放| 日日噜噜噜噜久久久精品毛片| 激情五月婷婷基地| 国产www免费| 在线能看的av网站| 欧美 国产 日本| 欧美激情第四页| 9久久婷婷国产综合精品性色| 国产卡一卡二在线| 黄色永久免费网站| 国产亚洲综合视频| 日韩国产精品毛片| 五月花丁香婷婷| 久久久精品麻豆| 国产成人精品视频免费看| 女人床在线观看| 手机精品视频在线| 不用播放器的免费av| 欧美牲交a欧美牲交aⅴ免费真| 青草全福视在线| 欧美a级黄色大片| www.污污视频| 中文字幕12页| 在线不卡一区二区三区| 污网站免费在线| www午夜视频| 国产精品区在线| mm1313亚洲国产精品无码试看| 欧美日韩在线一| 久久久精品在线视频| 337p粉嫩大胆噜噜噜鲁|