本文引用地址:http://m.butianyuan.cn/article/201611/322546.htmif((key_code==0x04)&&(function_flag==1))//減法
{
clock_flag=2;//清除鬧鐘標志位
if(function_ping2==1)
{
sec--;//秒減減
if(sec==0xff)//秒是否等于0
sec=59;//秒等于60
}
if(function_ping2==2)
{
min--;//分減減
if(min==0xff)//分是否等于0
min=59;//分等于60
}
if(function_ping2==3)
{
hour--;//小時減減
if(hour==0xff)//小時是否等于0
hour=23;//小時等于24
}
if(function_ping1==1)
{
day--;//天減減
if(day==0)//天是否等于0
day=tian;//天等于30/31/28/29
}
if(function_ping1==2)
{
month--;//月減減
if(month==0)//月是否等于0
month=12;//月等于13
tian=tianshu[month];
if(day>tian)
tian_flag=1;
else
tian_flag=0;
}
if(function_ping1==3)
{
year--;//年減減
if(year==1999)//年是否等于1999
year=2100;//年等于2100
if((year%4!=0)||(year0!=0)||(year@0==0))
{
tian=tianshu[month];
if(day>tian)
{
tian_flag=1;
}
else
tian_flag=0;
}
}
if(function_ping3==1)
{
nao_sec--;//鬧鐘秒減減
if(nao_sec==0xff)//鬧鐘秒是否等于0
nao_sec=59;//鬧鐘秒等于60
}
if(function_ping3==2)
{
nao_min--;//鬧鐘分減減
if(nao_min==0xff)//鬧鐘分是否等于0
nao_min=59;//鬧鐘分等于60
}
if(function_ping3==3)
{
nao_hour--;//鬧鐘小時減減
if(nao_hour==0xff)//鬧鐘小時是否等于0
nao_hour=23;//鬧鐘小時等于24
}
}
if((key_code==0x02)&&(function_flag==0))//沒有功能鍵按下時
{
clock_flag=2;//清除鬧鐘標志位
flag=1;//換屏標志位被按下
if(num_flag==1)//換屏位1
ping_flag=1;
if(num_flag==2)//換屏位2
ping_flag=2;
if(num_flag==3)//換屏位3
ping_flag=3;
}
if((key_code==0x04)&&(function_flag==0))
{
clock_flag=2;//清除鬧鐘標志位
}
key_code=0;//鍵值清零
}
voidleap_year(void)
{
tian=tianshu[month];//讀出每月天數(shù)表
if(daytian)
tian_flag=0;
if(month==2)
{
if((year%4==0)&&(year0!=0)||(year@0==0))//判斷是否是閏年
{
tian=29;//閏年2月天數(shù)修正
}
else
{
tian=28;//閏年2月天數(shù)修正
}
}
}
voidrtc()
{
if(++sec60)//秒加一
return;
sec=0;
if(++min60)//分加一
return;
min=0;
if(++hour24)//小時加一
return;
hour=0;
if(++day=tian)//天數(shù)加一
return;
day=1;//月加一
if(++month=12)
return;
month=1;
if(++year2100)//年加一
return;
year=2000;
}
voidrtc_show(void)
{
if((function_ping1!=0)&&(function_ping2==0)&&(function_ping3==0))
{
change_ping=0;//第一屏
}
elseif((function_ping1==0)&&(function_ping2!=0)&&(function_ping3==0))
{
change_ping=1;//第二屏
}
elseif((function_ping1==0)&&(function_ping2==0)&&(function_ping3!=0))
{
change_ping=2;//第三屏
}
if(change_ping==1)
{
if(function_ping2==0)//正常顯示
{
LCDMEM[0]=digit[sec];
LCDMEM[1]=digit[sec/10];
LCDMEM[2]=digit[min];
LCDMEM[3]=digit[min/10];
LCDMEM[4]=digit[hour];
LCDMEM[5]=digit[hour/10];
}
if(function_ping2==1)//秒閃爍
{
if(twinkle_num==0)//閃爍標志位
{
LCDMEM[0]=digit[sec];
LCDMEM[1]=digit[sec/10];
}
else
{
LCDMEM[0]=0;
LCDMEM[1]=0;
}
LCDMEM[2]=digit[min];
LCDMEM[3]=digit[min/10];
LCDMEM[4]=digit[hour];
LCDMEM[5]=digit[hour/10];
}
if(function_ping2==2)//分閃爍
{
if(twinkle_num==0)
{
LCDMEM[2]=digit[min];
LCDMEM[3]=digit[min/10];
}
else
{
LCDMEM[2]=0;
LCDMEM[3]=0;
}
LCDMEM[0]=digit[sec];
LCDMEM[1]=digit[sec/10];
LCDMEM[4]=digit[hour];
LCDMEM[5]=digit[hour/10];
}
if(function_ping2==3)//小時閃爍
{
if(twinkle_num==0)
{
LCDMEM[4]=digit[hour];
LCDMEM[5]=digit[hour/10];
}
else
{
LCDMEM[4]=0;
LCDMEM[5]=0;
}
LCDMEM[0]=digit[sec];
LCDMEM[1]=digit[sec/10];
LCDMEM[2]=digit[min];
LCDMEM[3]=digit[min/10];
}
}
if(change_ping==0)
{
if(function_ping1==0)//正常顯示
{
LCDMEM[0]=digit[(day)];
LCDMEM[1]=digit[(day)/10];
LCDMEM[2]=digit[(month)];
LCDMEM[3]=digit[(month)/10];
LCDMEM[4]=digit[year];
LCDMEM[5]=digit[(year/10)];
}
if(function_ping1==1)//天閃爍
{
if(twinkle_num==0)
{
LCDMEM[0]=digit[day];
LCDMEM[1]=digit[day/10];
}
else
{
LCDMEM[0]=0;
LCDMEM[1]=0;
}
LCDMEM[2]=digit[(month)];
LCDMEM[3]=digit[(month)/10];
LCDMEM[4]=digit[year];
LCDMEM[5]=digit[(year/10)];
}
if(function_ping1==2)//月閃爍
{
if(twinkle_num==0)
{
LCDMEM[2]=digit[(month)];
LCDMEM[3]=digit[(month)/10];
}
else
{
LCDMEM[2]=0;
LCDMEM[3]=0;
}
LCDMEM[0]=digit[day];
LCDMEM[1]=digit[day/10];
LCDMEM[4]=digit[year];
LCDMEM[5]=digit[(year/10)];
}
if(function_ping1==3)//年閃爍
{
if(twinkle_num==0)
{
LCDMEM[4]=digit[year];
LCDMEM[5]=digit[(year/10)];
}
else
{
LCDMEM[4]=0;
LCDMEM[5]=0;
}
LCDMEM[0]=digit[(day)];
LCDMEM[1]=digit[(day)/10];
LCDMEM[2]=digit[(month)];
LCDMEM[3]=digit[(month)/10];
}
}
評論