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

📄 带农历带生肖.c

📁 suanjignwjklsh asdnofawsejkhoi qasnivas
💻 C
📖 第 1 页 / 共 3 页
字号:
/*****************************************************************************/
//调时用加1程序
void Set_time(unsigned char sel)  //根据选择调整的相应项目加1并写入DS12887
{ 
  signed char address,item;
  signed char max,mini;
  LCM_WriteDatOrCom(0,0x9a);
  LCM_WriteString("调整");
  //if(sel==6)  {LCM_WriteString("秒钟");address=0x80; max=0;mini=0;}     //秒7
  if(sel==5)  {LCM_WriteString("分钟");address=0x82; max=59;mini=0;}    //分钟6
  if(sel==4)  {LCM_WriteString("小时");address=0x84; max=23;mini=0;}    //小时5
  if(sel==3)  {LCM_WriteString("星期");address=0x8a; max=7;mini=1;}    //星期4  
  if(sel==2)  {LCM_WriteString("日期");address=0x86; max=31;mini=1;}    //日3
  if(sel==1)  {LCM_WriteString("月份");address=0x88; max=12;mini=1;}    //月2
  if(sel==0)  {LCM_WriteString("年份");address=0x8c; max=99; mini=0;}    //年1
  //读取DS12CR887某地址上的数值赋给item 	
	item=ds_read(address);
	if(KEY_3 == 0)//K3-加
	{
		item++;//数加 1  
	}
	if(KEY_4 == 0)//K4-减
	{
		item--;//数减 1 
	}
	if(item>max) 
		item=mini;//查看数值有效范围   
	if(item<mini) 
		item=max;
	
	//将调整好的item值写入DS12CR887           
	ds_write(address,item);//+
	lcm_w_year();   //年
	lcm_w_month();	//月 
	lcm_w_date();	//日
	lcm_w_day();	//星期
	lcm_w_hour();	//时
	lcm_w_min();	//分
}
/*****************************************************************************/
/*DS12CR887驱动程序----------------------------------------------------------*/
//往DS12CR887写数据函数
void ds_write(uchar add,uchar date)	 
{
	DS_CS=0;
	DS_DS=1;
	DS_RW=1;
	DS_AS=1;
	Ds_Bus=add;
 	DS_AS=0;
	DS_RW=0;
	Ds_Bus=date;
	DS_RW=1;
	DS_AS=1;
	DS_CS=1;
}

//读取DS12CR887的数据
uchar ds_read(uchar add)
{
	uchar z;
	DS_CS=0;
	DS_RW=1;
	DS_DS=1;
	DS_AS=1;
	Ds_Bus=add;
	DS_AS=0;
	DS_DS=0;
    Ds_Bus=0xff;
	z=Ds_Bus;
	DS_DS=1;
	DS_AS=1;
	DS_CS=1;
	return z;
}
//DS12CR887初始化
void ds_int()
{
	DS_AS=0;
	DS_DS=0;
	DS_RW=0;
	ds_write(0x0a,0x20);//DS12CR887寄存器A功能设置,开启时钟振荡器
}

/*****************************************************************************/
//向LCM中填写 年 数据
void LCM_w_yy(void){
	//if(Read1302(0x8d) != yy){
		yy = ds_read(9);
		LCM_WriteDatOrCom(0,0x80);
		LCM_WriteString("20");
		LCM_WriteDatOrCom(0,0x81);
		LCM_WriteDatOrCom(1,(yy/16)+0x30);	
		LCM_WriteDatOrCom(1,yy%16+0x30);
		LCM_WriteDatOrCom(0,0x82);
		LCM_WriteString("年");   
        nl();    
}	
/*****************************************************************************/
//向LCM中填写 月 数据
void LCM_w_mo(void){
	//if(Read1302(0x89) != mo){
		mo = ds_read(8);
		LCM_WriteDatOrCom(0,0x83);
		if(mo/16 != 0){LCM_WriteDatOrCom(1,(mo/16)+0x30);}	//十位消隐
		else{LCM_WriteDatOrCom(1,0x20);}//同上			
		LCM_WriteDatOrCom(1,mo%16+0x30);
		LCM_WriteDatOrCom(0,0x84);
		LCM_WriteString("月");
        nl();
}	
/*****************************************************************************/
//星期处理并送入LCM的指定区域
void LCM_w_xq(void){
	unsigned char sel;
	//if(Read1302(0x8b) != xq){
	xq = ds_read(6);
	sel = (ds_read(6))%16; //字节低4位的BCD码放入sel
	LCM_WriteDatOrCom(0,0x97);//写入指定区域(97H 第二行第8个字)
	if(sel==7)  {LCM_WriteString("日");}    //
  	if(sel==6)  {LCM_WriteString("六");}    //
  	if(sel==5)  {LCM_WriteString("五");}    //
  	if(sel==4)  {LCM_WriteString("四");}    //
  	if(sel==3)  {LCM_WriteDatOrCom(1,0xc8);LCM_WriteDatOrCom(1,0xfd);} //此指令等于LCM_WriteString("三"); 因为"三"的内码失效。
  	if(sel==2)  {LCM_WriteString("二");}    //
  	if(sel==1)  {LCM_WriteString("一");}    //星期一
	LCM_WriteDatOrCom(0,0x95);
	LCM_WriteString("星周");
}
/*****************************************************************************/
//向LCM中填写 日 数据
void LCM_w_dd(void){
//	if(Read1302(0x87) != dd){
		dd = ds_read(7);
		LCM_WriteDatOrCom(0,0x85);
			if(dd/16 != 0){LCM_WriteDatOrCom(1,(dd/16)+0x30);}	//十位消隐
			else{LCM_WriteDatOrCom(1,0x20);}//同上	
		LCM_WriteDatOrCom(1,dd%16+0x30);
		LCM_WriteDatOrCom(0,0x86);
		LCM_WriteString("日  ");
        nl();
}	
/*****************************************************************************/
//向LCM中填写 小时 数据
void LCM_w_hh(void){
	if(ds_read(0x85) != hh){
		hh = ds_read(4);
			if (hh > 0x07 && hh < 0x22 && w == 0){
				beep = 0; 
				DelayM(100);
				beep = 1; 
			}
		}
		LCM_WriteDatOrCom(0,0x88);
		LCM_WriteDatOrCom(1,(hh/16)+0x30);
		LCM_WriteDatOrCom(1,hh%16+0x30);
}	
/*****************************************************************************/
//向LCM中填写 分钟 数据
void LCM_w_mm(void){
	if(ds_read(2) != mm){		
		mm = ds_read(2);
		if( w == 0){				
			days();	   //节日显示
			updata ();	//刷新数据
		}				
	}
	LCM_WriteDatOrCom(0,0x89);	
	LCM_WriteDatOrCom(1,0x3a);	  //":"
	LCM_WriteDatOrCom(1,(mm/16)+0x30);
	LCM_WriteDatOrCom(1,mm%16+0x30);
	LCM_WriteDatOrCom(1,0x3a);	 //"."	
}
/*****************************************************************************/
//刷新数据
void updata (void){
		LCM_w_hh();//刷新 小时 
		LCM_w_dd();//刷新 日
		LCM_w_xq();//更新星期值	
		LCM_w_mo();//刷新 月
		LCM_w_yy();//刷新 年
		  nl();
}
/*****************************************************************************/
//向LCM中填写 秒 数据
void LCM_w_ss(void){
	unsigned int i=0;
	unsigned char a=0,b=0,c=0;
	if(ds_read(0) != ss){	//判断是否需要更新
		ss = ds_read(0);	//更新数据
		LCM_WriteDatOrCom(0,0x8b);		//秒值在LCM上的写入位置
		LCM_WriteDatOrCom(1,(ss/16)+0x30);	//写十位		
		LCM_WriteDatOrCom(1,ss%16+0x30);	//写个位
		LCM_w_mm();//刷新 分
        nl();		
	LCM_WriteDatOrCom(0,0x8d);		//温度在LCM上的写入位置		
	i=ReadTemperature();//读温度并送显
	a=i/100;
	LCM_WriteDatOrCom(1,a+0x30);	//显示温度十位
	b=i/10-a*10;
	LCM_WriteDatOrCom(1,b+0x30);	//个位
	LCM_WriteDatOrCom(1,0x2e);	 //"."
	c=i-a*100-b*10;
	LCM_WriteDatOrCom(1,c+0x30); //小位1位		
	LCM_WriteString("℃");	//度C
}	}
/********阳历转换阴历********************************************************************/
code uchar year_code[597]={
                    0x04,0xAe,0x53,    //1901 0
                    0x0A,0x57,0x48,    //1902 3
                    0x55,0x26,0xBd,    //1903 6
                    0x0d,0x26,0x50,    //1904 9
                    0x0d,0x95,0x44,    //1905 12
                    0x46,0xAA,0xB9,    //1906 15
                    0x05,0x6A,0x4d,    //1907 18
                    0x09,0xAd,0x42,    //1908 21
                    0x24,0xAe,0xB6,    //1909
                    0x04,0xAe,0x4A,    //1910
                    0x6A,0x4d,0xBe,    //1911
                    0x0A,0x4d,0x52,    //1912
                    0x0d,0x25,0x46,    //1913
                    0x5d,0x52,0xBA,    //1914
                    0x0B,0x54,0x4e,    //1915
                    0x0d,0x6A,0x43,    //1916
                    0x29,0x6d,0x37,    //1917
                    0x09,0x5B,0x4B,    //1918
                    0x74,0x9B,0xC1,    //1919
                    0x04,0x97,0x54,    //1920
                    0x0A,0x4B,0x48,    //1921
                    0x5B,0x25,0xBC,    //1922
                    0x06,0xA5,0x50,    //1923
                    0x06,0xd4,0x45,    //1924
                    0x4A,0xdA,0xB8,    //1925
                    0x02,0xB6,0x4d,    //1926
                    0x09,0x57,0x42,    //1927
                    0x24,0x97,0xB7,    //1928
                    0x04,0x97,0x4A,    //1929
                    0x66,0x4B,0x3e,    //1930
                    0x0d,0x4A,0x51,    //1931
                    0x0e,0xA5,0x46,    //1932
                    0x56,0xd4,0xBA,    //1933
                    0x05,0xAd,0x4e,    //1934
                    0x02,0xB6,0x44,    //1935
                    0x39,0x37,0x38,    //1936
                    0x09,0x2e,0x4B,    //1937
                    0x7C,0x96,0xBf,    //1938
                    0x0C,0x95,0x53,    //1939
                    0x0d,0x4A,0x48,    //1940
                    0x6d,0xA5,0x3B,    //1941
                    0x0B,0x55,0x4f,    //1942
                    0x05,0x6A,0x45,    //1943
                    0x4A,0xAd,0xB9,    //1944
                    0x02,0x5d,0x4d,    //1945
                    0x09,0x2d,0x42,    //1946
                    0x2C,0x95,0xB6,    //1947
                    0x0A,0x95,0x4A,    //1948
                    0x7B,0x4A,0xBd,    //1949
                    0x06,0xCA,0x51,    //1950
                    0x0B,0x55,0x46,    //1951
                    0x55,0x5A,0xBB,    //1952
                    0x04,0xdA,0x4e,    //1953
                    0x0A,0x5B,0x43,    //1954
                    0x35,0x2B,0xB8,    //1955
                    0x05,0x2B,0x4C,    //1956
                    0x8A,0x95,0x3f,    //1957
                    0x0e,0x95,0x52,    //1958
                    0x06,0xAA,0x48,    //1959
                    0x7A,0xd5,0x3C,    //1960
                    0x0A,0xB5,0x4f,    //1961
                    0x04,0xB6,0x45,    //1962
                    0x4A,0x57,0x39,    //1963
                    0x0A,0x57,0x4d,    //1964
                    0x05,0x26,0x42,    //1965
                    0x3e,0x93,0x35,    //1966
                    0x0d,0x95,0x49,    //1967
                    0x75,0xAA,0xBe,    //1968
                    0x05,0x6A,0x51,    //1969
                    0x09,0x6d,0x46,    //1970
                    0x54,0xAe,0xBB,    //1971
                    0x04,0xAd,0x4f,    //1972
                    0x0A,0x4d,0x43,    //1973
                    0x4d,0x26,0xB7,    //1974
                    0x0d,0x25,0x4B,    //1975
                    0x8d,0x52,0xBf,    //1976
                    0x0B,0x54,0x52,    //1977
                    0x0B,0x6A,0x47,    //1978
                    0x69,0x6d,0x3C,    //1979
                    0x09,0x5B,0x50,    //1980
                    0x04,0x9B,0x45,    //1981
                    0x4A,0x4B,0xB9,    //1982
                    0x0A,0x4B,0x4d,    //1983
                    0xAB,0x25,0xC2,    //1984
                    0x06,0xA5,0x54,    //1985
                    0x06,0xd4,0x49,    //1986
                    0x6A,0xdA,0x3d,    //1987
                    0x0A,0xB6,0x51,    //1988
                    0x09,0x37,0x46,    //1989
                    0x54,0x97,0xBB,    //1990
                    0x04,0x97,0x4f,    //1991
                    0x06,0x4B,0x44,    //1992
                    0x36,0xA5,0x37,    //1993
                    0x0e,0xA5,0x4A,    //1994
                    0x86,0xB2,0xBf,    //1995
                    0x05,0xAC,0x53,    //1996
                    0x0A,0xB6,0x47,    //1997
                    0x59,0x36,0xBC,    //1998
                    0x09,0x2e,0x50,    //1999 294
                    0x0C,0x96,0x45,    //2000 297
                    0x4d,0x4A,0xB8,    //2001
                    0x0d,0x4A,0x4C,    //2002
                    0x0d,0xA5,0x41,    //2003
                    0x25,0xAA,0xB6,    //2004
                    0x05,0x6A,0x49,    //2005
                    0x7A,0xAd,0xBd,    //2006
                    0x02,0x5d,0x52,    //2007
                    0x09,0x2d,0x47,    //2008
                    0x5C,0x95,0xBA,    //2009
                    0x0A,0x95,0x4e,    //2010
                    0x0B,0x4A,0x43,    //2011
                    0x4B,0x55,0x37,    //2012
                    0x0A,0xd5,0x4A,    //2013
                    0x95,0x5A,0xBf,    //2014
                    0x04,0xBA,0x53,    //2015
                    0x0A,0x5B,0x48,    //2016
                    0x65,0x2B,0xBC,    //2017
                    0x05,0x2B,0x50,    //2018
                    0x0A,0x93,0x45,    //2019
                    0x47,0x4A,0xB9,    //2020
                    0x06,0xAA,0x4C,    //2021
                    0x0A,0xd5,0x41,    //2022
                    0x24,0xdA,0xB6,    //2023
                    0x04,0xB6,0x4A,    //2024
                    0x69,0x57,0x3d,    //2025
                    0x0A,0x4e,0x51,    //2026
                    0x0d,0x26,0x46,    //2027
                    0x5e,0x93,0x3A,    //2028
                    0x0d,0x53,0x4d,    //2029
                    0x05,0xAA,0x43,    //2030
                    0x36,0xB5,0x37,    //2031
                    0x09,0x6d,0x4B,    //2032
                    0xB4,0xAe,0xBf,    //2033
                    0x04,0xAd,0x53,    //2034
                    0x0A,0x4d,0x48,    //2035
                    0x6d,0x25,0xBC,    //2036
                    0x0d,0x25,0x4f,    //2037
                    0x0d,0x52,0x44,    //2038
                    0x5d,0xAA,0x38,    //2039
                    0x0B,0x5A,0x4C,    //2040
                    0x05,0x6d,0x41,    //2041
                    0x24,0xAd,0xB6,    //2042
                    0x04,0x9B,0x4A,    //2043
                    0x7A,0x4B,0xBe,    //2044
                    0x0A,0x4B,0x51,    //2045
                    0x0A,0xA5,0x46,    //2046
                    0x5B,0x52,0xBA,    //2047
                    0x06,0xd2,0x4e,    //2048
                    0x0A,0xdA,0x42,    //2049
                    0x35,0x5B,0x37,    //2050
                    0x09,0x37,0x4B,    //2051
                    0x84,0x97,0xC1,    //2052
                    0x04,0x97,0x53,    //2053
                    0x06,0x4B,0x48,    //2054
                    0x66,0xA5,0x3C,    //2055
                    0x0e,0xA5,0x4f,    //2056
                    0x06,0xB2,0x44,    //2057
                    0x4A,0xB6,0x38,    //2058
                    0x0A,0xAe,0x4C,    //2059
                    0x09,0x2e,0x42,    //2060
                    0x3C,0x97,0x35,    //2061
                    0x0C,0x96,0x49,    //2062
                    0x7d,0x4A,0xBd,    //2063

⌨️ 快捷键说明

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