⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sky_main.c

📁 公共广播系统:定时开机,定时广播,定时关机
💻 C
📖 第 1 页 / 共 4 页
字号:
						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 + -