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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2278|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

arduino電子鐘程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:155430 發(fā)表于 2016-12-17 14:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/* * LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V  */
#include <LiquidCrystal.h>       //LCD1602顯示頭文件
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
unsigned long seconds;
int  s = 0, m = 0, h = 0, d = 0, mon = 0, y = 0;   //時(shí)間進(jìn)位
int  second = 0, minute = 0, hour = 0, day = 0, month = 0, year = 0;  //當(dāng)前時(shí)間
int  SECOND = 0, MINUTE = 0, HOUR = 0, DAY = 0, MONTH = 0, YEAR = 0;  //初始時(shí)間
void setup()
{
  lcd.begin(16, 2);  
  lcd.setCursor(2, 1);   lcd.print(":");   
  lcd.setCursor(5, 1);   lcd.print(":");  
  lcd.setCursor(4, 0);   lcd.print('-');  
  lcd.setCursor(7, 0);   lcd.print('-');   
  for(int i = 2;i <= 13; i++)
  {  
    pinMode(i,OUTPUT);  
  }
  set(2015,5,15,22,19,32);  //設(shè)置初始時(shí)間
}

void FormatDisplay(int col, int row,int num)   //格式化輸出
{
  lcd.setCursor(col, row);
  if(num < 10)   lcd.print("0");
  lcd.print(num);   
}
void time()   //計(jì)算時(shí)間
{   
     second = ( SECOND + seconds ) % 60;   //計(jì)算秒
     m = ( SECOND + seconds ) / 60;        //分鐘進(jìn)位
     FormatDisplay(6,1,second);

     minute = ( MINUTE + m ) % 60;  //計(jì)算分鐘
     h = ( MINUTE + m ) / 60;       //小時(shí)進(jìn)位
     FormatDisplay(3,1,minute);      

     hour = ( HOUR + h ) % 24;   //計(jì)算小時(shí)
     d = ( HOUR + h ) / 24;      //天數(shù)進(jìn)位
     FormatDisplay(0,1,hour);
}

int Days(int year, int month)   //根據(jù)年月計(jì)算當(dāng)月天數(shù)
{
    int days = 0;
    if (month != 2)
    {
      switch (month)
      {
        case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31;  break;
        case 4: case 6: case 9: case 11:  days = 30;  break;
      }
    }
    else //閏年
    {
      if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)    days = 29;
      else    days = 28;   
    }  
   return days;   
}

void Day()   //計(jì)算當(dāng)月天數(shù)
{     
   int days = Days(year,month);
   int days_up;
   if( month == 1 )   days_up = Days( year - 1, 12 );
   else  days_up = Days( year, month - 1 );
   day = ( DAY + d ) % days;
   if( day == 0 )   day = days;   
   if( ( DAY + d ) == days + 1 )
   {
     DAY -= days;
     mon++;
   }
   if(( DAY + d ) == 0)
   {
     DAY += days_up;
     mon--;
   }
   FormatDisplay(8,0,day);
}

void Month()    //計(jì)算月份
{  
   month = ( MONTH + mon ) % 12;
   if( month == 0 )  month = 12;
   y = ( MONTH + mon - 1) / 12;
   FormatDisplay(5,0,month);
}

void Year()    //計(jì)算年份
{
    year = ( YEAR + y ) % 9999;
    if( year == 0 ) year = 9999;
    lcd.setCursor(0, 0);
    if(year < 1000)  { lcd.print("0"); }
    if(year < 100)   { lcd.print("0"); }
    if(year < 10)    { lcd.print("0"); }
    lcd.print(year);
}

void Week(int y,int m, int d)  //根據(jù)年月日計(jì)算星期幾
{           
    if(m==1) m=13;
    if(m==2) m=14;
    int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
    String weekstr="";
    switch(week)
      {
          case 1: weekstr="Mon. ";   break;
          case 2: weekstr="Tues. ";  break;
          case 3: weekstr="Wed. ";   break;
          case 4: weekstr="Thur. ";  break;
          case 5: weekstr="Fri. ";   break;
          case 6: weekstr="Sat. ";   break;
          case 7: weekstr="Sun. ";   break;
      }   
    lcd.setCursor(11, 0);
    lcd.print(weekstr);
}

void set(int y, int mon, int d, int h, int m, int s)
{
  YEAR = y;
  MONTH = mon;
  DAY = d;  
  HOUR = h;
  MINUTE = m;
  SECOND = s;  
}

void Display()  //顯示時(shí)間、日期、星期
{
  time();
  Day();  
  Month();
  Year();
  Week(year,month,day);  
}

void loop()
{     
   seconds = millis()/1000;   
   Display();
}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: h片在线免费看 | 日本在线观看视频 | 国产最新视频在线 | 欧美日韩视频在线 | 欧美成人黄色小说 | 一区二区精品视频 | 国产精品黄 | 欧美日韩在线观看一区 | 亚洲精品乱码久久久久久按摩观 | 草久久久 | 国产一区 | 精品一区国产 | 午夜爽爽男女免费观看hd | 亚洲国产成人在线视频 | 亚洲成人av在线 | 欧美在线国产精品 | 九九热最新地址 | 久久久久国产视频 | 亚洲精品日本 | 欧美不卡在线 | 日韩国产中文字幕 | 新91视频网 | 欧美成人第一页 | 亚洲一区二区三区在线视频 | 日韩一级免费电影 | 日本中文字幕在线观看 | 精品国产一区二区三区性色 | 久久久www成人免费无遮挡大片 | 国产成人精品一区二区三区视频 | 成人夜晚看av | 亚洲成人综合网站 | 玖玖久久 | 韩日视频在线观看 | 久久最新 | 中国黄色毛片视频 | 午夜视频一区二区 | 天天玩天天操天天干 | 久久久精品影院 | 国产福利在线 | 日本成人中文字幕 | 亚洲一区视频 |