📄 time1.c
字号:
//开始time程序
__idata typedef struct _Time
{
unsigned char year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
} _Time;
__idata struct _Time Time;
__idata unsigned char HTHSecond;
/*****************************************
**** 功能:向软件时钟写入4位数据*************
入口:Data低位地址,高位数据*************
*****************************************/
/****************日期判断处理**************************/
void checkdate(uchar Day_Mon)
{uchar ucA;
switch(Time.month)
{
case 1:ucA=31;break;
case 2:ucA=28;
if(Time.year%4==0) ucA++;
break;
case 3:ucA=31;break;
case 4:ucA=30;break;
case 5:ucA=31;break;
case 6:ucA=30;break;
case 7:ucA=31;break;
case 8:ucA=31;break;
case 9:ucA=30;break;
case 10:ucA=31;break;
case 11:ucA=30;break;
case 12:ucA=31;break;
default:break;
}
if(Day_Mon)
{
if(Time.day>=ucA)
{Time.day=1;
if(Time.month==12)
{Time.month=1;
if(Time.year==99) Time.year=0;
else Time.year++;
}
else Time.month++;
}
else Time.day++;
}
else
{
if(Time.day>ucA)
{Time.day=1;
if(Time.month==12)
{Time.month=1;
if(Time.year==99) Time.year=0;
else Time.year++;
}
else Time.month++;
}
}
}
//******************时间处理
void Time_Date(void)
{
if(Time.second>=59)
{ Time.second=0;
minute_bz=1;
if(Time.minute==59)
{Time.minute=0;
if(Time.hour==23)
{Time.hour=0;
checkdate(1);
}
else {Time.hour++;}
}
else {Time.minute++;}
}
else {Time.second++;}
//if(t.year%400==0||(t.year%4==0&&t.year%100!=0))
}
//****************秒处理
void TBM_TIME(void)
{
unsigned char aa,bb,cc,dd;
aa=BCD2HEX(SEC);
bb=BCD2HEX(MIN);
cc=BCD2HEX(HOUR);
dd=BCD2HEX(HTHSEC);
Time.second=aa;
Time.minute=bb;
Time.hour=cc ;
HTHSecond=dd ;
if(HTHSecond==0)
{
aa=BCD2HEX(SEC);
bb=BCD2HEX(MIN);
cc=BCD2HEX(HOUR);
dd=BCD2HEX(HTHSEC);
Time.second=aa;
Time.minute=bb;
Time.hour=cc ;
HTHSecond=dd ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -