📄 sky_main.c
字号:
flag=2;
break;
case 1:
if(month1==1)
month1=12;
else
month1-=1;
flag=2;
break;
case 2:
if(date1==1)
date1=28;
else
date1-=1;
flag=2;
break;
case 3:
if(hour1==0)
hour1=23;
else
hour1-=1;
flag=1;
break;
case 4:
if(minute1==0)
minute1=59;
else
minute1-=1;
flag=1;
break;
case 5:
if(second1==0)
second1=59;
else
second1-=1;
flag=1;
break;
}
if(flag==2)
{
if(month1==4 || month1== 6 || month1==9 || month1==11)
{
if(date1>30)
date1=1;
}
else if(month1==2)
{
if(year1 %4==0)
{
if(date1>29)
date1=1;
}
else if(date1>28)
{
date1=1;
}
}
else
{
if(date1>31)
date1=1;
}
week1=Weekjs(year1,month1,date1);
}
flag=1;
break;
case ENTER:
Year=year1;
Month=month1;
Date=date1;
Hour=hour1;
Minute=minute1;
Second=second1;
Week=week1;
Beep1(3);
Function=0;
return;
case ESC:
Function=0;
return;
}
if(flag==1)
{
flag=0;
if(num<3)
{
Date_display(week1,year1,month1,date1,num);
Time_display(5,hour1,minute1,second1,3);
}
else
{
Date_display(week1,year1,month1,date1,3);
Time_display(5,hour1,minute1,second1,num-3);
}
}
}
}
void ClockTimeset(void)//定时时间设置ok
{
data UINT8 temp,num=0,lu=1,date,no=1,sh=23,sm=59,ss=59,eh=23,em=59,es=59;
bit flag1=1,flag=0;
data UINT16 addr;
clearRAM(0,8);
date=Week;
Display_Line(9,0,6,0);
Display_Line(10,2,3,0);
HzDisplay(system[0],4,112,0);
HzDisplay(system[1],6,112,0);
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
while(1)
{
temp=KeyScan();
if(count2>2400)
return;
ClearWatchDog();
switch(temp)
{
case ENTER:
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
Delay1(2000);
EEPROMByteWrite0(addr,sh);
Delay1(2000);
EEPROMByteWrite0(addr+1,sm);
Delay1(2000);
EEPROMByteWrite0(addr+2,ss);
Delay1(2000);
EEPROMByteWrite0(addr+3,eh);
Delay1(2000);
EEPROMByteWrite0(addr+4,em);
Delay1(2000);
EEPROMByteWrite0(addr+5,es);
Delay1(2000);
Display_Save(2,80);
Beep1(3);
break;
case ESC:
return;
case MOVE:
num++;
if(num==9)
num=0;
flag1=1;
break;
case UP:
switch(num)
{
case 1:
date++;
if(date==7)
date=0;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 0:
lu++;
if(lu==16)
lu=1;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 2:
no++;
if(no==61)
no=1;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 3:
sh++;
if(sh==24)
sh=0;
break;
case 4:
sm++;
if(sm==60)
sm=0;
break;
case 5:
ss++;
if(ss==60)
ss=0;
break;
case 6:
eh++;
if(eh==24)
eh=0;
break;
case 7:
em++;
if(em==60)
em=0;
break;
case 8:
es++;
if(es==60)
es=0;
break;
}
flag1=1;
break;
case DOWN:
switch(num)
{
case 1:
if(date==0)
date=6;
else
date--;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 0:
if(lu==1)
lu=15;
else
lu--;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 2:
if(no==1)
no=60;
else
no--;
addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
sh=EEPROMByteRead0(addr);
Delay1(100);
sm=EEPROMByteRead0(addr+1);
Delay1(100);
ss=EEPROMByteRead0(addr+2);
Delay1(100);
eh=EEPROMByteRead0(addr+3);
Delay1(100);
em=EEPROMByteRead0(addr+4);
Delay1(100);
es=EEPROMByteRead0(addr+5);
Delay1(100);
break;
case 3:
if(sh==0)
sh=23;
else
sh--;
break;
case 4:
if(sm==0)
sm=59;
else
sm--;
break;
case 5:
if(ss==0)
ss=59;
else
ss--;
break;
case 6:
if(eh==0)
eh=23;
else
eh--;
break;
case 7:
if(em==0)
em=59;
else
em--;
break;
case 8:
if(es==0)
es=59;
else
es--;
break;
}
flag1=1;
break;
}
if(flag1==1)
{
flag1=0;
if(num== 1)
{
HzDisplay(WEEK1[date],0,80,1);
}
else
{
HzDisplay(WEEK1[date],0,80,0);
}
if(num==0)
{
Num_Display(lu,0,32,1);
}
else
{
Num_Display(lu,0,32,0);
}
if(num==2)
{
Num_Display(no,2,48,1);
}
else
{
Num_Display(no,2,48,0);
}
if(num>=3 && num <=5)
{
Time_display(4,sh,sm,ss,num-3);
}
else
{
Time_display(4,sh,sm,ss,3);
}
if(num>=6 && num <=8)
{
Time_display(6,eh,em,es,num-6);
}
else
{
Time_display(6,eh,em,es,3);
}
}
}
}
void Circulationset(void)//循环周期设置ok
{
data UINT8 temp,lu=1,flag,num=0;
bit flag1=1;
clearRAM(0,8);
Display_Line(4,0,6,0);
Display_Line(4,4,4,0);
Display_Line(9,2,2,0);
flag=EEPROMByteRead0(lu);
while(1)
{
temp=KeyScan();
if(count2>2400)
return;
ClearWatchDog();
switch(temp)
{
case ENTER:
EEPROMByteWrite0(lu,flag);
Display_Save(6,30);
Beep1(3);
break;
case ESC:
return;
case MOVE:
if(num==0)
num=1;
else
num=0;
flag1=1;
break;
case UP:
if(num==0)
{
if(lu==15)
lu=1;
else
lu++;
flag=EEPROMByteRead0(lu);
Delay1(100);
}
else
{
if(flag==1)
flag=0;
else
flag=1;
}
flag1=1;
break;
case DOWN:
if(num==0)
{
if(lu==1)
lu=15;
else
lu--;
flag=EEPROMByteRead0(lu);
Delay1(100);
}
else
{
if(flag==1)
flag=0;
else
flag=1;
}
flag1=1;
break;
}
if(flag1==1)
{
if(num==0)
{
Num_Display(lu,2,32,1);
}
else
{
Num_Display(lu,2,32,0);
}
if(num==1)
{
if(flag==1)
HzDisplay(menu4[2],4,80,1);
else
HzDisplay(menu5[4],4,80,1);
}
else
{
if(flag==1)
HzDisplay(menu4[2],4,80,0);
else
HzDisplay(menu5[4],4,80,0);
}
}
}
}
void OpenStopdayluset(void)//启停天数路数设置ok
{
data UINT8 num=0,temp,flag,datenum=0,lu=0;
bit flag1=1;
clearRAM(0,8);
Display_Line(5,0,6,0);
Display_Line(9,4,6,0);
flag=EEPROMByteRead0(datenum*15+lu+16);
while(1)
{
temp=KeyScan();
if(count2>2400)
return;
ClearWatchDog();
switch(temp)
{
case ENTER:
EEPROMByteWrite0(datenum*15+lu+16,flag);
Display_Save(6,30);
Beep1(3);
break;
case ESC:
return;
case MOVE:
if(num==2)
num=0;
else
num++;
flag1=1;
break;
case UP:
if(num==1)
{
datenum++;
datenum%=7;
flag=EEPROMByteRead0(datenum*15+lu+16);
}
else if(num==0)
{
lu++;
lu %=15;
flag=EEPROMByteRead0(datenum*15+lu+16);
}
else
{
if(flag==0)
flag=1;
else
flag=0;
}
flag1=1;
break;
case DOWN:
if(num==1)
{
if(datenum==0)
datenum=6;
else
datenum--;
flag=EEPROMByteRead0(datenum*15+lu+16);
}
else if(num==0)
{
if(lu==0)
lu=14;
else
lu--;
flag=EEPROMByteRead0(datenum*15+lu+16);
}
else
{
if(flag==0)
flag=1;
else
flag=0;
}
flag1=1;
break;
}
if(flag1==1)
{
flag1=0;
if(num==1)
HzDisplay(WEEK1[datenum],4,80,1);
else
HzDisplay(WEEK1[datenum],4,80,0);
if(num==0)
Num_Display(lu+1,4,32,1);
else
Num_Display(lu+1,4,32,0);
if(num==2)
{
if(flag==1)
HzDisplay(system[0], 4,112,1);
else
HzDisplay(system[1], 4,112,1);
}
else
{
if(flag==1)
HzDisplay(system[0], 4,112,0);
else
HzDisplay(system[1], 4,112,0);
}
}
}
}
void ClockSet(void)//定时参数设置ok
{
static data UINT8 row=1;
data UINT8 temp,flag=0;
clearRAM(0,8);
MenuDisplay(1,row);
while(1)
{
temp=KeyScan();
if(count2>2400)
{
Function=0;
clearRAM(0,8);
return;
}
ClearWatchDog();
switch(temp)
{
case MOVE:
row++;
if(row>3)
row=1;
MenuDisplay(1,row);
break;
case ENTER:
flag=1;
break;
case ESC:
Function=0;
return;
}
if(flag==1)
{
flag=0;
break;
}
}
switch(row)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -