📄 wahaha.txt
字号:
}
else if(key1_flag==0&&key2_flag==1&&dispalarm_flag==0) //快增调节时
{
if(++hour==24)
hour=0;
process();
display();
}
else if(key1_flag==0&&key2_flag==2&&dispalarm_flag==0) //快增调节分
{
if(++minute==60)
minute=0;
process();
display();
}
else if(key1_flag==0&&key2_flag==3&&dispalarm_flag==0) //快增调节秒
{
if(++second==60)
second=0;
process();
display();
}
else if(key1_flag==1&&key2_flag==1&&dispalarm_flag==0) //快增调节年
{
if(++year==100)
year=0;
process();
display();
}
else if(key1_flag==1&&key2_flag==2&&dispalarm_flag==0) //快增调节月
{
if(++month==13)
month=1;
process();
display();
}
else if(key1_flag==1&&key2_flag==3&&dispalarm_flag==0) //快增调节日
{
if(++day==(daynum()+1))
day=1;
process();
display();
}
display();
}
}
if(lp_flag==0)
{
if(dispalarm_flag==1&&key2_flag==1) //慢增调节闹钟时
{
if(++hour_alarm==24)
hour_alarm=0;
}
else if(dispalarm_flag==1&&key2_flag==2) //慢增调节闹钟分
{
if(++minute_alarm==60)
minute_alarm=0;
}
else if(dispalarm_flag==1&&key2_flag==3) //慢增调节闹钟秒
{
if(++second_alarm==60)
second_alarm=0;
second_alarm_temp=second_alarm;
}
else if(key1_flag==0&&key2_flag==1&&dispalarm_flag==0) //慢增调节时
{
if(++hour==24)
hour=0;
}
else if(key1_flag==0&&key2_flag==2&&dispalarm_flag==0) //慢增调节分
{
if(++minute==60)
minute=0;
}
else if(key1_flag==0&&key2_flag==3&&dispalarm_flag==0) //慢增调节秒
{
if(++second==60)
second=0;
}
else if(key1_flag==1&&key2_flag==1&&dispalarm_flag==0) //慢增调节年
{
if(++year==100)
year=0;
}
else if(key1_flag==1&&key2_flag==2&&dispalarm_flag==0) //慢增调节月
{
if(++month==13)
month=1;
}
else if(key1_flag==1&&key2_flag==3&&dispalarm_flag==0) //慢增调节日
{
if(++day==daynum()+1)
day=1;
}
}
}
}
else if((P1&0x02)!=0x02) //按键4按下,校准时间减少数字量
{
// if(dispwatch_flag==0&&dispalarm_flag==0&&key1_flag==1)
// dispyear();
if(dispwatch_flag==1)
{
watchrunning_flag=0;
tenms_watch=0;
second_watch=0;
minute_watch=0;
}
while((P1&0x02)!=0x02) //如果按键4出现持续按下,则快速减少数字量
{
process();
display();
if(++temp>=50)
{
lp_flag=1;
if(alarmrunning_flag==1)
{
alarmrunning_flag=0;
alarmrunning(4);
}
else if(dispalarm_flag==1&&key2_flag==1) //快减调节闹钟时
{
if(hour_alarm==0)
hour_alarm=23;
else
hour_alarm--;
process();
display();
}
else if(dispalarm_flag==1&&key2_flag==2) //快减调节闹钟分
{
if(minute_alarm==0)
minute_alarm=59;
else
minute_alarm--;
process();
display();
}
else if(dispalarm_flag==1&&key2_flag==3) //快减调节闹钟秒
{
if(second_alarm==0)
second_alarm=59;
else
second_alarm--;
process();
display();
second_alarm_temp=second_alarm;
}
else if(key1_flag==0&&key2_flag==1&&dispalarm_flag==0) //快减调节时
{
if(hour==0)
hour=23;
else
hour--;
process();
display();
}
else if(key1_flag==0&&key2_flag==2&&dispalarm_flag==0) //快减调节分
{
if(minute==0)
minute=59;
else
minute--;
process();
display();
}
else if(key1_flag==0&&key2_flag==3&&dispalarm_flag==0) //快减调节秒
{
if(second==0)
second=59;
else
second--;
process();
display();
}
else if(key1_flag==1&&key2_flag==1&&dispalarm_flag==0) //快减调节年
{
if(year==0)
year=99;
else
year--;
process();
display();
}
else if(key1_flag==1&&key2_flag==2&&dispalarm_flag==0) //快减调节月
{
if(--month==0)
month=12;
process();
display();
}
else if(key1_flag==1&&key2_flag==3&&dispalarm_flag==0) //快减调节日
{
if(--day==0)
day=daynum();
process();
display();
}
display();
}
}
if(lp_flag==0)
{
if(dispalarm_flag==1&&key2_flag==1) //慢减调节闹钟时
{
if(hour_alarm==0)
hour_alarm=23;
else
hour_alarm--;
}
else if(dispalarm_flag==1&&key2_flag==2) //慢减调节闹钟分
{
if(minute_alarm==0)
minute_alarm=59;
else
minute_alarm--;
}
else if(dispalarm_flag==1&&key2_flag==3) //慢减调节闹钟秒
{
if(second_alarm==0)
second_alarm=59;
else
second_alarm--;
second_alarm_temp=second_alarm;
}
else if(key1_flag==0&&key2_flag==1&&dispalarm_flag==0) //慢减调节时
{
if(hour==0)
hour=23;
else
hour--;
}
else if(key1_flag==0&&key2_flag==2&&dispalarm_flag==0) //慢减调节分
{
if(minute==0)
minute=59;
else
minute--;
}
else if(key1_flag==0&&key2_flag==3&&dispalarm_flag==0) //慢减调节秒
{
if(second==0)
second=59;
else
second--;
}
else if(key1_flag==1&&key2_flag==1) //慢减调节年
{
if(year==0)
year=99;
else
year--;
}
else if(key1_flag==1&&key2_flag==2) //慢减调节月
{
if(--month==0)
month=12;
}
else if(key1_flag==1&&key2_flag==3) //慢减调节日
{
if(--day==0)
day=daynum();
}
}
}
}
}
/***************************************************************/
/*定时计数器0定时1ms中断程序,中断时间到,送计数脉冲给内部1中断*/
/***************************************************************/
void onems()interrupt 1
{
uint i;
P3_5=0; //软件产生计数脉冲
P3_5=1;
TH0=0xfc;
TL0=0x18;
if(watchrunning_flag==1)
if(++i==10)
{
i=0;
if(++tenms_watch==100)
{
tenms_watch=0;
if(++second_watch==60)
{
second_watch=0;
if(++minute_watch==60)
minute_watch=0;
}
}
}
}
/****************************************************/
/*定时计数器1计数1000次,和定时计数器0串连实现1s计时*/
/****************************************************/
void onesecond()interrupt 3
{
second++; //1秒钟定时到,秒增加
TH1=0xfc;
TL1=0x18;
}
/**********************/
/*时间关系递增处理函数*/
/**********************/
void timeprocess(void)
{
if(second==60)
{
minute++;
second=0;
if(minute==60)
{
hour++;
minute=0;
if(hour==24)
{
day++;
hour=0;
if(day=daynum()+1)
{
month++;
day=1;
if(month==13)
{
year++;
month=1;
if(year==10000)
year=0;
}
}
}
}
}
}
void welcome(void)
{uint i,j;
while(1)
{
if(j<=24)
{
for(i=0;i<6;i++)
disp[5-i]=wel[j+i];
if(j==6||j==18)
for(i=0;i<200;i++)
display();
else
for(i=0;i<20;i++)
display();
j++;
}
if(j==24)
break;
}
}
void main(void)
{
// welcome();
TMOD=0x51;
TH0=0xfc;
TL0=0x18;
TH1=0xfc;
TL1=0x18;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
while(1)
{
keyscan();
timeprocess();
alarmclock();
process();
glitterprocess();
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -