亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calendar.h

?? 1302yu18b20he16128d xianshi,對大家有一定的參考作用
?? H
字號:
#ifndef _SUN_MOON
#define _SUN_MOON
/*************************************************************************/
#define uchar unsigned char
#define uint unsigned int

/********************************************************************************
* 名稱: get_moon_day(uchar month_p,uint table_addr)
* 功能: 讀取數據表中農歷的大月或小月 ,如果大月返回1, 小月返回0
* 入口參數:
* 出口參數:
*********************************************************************************/
bit get_moon_day( uchar month_p,uint calendar_address )
{
    uchar temp;
    switch(month_p)
	{
        case 1: { temp = year_code[calendar_address] & 0x08; if(temp==0) return(0); else return(1); }
        case 2: { temp = year_code[calendar_address] & 0x04; if(temp==0) return(0); else return(1); }
        case 3: { temp = year_code[calendar_address] & 0x02; if(temp==0) return(0); else return(1); }
        case 4: { temp = year_code[calendar_address] & 0x01; if(temp==0) return(0); else return(1); }
        case 5: { temp = year_code[calendar_address + 1] & 0x80; if(temp==0) return(0); else return(1); }
        case 6: { temp = year_code[calendar_address + 1] & 0x40; if(temp==0) return(0); else return(1); }
        case 7: { temp = year_code[calendar_address + 1] & 0x20; if(temp==0) return(0); else return(1); }
        case 8: { temp = year_code[calendar_address + 1] & 0x10; if(temp==0) return(0); else return(1); }
        case 9: { temp = year_code[calendar_address + 1] & 0x08; if(temp==0) return(0); else return(1); }
        case 10: { temp = year_code[calendar_address + 1] & 0x04; if(temp==0) return(0); else return(1); }
        case 11: { temp = year_code[calendar_address + 1] & 0x02; if(temp==0) return(0); else return(1); }
        case 12: { temp = year_code[calendar_address + 1] & 0x01; if(temp==0) return(0); else return(1); }
        case 13: { temp = year_code[calendar_address + 2] & 0x80; if(temp==0) return(0); else return(1); } 
    }
}
/**************************************************************************
* 名稱: void Calendar_Convert( uchar * clock_time )
* 功能: 輸入BCD的陽歷數據, 輸出BCD陰歷數據( 1901 - 2099 )
* 入口參數: c_flag:陽歷的世紀標志  clock_time: 時鐘地址
* 出口參數: 無
* 說明: c_flag = 0 :21世紀 c_flag = 1 :19世紀 
*****************************************************************************/
void Calendar_Convert( uchar c_flag, uchar * clock_time )
{
   bit flag_month, flag_year;
   uchar year, month, day, month_point; //定義 年 月 天
   uchar temp1, temp2, temp3;
   uint calendar_address; //定義農歷地址
   uint day_number;
   uchar clock_moon[3]; //定義陰歷


   clock_time += 3; //指向日
   day = ( * clock_time >> 4 ) * 10 + ( *clock_time & 0x0f ); //BCD轉換十進制
   clock_time ++; //指向月
   month = ( * clock_time >> 4 ) * 10 + ( * clock_time & 0x0f ); //BCD轉換十進制
   clock_time ++; //指向年
   year = ( * clock_time >> 4 ) * 10 + ( * clock_time & 0x0f ); //BCD轉換十進制 
  
   //定位日歷地址
   if( c_flag == 0 )
      calendar_address = ( year + 99 ) * 3;  
   else
      calendar_address = ( year - 1 ) * 3;

   //春節(正月初一)所在的陽歷月份
   temp1 = year_code[ calendar_address + 2 ] & 0x60; //Bit6~~Bit5:春節所在的陽歷月份
   temp1 >>= 5 ;
   //春節(正月初一)所在的陽歷日期
   temp2 = year_code[ calendar_address + 2 ] & 0x1f; //Bit4~~Bit0:春節所在的陽歷日期
  
   //計算春節(正月初一)離當年元旦{ 1月1日(陽歷) }的天數;春節只會在陽歷的1月 或 2月
   if( temp1 == 1 )
      temp3 = temp2 - 1;
   else
      temp3 = temp2 + 31 - 1;
   
   //計算陽歷月離當年元旦{ 1月1日(陽歷) }的天數
   if( month < 10 )
      day_number = day_code1[ month - 1 ] + day - 1; 
   else
      day_number = day_code2[ month - 10 ] + day - 1;

   //如果陽歷的月大于2 且該年的2月為閏月,天數加1 
   //閏年指的就是陽歷有閏日或陰歷有閏月的一年;
   //陽歷四年一閏,在二月加一天,這一天叫做閏日:
   //農歷三年一閏,五年兩閏,十九年七閏,每逢閏年所加的一個月叫做閏月。
   if( ( month > 2 ) && ( year % 4 == 0) )
      day_number ++;

   //判斷陽歷日 在春節(正月初一) 之前 還是 之后
   if( day_number >= temp3 ) //陽歷在春節之后 或者 春節當日
   {
      day_number -= temp3;
      month = 1;
      month_point = 1; // month_point 為月份指向,陽歷日在春季前就是春季
	  flag_month = get_moon_day( month_point, calendar_address ); //檢查該陰歷月的大小  大月返回1  小月返回0
	  flag_year = 0;
	  if( flag_month )
	     temp1 = 30; //大月30天
	  else
 	     temp1 = 29; //小月29天
      //閏月所在的月分
	  temp2 = year_code[ calendar_address ] & 0xf0;
	  temp2 >>= 4; //提取高四位  假如是0 表示沒有閏月

	  while( day_number >= temp1 )
	  {
	     day_number -= temp1;
         month_point ++;
         if( month == temp2 )
         {
            flag_year = ~ flag_year; 
            if( flag_year == 0 ) 
               month +=1;
         }
         else
            month ++ ;
         flag_month = get_moon_day( month_point, calendar_address );
         if( flag_month )
            temp1 = 30;
         else
            temp1 = 29;
       }
       day = day_number + 1;
   }
   else //陽歷在春節之前使用以下代碼進行運算
   {
      temp3 -= day_number;
      if( year == 0 )
         { year = 99; c_flag = 1; }
      else
         year -= 1;
      calendar_address -= 0x03;
      month = 12;
      temp2 = year_code[ calendar_address ] & 0xf0;
      temp2 >>= 4; //提取高4位
      if( temp2 == 0 )
         month_point = 12;
      else
         month_point = 13;
      flag_year = 0;
      flag_month = get_moon_day( month_point, calendar_address );
      if( flag_month )
         temp1 = 30;
      else
         temp1 = 29;
      while( temp3 > temp1 )
      {
         temp3 -= temp1;
         month_point --;
         if( flag_year == 0 )
         month -=1;
         if( month == temp2 )
         flag_year = ~ flag_year;
         flag_month = get_moon_day( month_point, calendar_address );
         if( flag_month )
            temp1 = 30;
         else
            temp1 = 29;
         
      }
      day = temp1 - day_number + 1;
   }
   //HEX->BCD ,運算結束后,把數據轉換為BCD數據
   temp1 = year / 10;
   temp1 <<= 4;
   clock_moon[2] = temp1 | ( year % 10 );
 
   temp1 = month / 10;
   temp1 <<= 4;
   clock_moon[1] = temp1 | ( month % 10 );
 
   temp1 = day / 10;
   temp1 <<= 4;
   clock_moon[0] = temp1 | ( day % 10 );
   Lcd_Lunar_Calendar( clock_moon );
}

/********************************************************************************
* 名稱: void Week_convert( uchar * clock_time )
* 功能: 輸入BCD陽歷數據;輸出BCD星期
* 入口參數: 
* 出口參數:
* 說明: 算法: ( 日期 + 年份 + 所過閏年 + 月校正 ) / 7 的余數就是星期 如果是閏年又不到 3 月份上述之和 要減一天 再
********************************************************************************/
void Week_Convert( bit c, uchar * clock_time )
{
   uchar year, month, day; //定義 年 月 天
   uchar temp;

   clock_time += 3; //指向日
   day = ( * clock_time >> 4 ) * 10 + ( *clock_time & 0x0f ); //BCD轉換十進制
   clock_time ++; //指向月
   month = ( * clock_time >> 4 ) * 10 + ( * clock_time & 0x0f );
   clock_time ++; //指向年
   year = ( * clock_time >> 4 ) * 10 + ( * clock_time & 0x0f ); 

   if( c == 0 ) //如果為21世紀,年份數加100
      year += 100;
   temp = year / 4; //所過閏年數只算1900年之后的
   temp = year + temp;
   temp = temp % 0x07; //為節省資源,先進行一次取余,避免數大于0xff,避免使用整型數據
   temp = temp + day + table_week[ month - 1 ];
   if( ( year % 4  == 0 ) && ( month <3  ) )
      temp -=1;
   Lcd_Week( temp % 7 );
}
/********************************************************************************/
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频一区二区不卡| 91精品国产91热久久久做人人| 免费观看日韩av| 精品国产凹凸成av人网站| 丰满少妇在线播放bd日韩电影| 亚洲欧洲av另类| 91麻豆精品91久久久久久清纯| 欧美日韩三级在线| 欧美在线不卡视频| 欧美日韩成人激情| 欧美精品乱码久久久久久| 91视频在线观看| 久久精品国产一区二区三| 亚洲国产一区二区视频| 国产色产综合色产在线视频| 欧美二区乱c少妇| 色综合 综合色| 成人app下载| 国产盗摄一区二区| 久久国产精品区| 全国精品久久少妇| 亚洲综合激情另类小说区| 国产精品嫩草99a| 亚洲宅男天堂在线观看无病毒| 精品第一国产综合精品aⅴ| 欧美福利视频导航| 99re在线精品| 欧美久久久一区| 欧美精品一区二区三区蜜臀| 欧美一级免费大片| 91精品国产高清一区二区三区| 欧美伊人久久大香线蕉综合69| 91欧美一区二区| 夜夜爽夜夜爽精品视频| 亚洲一二三四在线观看| 麻豆国产精品视频| 色哦色哦哦色天天综合| 久久婷婷国产综合国色天香| 亚洲在线观看免费视频| 久久精品国产77777蜜臀| 99r精品视频| 精品久久国产字幕高潮| 欧美一区二区免费视频| 亚洲视频免费观看| 国产一区二区三区蝌蚪| 欧美精品久久99久久在免费线| 国产精品免费观看视频| 日韩1区2区日韩1区2区| 成人av资源站| 精品国产一区二区在线观看| 亚洲精品日日夜夜| 青青草91视频| 91猫先生在线| 日本一二三四高清不卡| 日本午夜一区二区| 91免费精品国自产拍在线不卡| 欧美精品一区二区精品网| 午夜在线电影亚洲一区| 99国产精品久| 久久精品亚洲精品国产欧美| 麻豆国产精品777777在线| 99国产精品99久久久久久| 成人av网在线| 国产精品色哟哟| 国产成人精品一区二区三区网站观看| 日韩一二三四区| 免费成人美女在线观看| 一区二区三区加勒比av| 97se亚洲国产综合在线| 一区免费观看视频| 成人av电影免费在线播放| 久久精品一二三| 国产精品系列在线播放| 久久伊99综合婷婷久久伊| 老司机精品视频导航| 538在线一区二区精品国产| 日韩一区欧美二区| 欧美一区午夜视频在线观看| 免费观看成人av| 日韩欧美国产一二三区| 精品一区二区三区视频| 欧美成人高清电影在线| 国内成人免费视频| 久久综合狠狠综合久久激情 | 97精品久久久久中文字幕| 国产欧美日韩精品一区| 成人aa视频在线观看| 国产精一品亚洲二区在线视频| 精品国产伦一区二区三区观看方式| 免费av成人在线| 日韩一级完整毛片| 美日韩一区二区| 精品精品国产高清一毛片一天堂| 国产原创一区二区| 国产精品日韩成人| 91极品视觉盛宴| 麻豆91在线看| 2欧美一区二区三区在线观看视频| 国产精品主播直播| 一区二区三区在线视频观看 | 欧美浪妇xxxx高跟鞋交| 日韩精品久久理论片| 欧美成人一级视频| 成人ar影院免费观看视频| 一区二区三区在线免费播放| 欧美日韩一区二区三区在线看| 国产成人在线电影| 国产揄拍国内精品对白| 色综合久久综合网97色综合 | 成人免费高清视频| 国产精品电影一区二区三区| 亚洲成人精品影院| 欧美性三三影院| 久久精品久久久精品美女| 欧美日韩五月天| 色综合久久66| 亚洲综合一区在线| 精品国产精品一区二区夜夜嗨| 国产自产高清不卡| 成人sese在线| 九九**精品视频免费播放| 国内精品国产三级国产a久久| 91黄色激情网站| 91精品免费观看| 久久视频一区二区| 亚洲国产中文字幕在线视频综合| 一区二区三区中文在线| 日韩亚洲欧美中文三级| 久久综合九色综合欧美亚洲| 亚洲欧洲三级电影| 国产自产高清不卡| 国产欧美一区二区精品忘忧草| 国产精品久久久久三级| 欧美日韩专区在线| 99视频精品全部免费在线| 亚洲一区二区在线观看视频| 亚洲欧美一区二区三区国产精品| 日韩一区二区三区高清免费看看| 国产精品成人午夜| 99视频精品免费视频| 春色校园综合激情亚洲| 亚洲精品你懂的| 亚洲欧美偷拍三级| 欧美体内she精高潮| 精品乱码亚洲一区二区不卡| 国产精品美女久久久久久 | 日本一区二区免费在线| 亚洲黄色小说网站| 自拍偷自拍亚洲精品播放| 亚洲视频狠狠干| 色吊一区二区三区| 欧美岛国在线观看| 色婷婷激情一区二区三区| 国产美女娇喘av呻吟久久| 91蜜桃在线免费视频| 亚洲国产精品成人综合| 麻豆精品视频在线观看| 久久精品国产一区二区| 蜜桃免费网站一区二区三区| 亚洲图片自拍偷拍| 成人午夜av影视| 日本亚洲视频在线| 久久综合色8888| 中文字幕第一页久久| 日韩欧美自拍偷拍| 欧美一级视频精品观看| 国模冰冰炮一区二区| 国产精品三级电影| 日韩美女视频在线| 久久―日本道色综合久久| 青青草97国产精品免费观看无弹窗版| 欧美做爰猛烈大尺度电影无法无天| 欧美视频一区在线| 日韩av中文字幕一区二区| 日韩一级完整毛片| 欧美va在线播放| 日韩经典一区二区| 久久精品欧美日韩| 香蕉久久一区二区不卡无毒影院| 日韩一级精品视频在线观看| 精品视频在线视频| 天堂一区二区在线免费观看| 91精品婷婷国产综合久久竹菊| 中文乱码免费一区二区| 精品日韩在线观看| 久久精品免费在线观看| 99久久精品国产网站| 欧美久久一二区| 亚洲精品在线观| 97成人超碰视| 欧美日韩国产综合一区二区三区| 一本高清dvd不卡在线观看 | 国产剧情在线观看一区二区| 欧美岛国在线观看| 国产蜜臀av在线一区二区三区| 日本欧美久久久久免费播放网| 欧美三级电影一区| 精品免费国产二区三区| 亚洲国产三级在线| 亚洲高清免费在线|