📄 main_function.c
字号:
Split(temp,4,5,6,7);
temp=eeprom_read(4)*256+eeprom_read(5);
if(temp>999){temp=999;}
Split(temp,15,16,17,18);
temp=eeprom_read(6)*256+eeprom_read(7);
if(temp>9999){temp=9999;}
Split(temp,19,20,21,22);
AD0_SettingValue=eeprom_read(8);
if(AD0_SettingValue>99){AD0_SettingValue=99;}
Split_AD(AD0_SettingValue,8,9,10);
AD1_SettingValue=eeprom_read(9);
if(AD1_SettingValue>99){AD1_SettingValue=99;}
Split_AD(AD1_SettingValue,11,12,13);
Display_data[14]=0;
Display_data[14]=Display_data[14]|0x80;
Flash=1;
Setting_Obj=0;
Flash_turn=Setting_Point=3;
}
}
unsigned char Check_TopBottom(unsigned Data,unsigned char Position,unsigned char TopBottom)
{
if(TopBottom==1)//加法
{
switch(Position)
{
case 0:
if(Data%10==9)
return 1;
else
return 0;
case 1:
if(Data%100>=90)
return 1;
else
return 0;
case 2:
if(Data%1000>=900)
return 1;
else
return 0;
case 3:
if(Data%10000>=9000)
return 1;
else
return 0;
}
}
else//减法
{
switch(Position)
{
case 0:
if(Data%10==0)
return 1;
else
return 0;
case 1:
if(Data%100<10)
return 1;
else
return 0;
case 2:
if(Data%1000<100)
return 1;
else
return 0;
case 3:
if(Data%100<1000)
return 1;
else
return 0;
}
}
return 0;
}
void Setting_Mode(void)
{
unsigned char temp;
if((Key_Inf.Status==Press_Down)&&(Key_Inf.Response==1))
{
Key_Inf.Response=0;
switch(Key_Inf.KeyCode)
{
case 8:
Mode=Working;
break;
case 10:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x80);
Flash_turn=3;
Setting_Obj=0;
Setting_Point=3;
break;
case 5:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x40);
Flash_turn=7;
Setting_Obj=1;
Setting_Point=7;
break;
case 2:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x08);
Flash_turn=18;
Setting_Obj=4;
Setting_Point=18;
break;
case 1:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x04);
Flash_turn=22;
Setting_Obj=5;
Setting_Point=22;
break;
case 4:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x20);
Flash_turn=9;
Setting_Obj=2;
Setting_Point=9;
break;
case 3:
Display_data[14]=0;
Display_data[14]=Display_data[14]|(0x10);
Flash_turn=12;
Setting_Obj=3;
Setting_Point=12;
break;
case 7://确定光标闪烁位置
switch(Setting_Obj)
{
case 0:
Setting_Point--;
if(Setting_Point>30){Setting_Point=3;}
Flash_turn=Setting_Point;
break;
case 1:
Setting_Point--;
if(Setting_Point<4){Setting_Point=7;}
Flash_turn=Setting_Point;
break;
case 4:
Setting_Point--;
if(Setting_Point<16){Setting_Point=18;}
Flash_turn=Setting_Point;
break;
case 5:
Setting_Point--;
if(Setting_Point<19){Setting_Point=22;}
Flash_turn=Setting_Point;
break;
case 2:
Setting_Point--;
if(Setting_Point<8){Setting_Point=9;}
Flash_turn=Setting_Point;
break;
case 3:
Setting_Point--;
if(Setting_Point<11){Setting_Point=12;}
Flash_turn=Setting_Point;
break;
}
break;
case 9:
{
switch(Setting_Obj)
{
case 0:
if(Check_TopBottom(Timer1_Mirro,3-Setting_Point,1))
{
Timer1_Mirro=Timer1_Mirro-9*Pow(10,(3-Setting_Point));
}
else
{
Timer1_Mirro=Timer1_Mirro+Pow(10,(3-Setting_Point));
}
Split(Timer1_Mirro,0,1,2,3);
Display_data[3]++;
break;
case 1:
if(Check_TopBottom(Timer2_Mirro,7-Setting_Point,1))
{
Timer2_Mirro=Timer2_Mirro-9*Pow(10,(7-Setting_Point));
}
else
{
Timer2_Mirro=Timer2_Mirro+Pow(10,(7-Setting_Point));
}
Split(Timer2_Mirro,4,5,6,7);
break;
case 4:
if(Check_TopBottom(Timer3_Mirro,18-Setting_Point,1))
{
Timer3_Mirro=Timer3_Mirro-9*Pow(10,(18-Setting_Point));
}
else
{
Timer3_Mirro=Timer3_Mirro+Pow(10,(18-Setting_Point));
}
Split(Timer3_Mirro,15,16,17,18);
break;
case 5:
if(Check_TopBottom(Timer4_Mirro,22-Setting_Point,1))
{
Timer4_Mirro=Timer4_Mirro-9*Pow(10,(22-Setting_Point));
}
else
{
Timer4_Mirro=Timer4_Mirro+Pow(10,(22-Setting_Point));
}
Split(Timer4_Mirro,19,20,21,22);
break;
case 2:
if(Check_TopBottom(AD0_SettingValue,9-Setting_Point,1))
{
AD0_SettingValue=AD0_SettingValue-9*Pow(10,(9-Setting_Point));
}
else
{
AD0_SettingValue=AD0_SettingValue+Pow(10,(9-Setting_Point));
}
Split_AD(AD0_SettingValue,8,9,10);
break;
case 3:
if(Check_TopBottom(AD1_SettingValue,12-Setting_Point,1))
{
AD1_SettingValue=AD1_SettingValue-9*Pow(10,(12-Setting_Point));
}
else
{
AD1_SettingValue=AD1_SettingValue+Pow(10,(12-Setting_Point));
}
Split_AD(AD1_SettingValue,11,12,13);
break;
}
break;
}
case 6:
{
switch(Setting_Obj)
{
case 0:
if(Check_TopBottom(Timer1_Mirro,3-Setting_Point,0))
{
Timer1_Mirro=Timer1_Mirro+9*Pow(10,(3-Setting_Point));
}
else
{
Timer1_Mirro=Timer1_Mirro-Pow(10,(3-Setting_Point));
}
Split(Timer1_Mirro,0,1,2,3);
Display_data[3]++;
break;
case 1:
if(Check_TopBottom(Timer2_Mirro,7-Setting_Point,0))
{
Timer2_Mirro=Timer2_Mirro+9*Pow(10,(7-Setting_Point));
}
else
{
Timer2_Mirro=Timer2_Mirro-Pow(10,(7-Setting_Point));
}
Split(Timer2_Mirro,4,5,6,7);
break;
case 4:
if(Check_TopBottom(Timer3_Mirro,18-Setting_Point,0))
{
Timer3_Mirro=Timer3_Mirro+9*Pow(10,(18-Setting_Point));
}
else
{
Timer3_Mirro=Timer3_Mirro-Pow(10,(18-Setting_Point));
}
Split(Timer3_Mirro,15,16,17,18);
break;
case 5:
if(Check_TopBottom(Timer4_Mirro,22-Setting_Point,0))
{
Timer4_Mirro=Timer4_Mirro+9*Pow(10,(22-Setting_Point));
}
else
{
Timer4_Mirro=Timer4_Mirro-Pow(10,(22-Setting_Point));
}
Split(Timer4_Mirro,19,20,21,22);
break;
case 2:
if(Check_TopBottom(AD0_SettingValue,9-Setting_Point,0))
{
AD0_SettingValue=AD0_SettingValue+9*Pow(10,(9-Setting_Point));
}
else
{
AD0_SettingValue=AD0_SettingValue-Pow(10,(9-Setting_Point));
}
Split_AD(AD0_SettingValue,8,9,10);
break;
case 3:
if(Check_TopBottom(AD1_SettingValue,12-Setting_Point,0))
{
AD1_SettingValue=AD1_SettingValue+9*Pow(10,(12-Setting_Point));
}
else
{
AD1_SettingValue=AD1_SettingValue-Pow(10,(12-Setting_Point));
}
Split_AD(AD1_SettingValue,11,12,13);
break;
}
break;
}
}
}
if(Task.Flag.timer1_Enlable==1)
{
//输出外部控制信号
if(Timer1>9999)
{
Task.Flag.timer1_Enlable=0;
Timer1_Control=1;
Timer1=eeprom_read(0)*256+eeprom_read(1);
if(Timer1>9999){Timer1=9999;}
Beep_Counter=10;
}
}
if(Task.Flag.timer2_Enlable==1)
{
//输出外部控制信号
if(Timer2>9999)
{
Task.Flag.timer2_Enlable=0;
// Timer2_Control=0;
Timer2=eeprom_read(2)*256+eeprom_read(3);
// Timer2H=eeprom_read(2);
// Timer2L=eeprom_read(3);
if(Timer2>9999){Timer2=9999;}
Beep_Counter=20;
}
}
if(Task.Flag.timer3_Enlable==1)
{
if(Timer3<1)
{
Task.Flag.timer3_Enlable=0;
AD1_Enable=0;Display_data[14]=Display_data[14]&(~0x10);
Timer3=eeprom_read(4)*256+eeprom_read(5);
if(Timer3>999){Timer3=999;}
Beep_Counter=20;
}
}
if(Task.Flag.timer4_Enlable==1)
{
if(Timer4>9999)
{
Task.Flag.timer4_Enlable=0;
Timer4_Control=1;
Timer4=eeprom_read(6)*256+eeprom_read(7);
if(Timer4>9999){Timer4=9999;}
Beep_Counter=20;
}
//输出外部控制信号
}
temp=Find_Tempr(AD0_Value);
if(AD0_Enable)
{
if(AD0_Status==1)
{
if(temp>=AD0_SettingValue){AD0_Status=0;AD0_Control=1;}
}
else
{
if(temp<AD0_SettingValue-2){AD0_Status=1;AD0_Control=0;}
}
}
else
{AD0_Status=0;AD0_Control=1;}
temp=Find_Tempr(AD1_Value);
if(AD1_Enable)
{
if(AD1_Status==1)
{
if(temp>=AD1_SettingValue){AD1_Status=0;AD1_Control=1;}
}
else
{
if(temp<AD1_SettingValue-10){AD1_Status=1;AD1_Control=0;}
}
RC3=0;//开启第6路
}
else
{AD1_Status=0;AD1_Control=1;RC3=1;}
if(Mode==Working)
{
eeprom_write(0,Timer1_Mirro/256);
eeprom_write(1,Timer1_Mirro%256);
eeprom_write(2,Timer2_Mirro/256);
eeprom_write(3,Timer2_Mirro%256);
eeprom_write(4,Timer3_Mirro/256);
eeprom_write(5,Timer3_Mirro%256);
eeprom_write(6,Timer4_Mirro/256);
eeprom_write(7,Timer4_Mirro%256);
eeprom_write(8,AD0_SettingValue);
eeprom_write(9,AD1_SettingValue);
Flash=0;
if(Pump_Enable==0)
{
Display_data[14]=Display_data[14]&(~0x02);
}
else
{
Display_data[14]=Display_data[14]|(0x02);
}
if(Task.Flag.timer1_Enlable==0)
{
//输出外部控制信号
Display_data[14]=Display_data[14]&(~0x80);
Timer1=Timer1_Mirro;
if(Timer1>9999){Timer1=9999;}
Split(Timer1,0,1,2,3);
Display_data[3]++;
}
else
{
Display_data[14]=Display_data[14]|0x80;
}
if(Task.Flag.timer2_Enlable==0)
{
//输出外部控制信号
Display_data[14]=Display_data[14]&(~0x40);
Timer2=Timer2_Mirro;
if(Timer2>9999){Timer2=9999;}
Split(Timer2,4,5,6,7);
}
else
{
Display_data[14]=Display_data[14]|0x40;
}
if(Task.Flag.timer3_Enlable==0)
{
Display_data[14]=Display_data[14]&(~0x08);
Timer3=Timer3_Mirro;
if(Timer3>999){Timer3=999;}
Split(Timer3,15,16,17,18);
}
else
{
Display_data[14]=Display_data[14]|0x08;
}
if(Task.Flag.timer4_Enlable==0)
{
Task.Flag.timer4_Enlable=0;
Display_data[14]=Display_data[14]&(~0x04);
Timer4=Timer4_Mirro;
if(Timer4>9999){Timer4=9999;}
Split(Timer4,19,20,21,22);
}
else
{
Display_data[14]=Display_data[14]|0x04;
}
if(AD1_Enable==0)
{
AD1_Enable=0;
Display_data[14]=Display_data[14]&(~0x10);
}
else
{
AD1_Enable=1;
//载入初始值
Display_data[14]=Display_data[14]|0x10;
}
if(AD0_Enable==0)
{
AD0_Enable=0;
Display_data[14]=Display_data[14]&(~0x20);
}
else
{
AD0_Enable=1;
//载入初始值
Display_data[14]=Display_data[14]|0x20;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -