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

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

?? 帶農歷帶生肖.c

?? 基于MCS-51單片機的12864萬年歷(st7920)帶農歷生肖
?? C
?? 第 1 頁 / 共 3 頁
字號:
                    0x45,0x2e,0xB7,    //2069
                    0x05,0x2d,0x4B,    //2070
                    0x8A,0x95,0xBf,    //2071
                    0x0A,0x95,0x53,    //2072
                    0x0B,0x4A,0x47,    //2073
                    0x6B,0x55,0x3B,    //2074
                    0x0A,0xd5,0x4f,    //2075
                    0x05,0x5A,0x45,    //2076
                    0x4A,0x5d,0x38,    //2077
                    0x0A,0x5B,0x4C,    //2078
                    0x05,0x2B,0x42,    //2079
                    0x3A,0x93,0xB6,    //2080
                    0x06,0x93,0x49,    //2081
                    0x77,0x29,0xBd,    //2082
                    0x06,0xAA,0x51,    //2083
                    0x0A,0xd5,0x46,    //2084
                    0x54,0xdA,0xBA,    //2085
                    0x04,0xB6,0x4e,    //2086
                    0x0A,0x57,0x43,    //2087
                    0x45,0x27,0x38,    //2088
                    0x0d,0x26,0x4A,    //2089
                    0x8e,0x93,0x3e,    //2090
                    0x0d,0x52,0x52,    //2091
                    0x0d,0xAA,0x47,    //2092
                    0x66,0xB5,0x3B,    //2093
                    0x05,0x6d,0x4f,    //2094
                    0x04,0xAe,0x45,    //2095
                    0x4A,0x4e,0xB9,    //2096
                    0x0A,0x4d,0x4C,    //2097
                    0x0d,0x15,0x41,    //2098
                    0x2d,0x92,0xB5,    //2099
};
///月份數據表
code uchar day_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3};
code uint day_code2[3]={0x111,0x130,0x14e};
/*
函數功能:輸入BCD陽歷數據,輸出BCD陰歷數據(只允許1901-2099年)
調用函數示例:Conversion(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均為BCD數據,c_sun為世紀標志位,c_sun=0為21世
紀,c_sun=1為19世紀
調用函數后,原有數據不變,讀c_moon,year_moon,month_moon,day_moon得出陰歷BCD數據
*/
bit c_moon;
data uchar year_moon,month_moon,day_moon,week;
/*子函數,用于讀取數據表中農歷月的大月或小月,如果該月為大返回1,為小返回0*/
bit get_moon_day(uchar month_p,uint table_addr)
{
uchar temp;
    switch (month_p){
        case 1:{temp=year_code[table_addr]&0x08;
             if (temp==0)return(0);else return(1);}
        case 2:{temp=year_code[table_addr]&0x04;
             if (temp==0)return(0);else return(1);}
        case 3:{temp=year_code[table_addr]&0x02;
             if (temp==0)return(0);else return(1);}
        case 4:{temp=year_code[table_addr]&0x01;
             if (temp==0)return(0);else return(1);}
        case 5:{temp=year_code[table_addr+1]&0x80;
             if (temp==0) return(0);else return(1);}
        case 6:{temp=year_code[table_addr+1]&0x40;
             if (temp==0)return(0);else return(1);}
        case 7:{temp=year_code[table_addr+1]&0x20;
             if (temp==0)return(0);else return(1);}
        case 8:{temp=year_code[table_addr+1]&0x10;
             if (temp==0)return(0);else return(1);}
        case 9:{temp=year_code[table_addr+1]&0x08;
             if (temp==0)return(0);else return(1);}
        case 10:{temp=year_code[table_addr+1]&0x04;
             if (temp==0)return(0);else return(1);}
        case 11:{temp=year_code[table_addr+1]&0x02;
             if (temp==0)return(0);else return(1);}
        case 12:{temp=year_code[table_addr+1]&0x01;
             if (temp==0)return(0);else return(1);}
        case 13:{temp=year_code[table_addr+2]&0x80;
             if (temp==0)return(0);else return(1);}
    }
}
/*
函數功能:輸入BCD陽歷數據,輸出BCD陰歷數據(只允許1901-2099年)
調用函數示例:Conversion(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均為BCD數據,c_sun為世紀標志位,c_sun=0為21世
紀,c_sun=1為19世紀
調用函數后,原有數據不變,讀c_moon,year_moon,month_moon,day_moon得出陰歷BCD數據
*/
void Conversion(bit c,uchar year,uchar month,uchar day)
{                         //c=0 為21世紀,c=1 為19世紀 輸入輸出數據均為BCD數據
    uchar temp1,temp2,temp3,month_p;
    uint temp4,table_addr;
    bit flag2,flag_y;
    temp1=year/16;   //BCD->hex 先把數據轉換為十六進制
    temp2=year%16;
    year=temp1*10+temp2;
    temp1=month/16;
    temp2=month%16;
    month=temp1*10+temp2;
    temp1=day/16;
    temp2=day%16;
    day=temp1*10+temp2;
    //定位數據表地址
    if(c==0){                   
        table_addr=(year+0x64-1)*0x3;
    }
    else {
        table_addr=(year-1)*0x3;
    }
    //定位數據表地址完成
    //取當年春節所在的公歷月份
    temp1=year_code[table_addr+2]&0x60; 
    temp1=_cror_(temp1,5);
    //取當年春節所在的公歷月份完成
    //取當年春節所在的公歷日
    temp2=year_code[table_addr+2]&0x1f; 
    //取當年春節所在的公歷日完成
    // 計算當年春年離當年元旦的天數,春節只會在公歷1月或2月
    if(temp1==0x1){  
        temp3=temp2-1;  
    }  
    else{
        temp3=temp2+0x1f-1;        
    }
    // 計算當年春年離當年元旦的天數完成
    //計算公歷日離當年元旦的天數,為了減少運算,用了兩個表
    //day_code1[9],day_code2[3]
    //如果公歷月在九月或前,天數會少于0xff,用表day_code1[9],
    //在九月后,天數大于0xff,用表day_code2[3]
    //如輸入公歷日為8月10日,則公歷日離元旦天數為day_code1[8-1]+10-1
    //如輸入公歷日為11月10日,則公歷日離元旦天數為day_code2[11-10]+10-1
    if (month<10){ 
        temp4=day_code1[month-1]+day-1;
    }
    else{
        temp4=day_code2[month-10]+day-1;
    }
    if ((month>0x2)&&(year%0x4==0)){  //如果公歷月大于2月并且該年的2月為閏月,天數加1
        temp4+=1;
    }
    //計算公歷日離當年元旦的天數完成
    //判斷公歷日在春節前還是春節后
    if (temp4>=temp3){ //公歷日在春節后或就是春節當日使用下面代碼進行運算
        temp4-=temp3;
        month=0x1;
        month_p=0x1;  //month_p為月份指向,公歷日在春節前或就是春節當日month_p指向首月
        flag2=get_moon_day(month_p,table_addr); //檢查該農歷月為大小還是小月,大月返回1,小月返回0
        flag_y=0;
        if(flag2==0)temp1=0x1d; //小月29天
        else temp1=0x1e; //大小30天
        temp2=year_code[table_addr]&0xf0;
        temp2=_cror_(temp2,4);  //從數據表中取該年的閏月月份,如為0則該年無閏月
        while(temp4>=temp1){
            temp4-=temp1;
            month_p+=1;
            if(month==temp2){
            flag_y=~flag_y;
            if(flag_y==0)month+=1;
            }
            else month+=1;
            flag2=get_moon_day(month_p,table_addr);
            if(flag2==0)temp1=0x1d;
            else temp1=0x1e;
        }
        day=temp4+1;
    }
    else{  //公歷日在春節前使用下面代碼進行運算
        temp3-=temp4;
        if (year==0x0){year=0x63;c=1;}
        else year-=1;
        table_addr-=0x3;
        month=0xc;
        temp2=year_code[table_addr]&0xf0;
        temp2=_cror_(temp2,4);
        if (temp2==0)month_p=0xc; 
        else month_p=0xd; //
        /*
        month_p為月份指向,如果當年有閏月,一年有十三個月,月指向13,
無閏月指向12
        */
        flag_y=0;
        flag2=get_moon_day(month_p,table_addr);
        if(flag2==0)temp1=0x1d;
        else temp1=0x1e;
        while(temp3>temp1){
            temp3-=temp1;
            month_p-=1;
            if(flag_y==0)month-=1;
            if(month==temp2)flag_y=~flag_y;
            flag2=get_moon_day(month_p,table_addr);
            if(flag2==0)temp1=0x1d;
            else temp1=0x1e;
         }
        day=temp1-temp3+1;
    }
    c_moon=c;                 //HEX->BCD ,運算結束后,把數據轉換為BCD數據
    temp1=year/10;
    temp1=_crol_(temp1,4);
    temp2=year%10;
    year_moon=temp1|temp2;
    temp1=month/10;
    temp1=_crol_(temp1,4);
    temp2=month%10;
    month_moon=temp1|temp2;
    temp1=day/10;
    temp1=_crol_(temp1,4);
    temp2=day%10;
    day_moon=temp1|temp2;
}


void nl()
{
 unsigned char   yy1,yy2;

 Conversion(0,yy,mo,dd);
 LCM_WriteDatOrCom(0,0x90);
 LCM_WriteString("20");
 LCM_WriteDatOrCom(1,year_moon/16+'0');
 LCM_WriteDatOrCom(1,year_moon%16+'0');
 LCM_WriteDatOrCom(1,'/');
 LCM_WriteDatOrCom(1,month_moon/16+'0');
 LCM_WriteDatOrCom(1,month_moon%16+'0');
 LCM_WriteDatOrCom(1,'/');
 LCM_WriteDatOrCom(1,day_moon/16+'0');
 LCM_WriteDatOrCom(1,day_moon%16+'0');
 yy1=(year_moon/16)*10+year_moon%16;
 yy2=yy1%12;
 switch(yy2)
 {
  case 0: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("龍");
          break;
  case 1: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("蛇");
          break;
  case 2: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("馬");
          break;
  case 3: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("羊");
          break;
  case 4: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("猴");
          break;
  case 5: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("雞");
          break;
  case 6: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("狗");
          break;
  case 7: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("豬");
          break;
  case 8: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("鼠");
          break;
  case 9: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("牛");
          break;
  case 10: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("虎");
          break;
  case 11: LCM_WriteDatOrCom(0,0x87);LCM_WriteString("兔");
          break;
 }

 
 
 
}
/********************************************************************************/
void Keydone()
{

	if (w == 0){   //正常走時
		LCM_w_ss();//刷新 秒
		}
		else {		//啟動調時


		}

		//------------------------------------------------------------------
		if (KEY_3 == 0) // 設置時間
      	{
       		DelayM(20);	   //去抖

			if(KEY_3 == 0 && w == 1)  //當是調時狀態 本鍵用于調整下一項
			{
				e++;
				if (e >= 6 ){e = 0;}
				Set_time(e);//調整				
			}
			
			if(KEY_3 == 0 && w == 0)  //當是正常狀態時就進入調時狀態
			{
				LCM_clr();//清屏
				//yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各數據刷新
				w=1;	  //進入調時				
			/*	LCM_WriteDatOrCom(0,0x9e);
				LCM_WriteString(" [-]");
				LCM_WriteDatOrCom(0,0x80);
				LCM_WriteString("[Esc]");
				LCM_WriteDatOrCom(0,0x85);
				LCM_WriteString("[Next]");
				LCM_WriteDatOrCom(0,0x98);
				LCM_WriteString("[+]");*/
				Set_time(e);//調整
			}
       		while(KEY_3 == 0);//等待鍵松開 

      	}

		//------------------------------------------------------------------
		if (KEY_1 == 0) // 當在調時狀態時就退出調時
      	{
       		DelayM(20);
       		if(KEY_1 == 0 && w == 1){				
				w = 0;	  //退出調時
				e = 0;		//"下一項"計數器清0								
			}

			if(KEY_1 == 0 && w == 0){				
				LCM_clr();//清屏
             	chn_disp(tab1);//顯示歡迎字
				//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺				
				while(KEY_1 == 0);//等待鍵松開  
			}
				LCM_clr();//清屏
				//LCM_WriteString("[Dis]      [Set]");
				//yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各數據刷新				
				days();	   //節日顯示
				updata ();	//刷新數據
				LCM_w_mm();//刷新 分
                  nl();
				

       		while(KEY_1 == 0);//等待鍵松開  
      	}

		//------------------------------------------------------------------
		if (KEY_2 == 0 && w == 1){ // 加減調整{
       		DelayM(20);
       		if(KEY_2 == 0 && w == 1){				
				Set_time(e);//調整
			}
       		while(KEY_2 == 0);//等待鍵松開
 
      	}

		//------------------------------------------------------------------
		if (KEY_4 == 0 && w == 1){ // 加減調整      	
       		DelayM(20);
       		if(KEY_4 == 0 && w == 1){				
				Set_time(e);//調整
			}
       		while(KEY_4 == 0);//等待鍵松開

      	}

	   //------------------------------------------------------------------
}

/*****************************************************************************/
//---主程序---//

main() {
	
	 e=0;
	KEY_1 = 1;KEY_2 = 1;KEY_3 = 1;KEY_4 = 1;//初始鍵盤
	yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各數據刷新
		beep = 0;
		DelayM(900);
		beep = 1;
	LCM_init();//初始化液晶顯示器
	LCM_clr();//清屏
	chn_disp(tab1);//顯示歡迎字
	DelayM(3000); //顯示等留3秒
  	LCM_clr();//清屏  
	Init_1302();

    while(1)
      {
    	Keydone();
			
       }
}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va| 色婷婷av久久久久久久| 一区二区三区国产精品| 偷拍日韩校园综合在线| 欧美亚洲尤物久久| 午夜av区久久| 亚洲精品美腿丝袜| 日韩vs国产vs欧美| 国产suv精品一区二区6| 色综合久久66| 精品国产电影一区二区| 日韩一区欧美一区| 青青青伊人色综合久久| 粉嫩av亚洲一区二区图片| 一本一本大道香蕉久在线精品| 91精品国产美女浴室洗澡无遮挡| 国产欧美精品一区| 三级影片在线观看欧美日韩一区二区| 国产激情精品久久久第一区二区| 欧美在线观看视频一区二区| 蜜桃久久av一区| 国产91精品在线观看| 欧美另类z0zxhd电影| 国产日产亚洲精品系列| 亚洲成精国产精品女| 成人一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 26uuuu精品一区二区| 亚洲精选视频在线| 韩国av一区二区三区| 欧美无人高清视频在线观看| 国产亚洲精品7777| 日韩激情视频在线观看| 99久久综合99久久综合网站| 日韩一区二区三区视频| 亚洲精品成a人| 国产乱码精品一品二品| 欧美丰满美乳xxx高潮www| 最近中文字幕一区二区三区| 狠狠色丁香久久婷婷综| 8x8x8国产精品| 一区二区三区在线观看网站| 国产一区免费电影| 91精品国产91久久综合桃花| 亚洲狠狠丁香婷婷综合久久久| 国产在线播精品第三| 欧美卡1卡2卡| 99精品欧美一区二区三区综合在线| 日韩视频中午一区| 亚洲va韩国va欧美va| 色中色一区二区| 国产精品久久久久久久久免费樱桃 | 毛片av一区二区| 欧美视频你懂的| 亚洲欧美综合色| 国产99久久久国产精品潘金| 日韩欧美一级精品久久| 视频一区二区三区入口| 欧美色精品天天在线观看视频| 欧美电影免费观看完整版| 国产原创一区二区三区| 精品久久久久久久久久久久久久久| 亚洲成人手机在线| 日韩欧美中文字幕精品| 国产精品18久久久久| 久久中文字幕电影| 国产成人精品免费网站| 国产精品久久久久久久久免费樱桃 | 亚洲成人7777| 欧美丰满高潮xxxx喷水动漫| 激情五月播播久久久精品| 日韩欧美在线不卡| 国产成人综合亚洲网站| 91精品国产色综合久久久蜜香臀| 日本成人中文字幕在线视频 | 亚洲成人tv网| 在线观看av一区二区| 五月天激情小说综合| 中文字幕欧美日韩一区| 国产精品国产三级国产专播品爱网 | 久久精品欧美一区二区三区不卡| 日本免费新一区视频| 欧美电影一区二区| 亚洲成av人影院在线观看网| 在线免费视频一区二区| 亚洲一二三四久久| 欧美日韩免费观看一区二区三区| 午夜精品一区二区三区免费视频| 欧美年轻男男videosbes| 午夜精品成人在线视频| 91精品国产一区二区人妖| 久久99精品久久只有精品| xfplay精品久久| 国产成人av电影在线观看| 久久精品在线免费观看| a级精品国产片在线观看| 综合色中文字幕| 91久久久免费一区二区| 亚洲成人av在线电影| 日韩一级成人av| 国产一区二区三区综合| 亚洲国产精品黑人久久久| 91色porny蝌蚪| 日韩精品国产欧美| 欧美精品一区二区三区很污很色的 | 成人高清av在线| 亚洲人成网站在线| 欧美日韩色综合| 久久99久久久久久久久久久| 国产日韩欧美电影| 日本丶国产丶欧美色综合| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲国产精品传媒在线观看| 欧美在线观看视频一区二区 | 精品国产一二三区| 99re8在线精品视频免费播放| 亚洲国产日韩综合久久精品| 精品国产免费久久| 91免费观看在线| 免费的成人av| 中文字幕亚洲在| 欧美一区二区精品| 成人激情文学综合网| 亚洲成人免费影院| 国产精品污污网站在线观看| 一本久久a久久免费精品不卡| 麻豆精品视频在线观看视频| 国产日韩综合av| 6080亚洲精品一区二区| 成人免费视频一区| 日本人妖一区二区| 亚洲欧美日韩综合aⅴ视频| 日韩欧美色综合| 日本道免费精品一区二区三区| 精品系列免费在线观看| 一个色综合av| 国产亚洲一二三区| 欧美高清一级片在线| 成人av资源站| 九一久久久久久| 亚洲一区自拍偷拍| 国产欧美综合在线| 欧美一二三四区在线| 91麻豆精东视频| 国产91丝袜在线播放九色| 日本一道高清亚洲日美韩| 亚洲人成小说网站色在线| 久久久久综合网| 日韩一本二本av| 欧美性感一区二区三区| 不卡免费追剧大全电视剧网站| 久久91精品国产91久久小草| 亚洲va欧美va人人爽| 亚洲欧美成人一区二区三区| 久久久www免费人成精品| 日韩视频在线你懂得| 欧美午夜精品久久久| 成人av在线资源网站| 国产精品456| 久草这里只有精品视频| 日产国产欧美视频一区精品| 亚洲午夜成aⅴ人片| 亚洲乱码国产乱码精品精的特点 | 美腿丝袜亚洲三区| 亚洲电影一区二区| 亚洲免费在线视频一区 二区| 日本一区二区三区高清不卡| 欧美第一区第二区| 欧美一区二区三区思思人| 欧美日韩成人在线| 欧美亚洲国产bt| 欧洲国内综合视频| 在线观看三级视频欧美| av电影在线观看完整版一区二区| 国产精品18久久久久久久久| 精品系列免费在线观看| 久久草av在线| 麻豆成人91精品二区三区| 日本不卡免费在线视频| 亚洲一二三级电影| 综合中文字幕亚洲| 中文字幕五月欧美| 国产精品久久久久久久久果冻传媒 | 亚洲一区日韩精品中文字幕| 亚洲免费观看高清在线观看| 亚洲欧洲日产国产综合网| 亚洲欧洲精品天堂一级| 国产精品久久久久久户外露出 | 丁香六月久久综合狠狠色| 国产精品一卡二| 国产精品18久久久久久久久久久久 | 欧美日韩免费视频| 欧美二区三区91| 在线播放视频一区| 日韩一级片网站| 欧美成人精精品一区二区频| 精品电影一区二区| 国产欧美日韩综合精品一区二区| 国产精品毛片高清在线完整版| 成人免费在线观看入口|