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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2241|回復: 0
打印 上一主題 下一主題
收起左側

lcd液晶時鐘,附帶鬧鐘,日歷

[復制鏈接]
跳轉到指定樓層
樓主
ID:289354 發表于 2018-3-8 19:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar shi=0,fen=0,miao=0,ri=7,yue=1,Z=1,Y=1,i,K1num;
uint nian=2015;
uchar count_10ms,K1num;
sbit rs=P2^4;
sbit rw=P2^5;
sbit lcden=P2^6;
sbit    K1=P1^1;
sbit    K2=P1^2;
sbit    K3=P1^3;
sbit    K4=P1^4;
sbit  BEEP=P3^7;
void delay(uint x)  //????
{
    uint a,b;
    for(a=x;a>0;a--)
        for(b=10;b>0;b--);
}
void  bi(uint t)//????
{
    int c,n;
    for(c=0;c<t;c++)
    {
    for(n=0;n<50;n++);
    BEEP=~BEEP;     
    }
//return(t);
}
void write_com(uchar com)//    1602????
{
    P0=com;
    rs=0;
    rw=0;
    lcden=0;
    delay(10);
    lcden=1;
    delay(10);
    lcden=0;

}
void write_date(uchar date)//1602?????
{
    P0=date;
    rs=1;
    rw=0;
    lcden=0;
    delay(10);
    lcden=1;
    delay(10);
    lcden=0;   
}
void beep()//??
{
  BEEP=0;
  delay(100);
  BEEP=1;
  delay(100);
}
void naozhong()//??
{
  if((Z==shi)&(Y==fen)&(miao<20))
  {  bi(90);
     bi(120); }
}   

void shijian(uint t,add )
{
if (t>100)
{
  uchar a,b,c,d;
  a=t/1000+0x30;
  b=t/100%10+0x30;
  c=t/10%10+0x30;
  d=t%10+0x30;
  write_com(add);
  write_date( a);
  write_date( b);
  write_date( c);
  write_date( d);
}
else
{                                                                                                                           
  uchar m=0,n=0;
    m=t/10+0x30;
    n=t%10+0x30;
    write_com(add);
    write_date( m);
    write_date( n);
}
}
void LCD_disp()
{
    shijian(shi,0x80+0 );
    write_com(0x80+2);
    write_date(0x3a);
    shijian(fen,0x80+3 );
    write_date(0x3a);
    shijian(miao,0x80+6 );
    write_date( 0x2d);
    write_date( 0x2d);
    write_date( 0x2d);
    shijian(Z,0x80+11 );
    write_date(0x3a);
    shijian(Y,0x80+14 );
    shijian(nian,0xc0+0 );
    write_date( 0x2d);
    shijian(yue,0xc0+5 );
    write_date( 0x2d);
    shijian(ri,0xc0+8 );
}
void init()// 1602?????
{

    write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);


}
void timer1_init()//?????
{
  TMOD=0x01;
  TH0=0x4c;TL0=0x00;
  EA=1;ET0=1;
  TR0=1;
}
void timer0() interrupt 1 using 0// ??
{
  TH0=0x4c;TL0=0x00;
  count_10ms++;
  if (count_10ms==20 )
  {
    count_10ms=0;
    miao++;
      if ( miao==60)
      {
          miao=0;
        fen++;
        if ( fen==60)
        {
          fen=0;
          shi++;
          if (shi==24)
          {
              shi=0;

              if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)
                { ri++;if (ri==32)  {ri=1;yue++;if ( yue==13) { nian++;yue=1;}} }
              else if(yue==4||yue==6||yue==9||yue==11)
                { ri++;if (ri==31)  {ri=1;yue++; if ( yue==13) { nian++;yue=1;}} }
              else if(yue==2)
                {
                  if((!(nian%4)&&(nian%100))|| !(nian%400))
                      { ri++;if (ri==30)  {ri=1; yue++; if ( yue==13) { nian++;yue=1;}} }
                  else
                      { ri++;if (ri==29)  {ri=1; yue++; if ( yue==13) { nian++;yue=1;}} }
                }

              }
          }
        }
  }
}

void keycan()//????
{
if( K1==0    )  //?????
  {
    K1num++; delay(1);
    if( K1==0 )
      {
          while(!K1);
          bi(200);
          if( K1num==1 ) {TR0=0; write_com(0x80+0); write_com(0x0f);}
          if( K1num==2 ) {write_com(0x80+3); write_com(0x0f);  }      
          if( K1num==3 ) {write_com(0x80+6); write_com(0x0f);  }     
          if( K1num==4 ) {write_com(0x80+11); write_com(0x0f);  }     
          if( K1num==5 ) {write_com(0x80+14); write_com(0x0f);  }
          if( K1num==6 ) {write_com(0xc0+3); write_com(0x0f);  }      
          if( K1num==7 ) {write_com(0xc0+6); write_com(0x0f);  }     
          if( K1num==8 ) {write_com(0xc0+9); write_com(0x0f);  }
          if( K1num==9 ) { K1num=0; write_com(0x0c); TR0=1; }


      }
}
  if( K1num!=0 )       //????
    {
      if( K2==0    )
      {
        delay(1);
        if( K2==0)
          {
            while(!K2);
            bi(200);
            if( K1num==1 ) { shi++;  if(  shi==24 )  shi=0;shijian(shi,0x80+0 ); write_com(0x80);  }     
            if( K1num==2 ) { fen++;    if(  fen==60 )  fen=0; shijian(fen,0x80+3 );write_com(0x80+3);  }
            if( K1num==3 ) { miao++;    if( miao==60 )  miao=0;shijian(miao,0x80+6 );write_com(0x80+6);    }
            if( K1num==4 ) {  Z++;    if(    Z==24 )    Z=0;shijian(Z,0x80+11 ); write_com(0x80+11);  }
            if( K1num==5 ) {  Y++;    if(    Y==60 )    Y=0;shijian(Y,0x80+14);  write_com(0x80+14);  }
            if( K1num==6 ) { nian++;    if( nian==2999 )  nian=2015; shijian(nian,0xc0+0 );write_com(0xc0+0);  }
            if( K1num==7 ) {  yue++;    if(    yue==13 )    yue=1; shijian(yue,0xc0+5 ); write_com(0xc0+5);  }
            if( K1num==8 ) {  ri++;
                                                                                                                        if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)
                                { if (ri==32)  {ri=1;} }
                              else if(yue==4||yue==6||yue==9||yue==11)
                                { if (ri==31)  {ri=1;} }
                              else if(yue==2)
                                {
                                  if((!(nian%4)&&(nian%100))|| !(nian%400))
                                      { if (ri==30)  {ri=1; } }
                                  else
                                      { if (ri==29)  {ri=1;} }
                                }
                                shijian(ri,0xc0+8);  write_com(0xc0+8);
                            }
        }
      }
    }

    if(K1num!=0)        // ????
    {
      if(K3==0  )
      {
        delay(1);
        if(K3==0  )
          {
            while(!K3);
            bi(200);
            if( K1num==1 ) {shi--;    if(  shi==-1 )  shi=23;shijian(shi,0x80+0 );write_com(0x80);  }   
            if( K1num==2 ) { fen--;    if(  fen==-1 )  fen=59; shijian(fen,0x80+3 );write_com(0x80+3);  }
            if( K1num==3 ) { miao--;  if( miao==-1 )  miao=59;  shijian(miao,0x80+6 );write_com(0x80+6);  }
            if( K1num==4 ) {  Z--;  if(    Z==-1 )    Z=23; shijian(Z,0x80+11 );write_com(0x80+11);  }
            if( K1num==5 ) {  Y--;      if(    Y==-1 )    Y=59;shijian(Y,0x80+14);write_com(0x80+14);  }
            if( K1num==6 ) { nian--;  if( nian==1000 )  nian=2015;shijian(nian,0xc0+0 );write_com(0xc0+0);    }
            if( K1num==7 ) {  yue--;    if(    yue==0 )    yue=12; shijian(yue,0xc0+5 ); write_com(0xc0+5);  }
            if( K1num==8 ) {  ri--;
                              if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)
                                { if (ri==0)  {ri=31;} }
                              else if(yue==4||yue==6||yue==9||yue==11)
                                { if (ri==0)  {ri=30;} }
                              else if(yue==2)
                                {
                                  if((!(nian%4)&&(nian%100))|| !(nian%400))
                                      { if (ri==0)  {ri=29; } }
                                  else
                                      { if (ri==0)  {ri=28;} }
                                }
                                shijian(ri,0xc0+8);  write_com(0xc0+8);
                            }
          }
      }
    }
                        if(K4==0)
                                delay(20);
                                 if(K4==0)
                                        {
                                                K1num=0; TR0=1;
                                        }
                        if(K1num==0)
                        {
                         LCD_disp();
                        }
        }       
void main ()
{
  init();
  timer1_init();
  while(1)
{

  keycan();
  naozhong();

}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产丝袜一区二区三区免费视频 | 国产1区2区 | 亚洲国产午夜 | 久在线| 狠狠色狠狠色综合系列 | 亚洲精品一区二区三区在线 | 亚洲视频在线看 | 亚洲最大福利网 | 毛片一区二区 | 亚洲精品乱码久久久久久按摩 | 国产乱码精品一区二区三区中文 | 日韩综合在线 | 国产视频一区二区 | 能免费看的av | 午夜三区 | 欧美日韩亚洲一区 | 不卡在线视频 | 成人激情视频在线播放 | 毛片免费看 | 国产欧美一区二区三区日本久久久 | www.av7788.com| 久久精品在线 | 久久久久亚洲 | 91人人看 | h视频在线播放 | 91精品国产综合久久小仙女图片 | 国产一区二区在线免费 | 91免费福利在线 | 最近中文字幕在线视频1 | 91精品国产综合久久久动漫日韩 | 日韩一区二区三区在线视频 | 日日夜夜免费精品视频 | 一区日韩| 国产区在线观看 | 天天操天天操 | 成人午夜看片 | 欧美8一10sex性hd | 亚洲精品一区二区 | 男女视频在线观看网站 | 亚洲久草视频 | 国产成人精品久久二区二区91 |