📄 key.c
字号:
else if(key_data==key_down)
{
if(Set_array_count<9) Set_array_count+=1;else Set_array_count=0;
}
else if(key_data==key_up)
{
if(Set_array_count>0) Set_array_count-=1;else Set_array_count=9;
}
else if(key_data==key_cancel)
{
ON_SET_FACE();return;
}
else if(key_data==key_sure)
{
Time_now[0] = Set_array[0]*10+Set_array[1];
Time_now[1] = Set_array[2]*10+Set_array[3];
Time_now[2] = Set_array[4]*10+Set_array[5];
Time_now[3] = Set_array[6]*10+Set_array[7];
Time_now[4] = Set_array[8]*10+Set_array[9];
if(Time_now[1]>12) Set_array_count = 2;
else if(Time_now[2]>31) Set_array_count = 4;
else if(Time_now[3]>23) Set_array_count = 6;
else if(Time_now[4]>59) Set_array_count = 8;
else{
NowTime_wr_data(Time_now);
ON_SET_FACE();
return;
}
}
for(x1=0; x1<10; x1++)
{
if(x1==Set_array_count)
write_number_black(lcdweizhi_x[x1],24*(x1/6)+12,Set_array[x1]);
else
write_number(lcdweizhi_x[x1],24*(x1/6)+12,Set_array[x1]);
}
break;
case 14:
if(key_data==key_cancel) {ON_1_face();return;}
else if(key_data==key_down)
{
if(Set_array_count<15) Set_array_count+=1;else Set_array_count=0;
}
else if(key_data==key_up)
{
if(Set_array_count>0) Set_array_count-=1;else Set_array_count=15;
}
else if(key_data==key_sure)
{
Set_array_count = 0;
write_number(60,48,30);
write_number(68,48,30);
write_number(76,48,30);
write_number(92,48,30);
write_number(95,48,30);
write_number(84,48,30);
if(Set_temp==0)
{
Set_temp = 1;
for(x1=0; x1<2; x1++)
write_word(x1*16,16,MoniShuru[x1+4],16,16); //开关
}
else
{
Set_temp = 0;
for(x1=0; x1<2; x1++)
write_word(x1*16,16,MoniShuru[x1],16,16); //模拟
}
}
write_number(80,16,(Set_array_count+1)/10);
write_number(88,16,(Set_array_count+1)%10);
if(Set_temp==0)
{
write_number(80,32,ADSam_Code[Set_array_count]/10);
write_number(88,32,ADSam_Code[Set_array_count]%10);
}
else if(Set_temp==1)
{
write_number(80,32,DISam_Code[Set_array_count]/10);
write_number(88,32,DISam_Code[Set_array_count]%10);
}
break;
case 15:
if(key_data==key_cancel) {ON_1_face(); return;}
else if(key_data==key_up&&Alarm_Sum!=0)
{
if(Set_array_count>1) Set_array_count-=1; else Set_array_count=Alarm_Sum;
}
else if(key_data==key_down&&Alarm_Sum!=0)
{
if(Set_array_count<Alarm_Sum) Set_array_count+=1;else Set_array_count=1;
}
write_number(60,48,30);
write_number(68,48,30);
write_number(76,48,30);
write_number(92,48,30);
write_number(95,48,30);
write_number(84,48,30);
if(Alarm_Now==Alarm_Sum) temp = Set_array_count;
else
{
if((Alarm_Now+Set_array_count)>Alarm_Sum) temp = (Alarm_Now+Set_array_count)-Alarm_Sum;
else temp = Alarm_Now+Set_array_count;
}
Disp_GaoJing(temp);
break;
case 16:
if(key_data==key_5) ON_EnterTongXunTime();
else if(key_data==key_6) ON_EnterUpDownZero();
else if(key_data==key_7) ON_EnterUpDownZero();
else if(key_data==key_8) ON_EnterUpDownZero();
else if(key_data==key_up) ON_SET_FACE();
else if(key_data==key_down) ON_SET_FACE3();
else if(key_data==key_cancel) ON_1_face();
break;
case 17:
if(key_data==key_cancel) ON_SET_FACE2();
else if(key_data==key_sure)
{
Time_interval = Set_temp;
II3WR(AT24C256,I2C_TongXunTime,Time_interval/256);
II3WR(AT24C256,I2C_TongXunTime+1,Time_interval%256);
ON_SET_FACE2();
}
else if(key_data<=key_9)
{
if(Set_temp<=6553)
{
if(Set_temp==6553&&key_data>key_5) return;
Set_temp = Set_temp * 10 + key_data;
if(Set_temp>=10000) write_number(40+0*8,23,Set_temp/10000);
else write_number(40+0*8,23,30);
if(Set_temp>=1000) write_number(40+1*8,23,Set_temp/1000%10);
else write_number(40+1*8,23,30);
if(Set_temp>=100) write_number(40+2*8,23,Set_temp/100%10);
else write_number(40+2*8,23,30);
if(Set_temp>=10) write_number(40+3*8,23,Set_temp/10%10);
else write_number(40+3*8,23,30);
write_number(40+4*8,23,Set_temp%10);
}
}
break;
case 18:
case 19:
case 20:
if(key_data==key_cancel) { ON_SET_FACE2();return; }
else if(key_data==key_up)
{
if(Set_array_count>0) Set_array_count -= 1;else Set_array_count=15;
Set_temp = 0;
if(Menu_ID==20) temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
Disp_updownzero(temp,Set_array_count+1);
return;
}
else if(key_data==key_down)
{
if(Set_array_count<15) Set_array_count += 1;else Set_array_count=0;
Set_temp = 0;
if(Menu_ID==20) temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
Disp_updownzero(temp,Set_array_count+1);
return;
}
else if(key_data<=key_9)
{
if(ADSam_Code[Set_array_count]>=32)
{
x1 = MoniCode[ADSam_Code[Set_array_count]-32];
if(Set_temp==0)
{
if(x1==2){if(key_data==key_0)Set_array[0]=25;else if(key_data==key_1)Set_array[0]=26;}
else Set_array[0]= key_data;
}
else Set_array[Set_temp] = key_data;
Set_temp+=1;
if(Set_temp==4) Set_temp = 5;
else if(Set_temp==6)Set_temp = 0;
write_word(101,40,DanWei[x1],16,16);
for(x1=0;x1<6;x1++)
write_number(weizhi[x1],40,Set_array[x1]);
write_number_black(weizhi[Set_temp],40,Set_array[Set_temp]);
}
else return;
}
else if(key_data==key_sure)
{
x1 = ADSam_Code[Set_array_count] ;
if(x1 >= 32)
{
x1 = MoniCode[x1];
if(x1==2) IP_data = 0;else IP_data = Set_array[0]*10000;
IP_data += (Set_array[1]*1000+Set_array[2]*100+Set_array[3]*10+Set_array[5]);
if(IP_data>65535) return;
temp = IP_data;
if(x1==2)//温度
{
if(Set_array[0]!=25) temp = temp + 400;else temp = 400 - temp;
}
if(key_data==8) temp = CountZero(x1,ADSam_Value[Set_array_count],temp,ADAlarm_para[2][Set_array_count]);
x1 = I2C_UP+32*(Menu_ID-18)+Set_array_count*2;
II3WR(AT24C256,x1,temp>>8);
II3WR(AT24C256,x1+1,temp&0x00ff);
ADAlarm_para[Menu_ID-18][Set_array_count] = temp;
if(Set_array_count<15) Set_array_count += 1;else Set_array_count=0;
Set_temp = 0;
if(Menu_ID==20) temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
Disp_updownzero(temp,Set_array_count+1);
}
}
break;
case 21:
if(key_data==key_9) Disp_KaHao();
//else if(key_data==key_0) Disp_QiTa();
else if(key_data==key_up) ON_SET_FACE2();
else if(key_data==key_cancel) ON_1_face();
break;
case 22:
if(key_data==key_cancel) {ON_SET_FACE3();return;}
else if(key_data==key_1) //添加
{
CardNo[Set_array_count][0] = 1;
CardNo[Set_array_count][1] = Set_array[0];
CardNo[Set_array_count][2] = Set_array[1];
CardNo[Set_array_count][3] = Set_array[2];
CardNo[Set_array_count][4] = Set_array[3];
for(x1=0; x1<5; x1++)
II3WR(AT24C256,I2C_Card+Set_array_count*5+x1,CardNo[Set_array_count][x1]);
}
else if(key_data==key_2)//删除
{
CardNo[Set_array_count][0] = 0;
II3WR(AT24C256,I2C_Card+Set_array_count*5,0);
}
else if(key_data==key_up)
{
if(Set_array_count>=1) Set_array_count -= 1;else Set_array_count = MaxCard-1;
}
else if(key_data==key_down)
{
if(Set_array_count<MaxCard-1)Set_array_count +=1;else Set_array_count=0;
}
else return;
Disp_CardNo(CardNo[Set_array_count],Set_array_count,0);
break;
case 23:
if(key_data==key_cancel) ON_SET_FACE3();
break;
}
}
/*********************************************************************************************************
* 函数名称:key_delay
*
* 功能描述:延时程序
*
* 说明:
*
********************************************************************************************************/
void key_delay(void)
{
uint k;
for(k = 0;k < 500; k++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -