⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nokia 5110

📁 Nokia+5110多功能时钟(带温度等级)
💻
字号:
#ifndef	 __NONGLI_H__
#define	 __NONGLI_H__
#include "rset_time.h"
#include <string.h>
#include <intrins.h>
//Lunar calendar convert program

//Designed by QQ984809120, 2009-10-6

unsigned int yy2,mm2,dd2;

/*
convert table(2000~2100) structure:
D15~D12=1110  leap month(30 days)
D15~D12=1101  leap month(29 days)
D15~D12=0000  Current and next year no leap month
D15~D12=0001~1100 leap month number of next year
D11~D0 = days of 12 months, 1: 30 days; 0: 29 days
*/

code unsigned char table[101] = {0x4693,
0xDA9B, 0x052B, 0x2A5B, 0xDAAE, 0x756A, 0xDDD5, 0x0BA4, 0x5B49, 0xDD53, 0x0A95,
0x452D, 0xD55D, 0x9AB5, 0xDBAA, 0x05D2, 0x6DA5, 0xEE8A, 0x0D4A, 0x4C95, 0xDA9E,
0x0556, 0x2AB5, 0xDADA, 0x66D2, 0xD765, 0x0725, 0x564B, 0xD657, 0x0CAB, 0x355A,
0xD56E, 0xBB69, 0xDF52, 0x0B52, 0x5B25, 0xDD2B, 0x0A4B, 0x54AB, 0xD2BB, 0x05AD,
0x2B6A, 0xDDAA, 0x7D92, 0xDEA5, 0x0D25, 0x5A55, 0xEA4D, 0x04B6, 0x35B5, 0xE6D2,
0x8EC9, 0xDF92, 0x0E92, 0x6D26, 0xE516, 0x0A57, 0x44D6, 0xE365, 0x0755, 0x3749,
0xD74B, 0x7693, 0xDAAB, 0x052B, 0x5A5B, 0xDABA, 0x056A, 0x4B65, 0xDBAA, 0x8B4A,
0xDD95, 0x0A95, 0x652D, 0xD56D, 0x0AB5, 0x55AA, 0xE5C5, 0x0DA5, 0x3D4A, 0xDE4D,
0x7C96, 0xDCCE, 0x0556, 0x5AB5, 0xEAD2, 0x06D2, 0x5EA5, 0xD72A, 0x868B, 0xD697,
0x04AB, 0x655B, 0xE556, 0x0B6A, 0x4752, 0xDB95, 0x0B25, 0x2A8B, 0xDA4F, 0x04AB};



/*Convert routine 

2000<yy<=2100, 1<=mm<=12, 1<=dd<=31

*/

date_cvt (yy,mm,dd) 
unsigned int yy;

unsigned char mm,dd;
{ unsigned char i,j,leap;
  unsigned int days1,days2,x;

   days1 = (yy-2000) * 365 + ((yy-1997)>>2) + (mm-1)*30 + dd;
   if ((mm >2) && (((yy-2000) & 3) == 0) && (yy != 2100))
       days1 ++;
   switch(mm)
    {
     case 3:  days1--;
       break;
     case 11:
     case 12: days1 ++;
     case 9:
     case 10: days1 ++;
     case 8:  days1 ++;
     case 2:
     case 6:
     case 7:  days1 ++;
       break;
    }   //------days from 1999-12-31

   days1 -=35;
   days2=0;
   leap=0xFF;
   for (i=0; i<=2100; i++)
    {x=table[i];
     for (j=0; j<12; j++)
       {
         days2 += 29 + (x & 1);
         if (days2 >= days1)
           break;
  
         if (j==leap)
  {
    days2 = days2 + 16 + (table[i] >> 12);
           if (days2 >= days1)
    {  j |= 0x80;
              break;
    }
  }  
  x >>= 1;
       }

     if (days2 >= days1)
       break;
     
     leap = x-1;
    }

   x = 29 + (x & 1) -(days2-days1);
   
   yy2=i;  //output result
   mm2=j+1;
   dd2=x;
}
void shownl()
{
// unsigned char   yy1,yy2;

 	date_cvt(nian,yue,ri);


	LCD_write_hanzi(2,0,nongli,mm2/16);
	LCD_write_hanzi(4,0,nongli,mm2%16);
	LCD_write_hanzi(6,0,nongli,dd2/16);
	LCD_write_hanzi(8,0,nongli,dd2%16);
	LCD_write_hanzi(10,0,nongli,yy2/16);
	LCD_write_hanzi(12,0,nongli,yy2%16);





}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -