📄 clock.bak
字号:
#include <SST89x5xxRD2.h>
#include "Public.h"
#define SECOND 20
static code BYTE days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
TIME time;
DATE date;
BOOL leap_year()
//check year is leap year?
//return TRUE is leap year
{
if((date.year%4==0)&&(date.year%100!=0))
return TRUE;
else if(date.year%400==0)
return TRUE;
else
return FALSE;
}
VOID timer0()interrupt 1 using 1
//50ms interrupt
{
static BYTE click=0;
EA=0;
TH0=V_TH0;
TL0=V_TL0;
++click;
if(click>=SECOND)
{
click=0;
if(++time.sec>=60)
{
time.sec=0;
if(++time.min>=60)
{
time.min=0;
if(++time.hour>=24)
{
time.hour=0;
if(++date.day>days_month[date.month])
{
if(date.month==2&&leap_year())
{
if(date.day>29)
date.day=1;
}
else
date.day=1;
if(++date.month>12)
{
date.month=1;
if(++date.year>=99)
date.year=0;
}
}
}
}
}
}
EA=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -