📄 m128_alky_touch_con1.c
字号:
}
break; //case 3
case 4:
Temp=Month&0x10;
if(Temp==0)
{
if(!(k==0))
{
DS1302_Write(DS1302_MONTH_Reg,k); //月
F_FLAG2=5;
}
}
else
{
if(k<3)
{
k=k|Temp;
DS1302_Write(DS1302_MONTH_Reg,k); //月
F_FLAG2=5;
}
}
break; //case 4
case 5:
if(k<4)
{
if(!(k==3 & Month==2))
{
Date&=0x0F;
k=(k<<4)|Date;
DS1302_Write(DS1302_DATE_Reg,k); //日
F_FLAG2=6;
}
}
break; //case 5
case 6:
Temp=Date&0x30;
switch(Temp)
{case 0:
if(!(k==0))
{
DS1302_Write(DS1302_DATE_Reg,k); //日
F_FLAG2=7;
}
break; //case 0
case 0x10:
case 0x20:
k=k|Temp;
DS1302_Write(DS1302_DATE_Reg,k); //日
F_FLAG2=7;
break; //case 0x10 case 0x20
case 0x30:
if(k<2)
{
k=k|Temp;
DS1302_Write(DS1302_DATE_Reg,k); //日
F_FLAG2=7;
} //case 0x30
}
break; //case 6
case 7:
if(k<3)
{
Temp=Hour&0x0F;
if(k==2 & Temp>3) Temp=3;
k=(k<<4)|Temp;
DS1302_Write(DS1302_HR_Reg,k); //时
F_FLAG2=8;
}
break; //case 7
case 8:
Temp=Hour&0x30;
if(Temp==0x20)
{
if(k<4)
{
k=k|Temp;
DS1302_Write(DS1302_HR_Reg,k); //时
F_FLAG2=9;
}
}
else
{
k=k|Temp;
DS1302_Write(DS1302_HR_Reg,k); //时
F_FLAG2=9;
}
break; //case 8
case 9:
if(k<6)
{
Temp=Minute&0x0F;
k=(k<<4)|Temp;
DS1302_Write(DS1302_MIN_Reg,k); //分
F_FLAG2=10;
}
break; //case 9
case 10:
Temp=Minute&0x70;
k=k|Temp;
DS1302_Write(DS1302_MIN_Reg,k); //分
break; //case 10
}
DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
}
break;
case 5: //原液加补
if(k<10)
{
switch(F_FLAG2)
{
case 1:
Temp=F_YYJB_Value%10; //取低位
F_YYJB_Value=k*10+Temp;
if(F_YYJB_Value>20) F_YYJB_Value=20;
F_FLAG2=2;
break;
case 2:
Temp=F_YYJB_Value/10; //
F_YYJB_Value=Temp*10+k;
if(F_YYJB_Value>20) F_YYJB_Value=20;
}
}
break;
case 6:
if(k<10)
{
switch(F_FLAG2)
{
case 1:
MiMa_TEMP[0]=k;
F_FLAG2=2;
break;
case 2:
MiMa_TEMP[1]=k;
F_FLAG2=3;
break;
case 3:
MiMa_TEMP[2]=k;
F_FLAG2=4;
break;
case 4:
MiMa_TEMP[3]=k;
F_FLAG2=5;
break;
case 5:
MiMa_TEMP[4]=k;
F_FLAG2=6;
break;
case 6:
MiMa_TEMP[5]=k;
F_FLAG2=7;
break;
}
}
break;
}
}
//******************************************
void L_LDBD_Set(unsigned char kkk)
{
unsigned char k,Temp,Temp1;
k=kkk;
switch(L_FLAG1)
{
case 2:
switch(L_FLAG2)
{
case 1:
Temp=Set_LD_Value%100; //取低两位
Set_LD_Value=k*100+Temp;
L_FLAG2=2;
break; //case 1
case 2:
Temp=Set_LD_Value%100; //取低两位
Temp=Temp%10; //取个位
Temp1=Set_LD_Value/100; //取百位
Set_LD_Value=Temp1*100+k*10+Temp;
L_FLAG2=3;
break; //case 2
case 3:
Temp=Set_LD_Value%100; //取低两位
Temp=Temp/10; //取十位
Temp1=Set_LD_Value/100; //取百位
Set_LD_Value=Temp1*100+Temp*10+k;
L_FLAG2=1;
break;
}
break;
case 3:
break;
case 4:
break;
}
}
//******************************************
void XG_PID_Set(unsigned char kkk)
{
unsigned char k;
k=kkk;
switch(PID_Change_Flag1)
{
case 1:
LD_PID.Proportion=P_I_D_SUB1(LD_PID.Proportion,k);
break;
case 2:
LD_PID.Integral=P_I_D_SUB1(LD_PID.Integral,k);
break;
case 3:
LD_PID.Derivative=P_I_D_SUB1(LD_PID.Derivative,k);
break;
case 4:
LDPID_MAX=P_I_D_SUB2(LDPID_MAX,k);
break;
case 5:
WD_PID.Proportion=P_I_D_SUB1(WD_PID.Proportion,k);
break;
case 6:
WD_PID.Integral=P_I_D_SUB1(WD_PID.Integral,k);
break;
case 7:
WD_PID.Derivative=P_I_D_SUB1(WD_PID.Derivative,k);
break;
case 8:
WDPID_MAX=P_I_D_SUB2(WDPID_MAX,k);
break;
}
}
//******************************************
unsigned char P_I_D_SUB1(unsigned char XX,unsigned char k)
{
unsigned char Change_TEMP,Temp,Temp1;
switch(PID_Change_Flag2)
{
case 1:
Temp=XX %100; //取低两位
if(k<3)
{
Change_TEMP=k*100+Temp;
PID_Change_Flag2=2;
}
break;
case 2:
Temp=XX%10; //取个位
Temp1=XX/100; //取百位
Change_TEMP=Temp1*100+k*10+Temp;
PID_Change_Flag2=3;
break;
case 3:
Temp=XX/10; //取高两位
Change_TEMP=Temp*10+k;
break;
}
return Change_TEMP;
}
//******************************************
unsigned int P_I_D_SUB2(unsigned int XX,unsigned char k)
{
unsigned int Change_TEMP;
unsigned char Temp,Temp1;
switch(PID_Change_Flag2)
{
case 1:
Temp=XX%1000; //
Change_TEMP=k*1000+Temp;
PID_Change_Flag2=2;
break;
case 2:
Temp=XX/1000; //
Temp1=XX%100; //
Change_TEMP=Temp*1000+k*100+Temp1;
PID_Change_Flag2=3;
break;
case 3:
Temp=XX/100; //
Temp1=XX%10; //
Change_TEMP=Temp*100+k*10+Temp1;
PID_Change_Flag2=4;
break;
case 4:
Temp=XX/100; //
Temp1=(XX%100)/10; //
Change_TEMP=Temp*100+Temp1*10+k;
}
return Change_TEMP;
}
//******************************************
void XG_CON_Set(unsigned char kkk)
{
unsigned char k,Temp,Temp1;
k=kkk;
switch(Set_Change_Flag1)
{
case 1:
if(k<10)
{
switch(Set_Change_Flag2)
{
case 1:
Temp=Set_LD_Value%100; //取低两位
Set_LD_Value=k*100+Temp;
Set_Change_Flag2=2;
break; //case 1
case 2:
Temp=Set_LD_Value%100; //取低两位
Temp=Temp%10; //取个位
Temp1=Set_LD_Value/100; //取百位
Set_LD_Value=Temp1*100+k*10+Temp;
Set_Change_Flag2=3;
break; //case 2
case 3:
Temp=Set_LD_Value%100; //取低两位
Temp=Temp/10; //取十位
Temp1=Set_LD_Value/100; //取百位
Set_LD_Value=Temp1*100+Temp*10+k;
break;
}
}
break;
case 2:
if(k<10)
{
switch(Set_Change_Flag2)
{
case 1:
Temp=Set_LiuLiang_Value%1000;
Set_LiuLiang_Value=k*1000+Temp;
if(Set_LiuLiang_Value>1280) Set_LiuLiang_Value=1280;
Set_Change_Flag2=2;
break; //
case 2:
Temp=Set_LiuLiang_Value/1000;
Temp1=Set_LiuLiang_Value%100;
Set_LiuLiang_Value=Temp*1000+k*100+Temp1;
if(Set_LiuLiang_Value>1280) Set_LiuLiang_Value=1280;
Set_Change_Flag2=3;
break; //
case 3:
Temp=Set_LiuLiang_Value/100; //
Temp1=Set_LiuLiang_Value%10; //
Set_LiuLiang_Value=Temp*100+k*10+Temp1;
if(Set_LiuLiang_Value>1280) Set_LiuLiang_Value=1280;
Set_Change_Flag2=4;
break;
case 4:
Temp=Set_LiuLiang_Value/100; //
Temp1=(Set_LiuLiang_Value%100)/10; //
Set_LiuLiang_Value=Temp*100+Temp1*10+k;
if(Set_LiuLiang_Value>1280) Set_LiuLiang_Value=1280;
}
}
break;
case 3:
if(k<10)
{
switch(Set_Change_Flag2)
{
case 1:
Temp=Set_WenDu_Value%10;
Set_WenDu_Value=k*10+Temp;
if(Set_WenDu_Value>40) Set_WenDu_Value=40;
if(Set_WenDu_Value<DQ_WenDu_Value) Set_WenDu_Value=(unsigned char)DQ_WenDu_Value;
Set_Change_Flag2=2;
break; //
case 2:
Temp=Set_WenDu_Value/10;
Set_WenDu_Value=Temp*10+k;
if(Set_WenDu_Value>40) Set_WenDu_Value=40;
if(Set_WenDu_Value<DQ_WenDu_Value) Set_WenDu_Value=(unsigned char)DQ_WenDu_Value;
break; //
}
}
break;
case 4:
switch(Set_ShiJian_MODE)
{
case 1:
if(k==11)
{
Set_ShiJian_MODE=2;
}
else
{
switch(Set_Change_Flag2)
{
case 1:
Temp=Set_ShiJian_Value%10;
Set_ShiJian_Value=k*10+Temp;
if(Set_ShiJian_Value>10) Set_ShiJian_Value=10;
Set_Change_Flag2=2;
break; //
case 2:
Temp=Set_ShiJian_Value/10;
Set_ShiJian_Value=Temp*10+k;
if(Set_ShiJian_Value>10) Set_ShiJian_Value=10;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -