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

📄 time.c

📁 内含单片机中对日期时间的查询等功能,可对单片机存储空间进行时间点分配查询的功能
💻 C
📖 第 1 页 / 共 2 页
字号:
	 		point=SumPoint+OldPoint-point;
	 	}
	 	else
	 		point=OldPoint-point;
 	}
 	else	
 	{
 		PointPreOrNext=POINTPRE;
 		PointCircleNum=0;
 		return(OldPoint);
 	}
 }
 return(point);
}
uchar PdTime(struct TIME_ITEM_D *OldTime,uchar NowYear,uchar NowMonth,uchar NowDay,
		uchar NowHour,uchar NowMinute)
{
 FmuPublic_Watchdog();
 
   if((*OldTime).Year>NowYear)
 {
 	return(TIMESMALL);
 }
   else if((*OldTime).Year<NowYear)
 {
 	return(TIMEBIG);
 }
   else  if((*OldTime).Month>NowMonth)
 {
 	return(TIMESMALL);
 }
   else if((*OldTime).Month<NowMonth)
 {
 	return(TIMEBIG);
 }
   else  if((*OldTime).Day>NowDay)
 {
 	return(TIMESMALL);
 }
   else if((*OldTime).Day<NowDay)
 {
 	return(TIMEBIG);
 } 
   else  if((*OldTime).Hour>NowHour)
 {
 	return(TIMESMALL);
 }
    else if((*OldTime).Hour<NowHour)
 {
 	return(TIMEBIG);
 }  
   else  if((*OldTime).Minute>NowMinute)
 {
 	return(TIMESMALL);
 }
   else if((*OldTime).Minute<NowMinute)
 {
 	return(TIMEBIG);
 }   
 else	return(TIMESAME);
 
 
}
void GetPointPreTime(ulong PointPreNum,uint spacetemp,uchar OldYear,uchar OldMonth
		    ,uchar OldDay,uchar OldHour,uchar OldMinute)
{
 ucharx PreYear,year_rday;
 uintx  PreDay,PreMinute;
 uintx  PreNumDay;
 ulongx	OldMinuteNum,PreMintueNum;
 
 FmuPublic_Watchdog();
 ApplPreTime.Year=OldYear;
 
 
 PreDay  =GetDayInYear(OldYear,OldMonth,OldDay);
 PreYear =BCD_HEX(OldYear);
 
 OldMinuteNum =(ulong)((uint)(BCD_HEX(OldMinute))+(uint)(BCD_HEX(OldHour))*60);
 PreMintueNum =(ulong)(PointPreNum*spacetemp);
 
 if(OldMinuteNum>PreMintueNum)
 {
 	PreMinute=(uint)(OldMinuteNum-PreMintueNum);
 }
 else
 {
 	PreMinute=(uint)(PreMintueNum%1440);
 	if(OldMinuteNum>PreMinute)
 	{
 		PreMinute=(uint)(OldMinuteNum-PreMinute);
 		PreNumDay=(uint)(PreMintueNum/1440);
 	}
 	else
 	{
 		PreMinute=(uint)(1440+OldMinuteNum-PreMinute);
 		PreNumDay=(uint)(PreMintueNum/1440)+1;
 	}
 	
 	if(PreDay>PreNumDay)
 	{
 		PreDay-=PreNumDay;
 	}
 	else
 	{
 		PreYear-=1;
 		if(PreYear%4==0)
 		{
 			PreDay=366+PreDay-PreNumDay;
 			ApplPreTime.Year=HEX_BCD(BCD_HEX(OldYear)-1);
 		}
 		else
 		{
 			PreDay=365+PreDay-PreNumDay;
 			ApplPreTime.Year=HEX_BCD(BCD_HEX(OldYear)-1);
 		}
 	}
 }
 //分
 
 ApplPreTime.Minute = HEX_BCD(PreMinute%60);////
 
 //时
 ApplPreTime.Hour   = HEX_BCD((PreMinute/60)%24);////
 PreDay		        = PreDay + PreMinute/1440;
 //日
 //月
 	if((BCD_HEX(PreYear)%4)==0)
 		year_rday=1;
 	else
 		year_rday=0;
 	
 	if(PreDay<=31)
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay);
 		ApplPreTime.Month = 1;
 	}
 	else if(PreDay<=(59+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-31);
 		ApplPreTime.Month = 2;
 	}
 	else if(PreDay<=(90+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-59-year_rday);
 		ApplPreTime.Month = 3;
 	}
 	else if(PreDay<=(120+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-90-year_rday);
 		ApplPreTime.Month = 4;
 	}
 	else if(PreDay<=(151+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-120-year_rday);
 		ApplPreTime.Month = 5;
 	}
 	else if(PreDay<=(181+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-151-year_rday);
 		ApplPreTime.Month = 6;
 	}
 	else if(PreDay<=(212+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-181-year_rday);
 		ApplPreTime.Month = 7;
 	}
 	else if(PreDay<=(243+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-212-year_rday);
 		ApplPreTime.Month = 8;
 	}
 	else if(PreDay<=(273+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-243-year_rday);
 		ApplPreTime.Month = 9;
 	}
 	else if(PreDay<=(304+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-273-year_rday);
 		ApplPreTime.Month = 0x10;
 	}
 	else if(PreDay<=(334+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-304-year_rday);
 		ApplPreTime.Month = 0x11;
 	}
 	else if(PreDay<=(365+year_rday))
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-334-year_rday);
 		ApplPreTime.Month = 0x12;
 	}
 	else
 	{
 		ApplPreTime.Day   = HEX_BCD(PreDay-365-year_rday);
 		ApplPreTime.Month = 0x13;
	}

 FmuPublic_Watchdog();
}
void GetPointNextTime(ulong PointNextNum,uint spacetemp,uchar OldYear,uchar OldMonth
		    ,uchar OldDay,uchar OldHour,uchar OldMinute)
{
 ucharx NextMinute;
 ucharx year_rday;
 uintx  day,NextHour,NextDay;
 ulongx temp;
 FmuPublic_Watchdog();
 
 ApplNextTime.Year=OldYear;
 temp=(ulong)(spacetemp*PointNextNum);
 //分
 NextMinute=(uint)(temp%60)+BCD_HEX(OldMinute);
 ApplNextTime.Minute = HEX_BCD(NextMinute%60);////
 
 //时
 //if(NextMinute>=60)
 //	NextHour=1;
 //else	NextHour=0;
 NextHour=NextMinute/60+(uint)(temp/60)+BCD_HEX(OldHour);
 ApplNextTime.Hour   = HEX_BCD(NextHour%24);////
 //日
 //if(NextHour>=24)
 	NextDay=NextHour/24;
 //else	NextDay=0;
 if(NextDay==0)
 {
 	ApplNextTime.Day  =  OldDay;
 	ApplNextTime.Month=  OldMonth;
 }
 else//月
 {
 	day=GetDayInYear(OldYear,OldMonth,OldDay);
 	day=day+NextDay;
 	if((BCD_HEX(OldYear)%4)==0)
 	{
 		if(day>366)
 		{
 			day-=366;
 			ApplNextTime.Year=HEX_BCD(BCD_HEX(OldYear)+1);
 			year_rday=0;
 		}
 		else	year_rday=1;
 	}
 	else 	
 	{
 		if(day>365)
 		{
 			ApplNextTime.Year=HEX_BCD(BCD_HEX(OldYear)+1);
 			day-=365;
 			if(((BCD_HEX(OldYear)+1)%4)==0)
 				year_rday=1;
 			else	year_rday=0;
 		}
 		else	year_rday=0;
 	}
 	
 	if(day<=31)
 	{
 		ApplNextTime.Day   = HEX_BCD(day);
 		ApplNextTime.Month = 1;
 	}
 	else if(day<=(59+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-31);
 		ApplNextTime.Month = 2;
 	}
 	else if(day<=(90+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-59-year_rday);
 		ApplNextTime.Month = 3;
 	}
 	else if(day<=(120+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-90-year_rday);
 		ApplNextTime.Month = 4;
 	}
 	else if(day<=(151+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-120-year_rday);
 		ApplNextTime.Month = 5;
 	}
 	else if(day<=(181+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-151-year_rday);
 		ApplNextTime.Month = 6;
 	}
 	else if(day<=(212+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-181-year_rday);
 		ApplNextTime.Month = 7;
 	}
 	else if(day<=(243+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-212-year_rday);
 		ApplNextTime.Month = 8;
 	}
 	else if(day<=(273+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-243-year_rday);
 		ApplNextTime.Month = 9;
 	}
 	else if(day<=(304+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-273-year_rday);
 		ApplNextTime.Month = 0x10;
 	}
 	else if(day<=(334+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-304-year_rday);
 		ApplNextTime.Month = 0x11;
 	}
 	else if(day<=(365+year_rday))
 	{
 		ApplNextTime.Day   = HEX_BCD(day-334-year_rday);
 		ApplNextTime.Month = 0x12;
 	}
 	else
 	{
 		ApplNextTime.Day   = HEX_BCD(day-365-year_rday);
 		ApplNextTime.Month = 0x13;
	}
 }
 FmuPublic_Watchdog();
}
/***********End*********************************************/

⌨️ 快捷键说明

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