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

QQ登錄

只需一步,快速開始

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

能詢問下單片機(jī)如何加入判斷世紀(jì)閏年的代碼(即400的倍數(shù))

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:536815 發(fā)表于 2019-5-13 11:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
源程序如下
void timer0() interrupt 1//定時(shí)器0中斷服務(wù)程序

{
TH0=(65536-50000)/256;//再次裝定時(shí)器初值
TL0=(65536-50000)%256;
count++;                            //中斷次數(shù)累加
if(count==20) //20次50毫秒為1秒
{
  count=0;
  ssecond++;
  if(ssecond==60)//秒加到60則進(jìn)位分鐘
  {
   ssecond=0;//同時(shí)秒數(shù)清零
   mminute++;
   if(mminute==60)//分鐘加到60則進(jìn)位小時(shí)
   {
    mminute=0;//同時(shí)分鐘數(shù)清零
    hhour++;                                                      
    if(hhour==24)//小時(shí)加到24則小時(shí)清零
    {
     hhour=0;
     week++;
     if(week==8)
     {
      week=1;
     }
     write_week(week);//星期若變化則重新寫入
     day++;
     if(year%4==0&&month==2)//判斷是否為閏年的2月
     {
      if(day==30)
      {
       writeym();                                                                                                                                                                                                                                                                        
      }
      write_ymd(9,day);//日若變化則重新寫入
     }
     if(year%4!=0&&month==2)//判斷是否為平年的2月
     {
      if(day==29)
      {
       writeym();                                                                                                                                                                       
      }
      write_ymd(9,day);//日若變化則重新寫入
     }
     if(month!=2&&month!=4&&month!=6&&month!=9&&month!=11)
     {
      if(day==32)
      {
       writeym();                                                                                                                                                                       
      }
      write_ymd(9,day);//日若變化則重新寫入
     }
     if(month==4||month==6||month==9||month==11)
     {
      if(day==31)
      {
       writeym();                                                                                                                                                                       
      }
      write_ymd(9,day);//日若變化則重新寫入
     }
    }
    if(bj==0)
     write_sfm(4,hhour);//24小時(shí)制小時(shí)若變化則重新寫入
   }
   if(bj==0)
    write_sfm(7,mminute);//分鐘若變化則重新寫入
  }
  if(bj==0)
   write_sfm(10,ssecond);//秒若變化則重新寫入            
}            
}

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表