📄 keyscan.c
字号:
{
if(pw_cnt<2)
{
smkdly_tmp[pw_cnt]--;
if(smkdly_tmp[pw_cnt]==0xff)
smkdly_tmp[pw_cnt]=9;
}
}
if(scr_id==16)
{
if(temper_cnt==0)
{
if(pw_cnt<2)
{
temper0_tmp[pw_cnt]--;
if(temper0_tmp[pw_cnt]==0xff)
temper0_tmp[pw_cnt]=9;
}
}
if(temper_cnt==1)
{
if(pw_cnt<2)
{
temper1_tmp[pw_cnt]--;
if(temper1_tmp[pw_cnt]==0xff)
temper1_tmp[pw_cnt]=9;
}
}
if(temper_cnt==2)
{
if(pw_cnt<2)
{
temper2_tmp[pw_cnt]--;
if(temper2_tmp[pw_cnt]==0xff)
temper2_tmp[pw_cnt]=9;
}
}
if(temper_cnt==3)
{
if(pw_cnt<2)
{
temper3_tmp[pw_cnt]--;
if(temper3_tmp[pw_cnt]==0xff)
temper3_tmp[pw_cnt]=9;
}
}
if(temper_cnt==4)
{
if(pw_cnt<3)
{
temper4_tmp[pw_cnt]--;
if(temper4_tmp[pw_cnt]==0xff)
temper4_tmp[pw_cnt]=9;
}
}
}
if(scr_id==17)
{
if(air_cnt==0)
{
if(pw_cnt<3)
{
air0_tmp[pw_cnt]--;
if(air0_tmp[pw_cnt]==0xff)
air0_tmp[pw_cnt]=9;
}
}
if(air_cnt==1)
{
if(pw_cnt<4)
{
air1_tmp[pw_cnt]--;
if(air1_tmp[pw_cnt]==0xff)
air1_tmp[pw_cnt]=9;
}
}
}
if(scr_id==18)
{
if(amper_cnt==0)
{
if(pw_cnt<3)
{
amper0_tmp[pw_cnt]--;
if(amper0_tmp[pw_cnt]==0xff)
amper0_tmp[pw_cnt]=9;
}
}
if(amper_cnt==1)
{
if(pw_cnt<3)
{
amper1_tmp[pw_cnt]--;
if(amper1_tmp[pw_cnt]==0xff)
amper1_tmp[pw_cnt]=9;
}
}
if(amper_cnt==2)
{
if(pw_cnt<3)
{
amper2_tmp[pw_cnt]--;
if(amper2_tmp[pw_cnt]==0xff)
amper2_tmp[pw_cnt]=9;
}
}
if(amper_cnt==3)
{
if(pw_cnt<3)
{
amper3_tmp[pw_cnt]--;
if(amper3_tmp[pw_cnt]==0xff)
amper3_tmp[pw_cnt]=9;
}
}
if(amper_cnt==4)
{
if(pw_cnt<3)
{
amper4_tmp[pw_cnt]--;
if(amper4_tmp[pw_cnt]==0xff)
amper4_tmp[pw_cnt]=9;
}
}
}
if(scr_id==19)
{
if(smoke_cnt==0)
{
if(pw_cnt<4)
{
smoke0_tmp[pw_cnt]--;
if(smoke0_tmp[pw_cnt]=='-')
smoke0_tmp[pw_cnt]=9;
}
}
if(smoke_cnt==1)
{
if(pw_cnt<4)
{
smoke1_tmp[pw_cnt]--;
if(smoke1_tmp[pw_cnt]=='-')
smoke1_tmp[pw_cnt]=9;
}
}
}
}
/*
*函数介绍:
*输入参数:
*输出参数:
*返回值:
*/
void key_left(void)
{
unsigned char i;
unsigned int j;
/*------进入自检界面--------*/
if(scr_id==0)
{
for(j=0;j<60000;j++)
{
if((kyp&0X1F)!=0x1e)
return;
delay(6);
}
scr_id=20;
pw_cnt=0;
return;
}
if(scr_id==1)
{
sle_2hz=f2hz;
wr_flag=0;
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==7)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==8)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==9)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==10)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==11)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==12)
{
wr_flag=0;
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==13)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==14)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==15)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(scr_id==16)//看看只用一条指令是否可以
{
if(temper_cnt==0)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(temper_cnt==1)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(temper_cnt==2)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(temper_cnt==3)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(temper_cnt==4)
{
if(pw_cnt!=0)
pw_cnt--;
}
}
/*---------------air---------------*/
if(scr_id==17)
{
if(air_cnt==0)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(air_cnt==1)
{
if(pw_cnt!=0)
pw_cnt--;
}
}
/*--------------amper----------------*/
if(scr_id==18)
{
if(amper_cnt==0)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(amper_cnt==1)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(amper_cnt==2)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(amper_cnt==3)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(amper_cnt==4)
{
if(pw_cnt!=0)
pw_cnt--;
}
}
/*----------------smoke--------------*/
if(scr_id==19)
{
if(smoke_cnt==0)
{
if(pw_cnt!=0)
pw_cnt--;
}
if(smoke_cnt==0)
{
if(pw_cnt!=0)
pw_cnt--;
}
}
/*---------------check------------------*/
if(scr_id==20)
{
if(pw_cnt!=0)
pw_cnt--;
}
}
/*
*函数介绍:
*输入参数:
*输出参数:
*返回值:
*/
void key_right(void)
{
/*-------------关闭蜂鸣器-------------*/
if (scr_id==0)
{
if (alam_flag==0)
{
alam_flag = 1;
return;
}
}
/*-------------进入系统密码-----------*/
if (scr_id==1)
{
sle_2hz=f2hz;
wr_flag=0;
if(pw_cnt<6)
pw_cnt++;//停在确认位,pw_cnt=6
}
/*---------------温度-----------------*/
if(scr_id==7)
{
if(pw_cnt<4)
pw_cnt++;//停在[保存]位,pw_cnt=3
//停在[取消]位,pw_cnt=4
}
/*----------------气体-----------------*/
if(scr_id==8)
{
if(pw_cnt<5)
pw_cnt++;//停在[保存]位,pw_cnt=4
//停在[取消]位,pw_cnt=5
}
/*----------------漏电------------------*/
if(scr_id==9)
{
if(pw_cnt<5)
pw_cnt++;//停在[保存]位,pw_cnt=4
//停在[取消]位,pw_cnt=5
}
/*---------------烟雾-------------------*/
if(scr_id==10)
{
if(pw_cnt<5)
pw_cnt++;//停在[保存]位,pw_cnt=4
//停在[取消]位,pw_cnt=5
}
/*---------------密码设置---------------*/
if(scr_id==11)
{
wr_flag=0;
if(pw_cnt<7)
pw_cnt++;//停在[保存]位,pw_cnt=6
//停在[取消]位,pw_cnt=7
}
/*---------------延时参数---------------*/
if(scr_id==12)
{
if(pw_cnt<3)
pw_cnt++;//停在[保存]位,pw_cnt=2
//停在[取消]位,pw_cnt=3
}
if(scr_id==13)
{
if(pw_cnt<5)
pw_cnt++;//停在[保存]位,pw_cnt=4
//停在[取消]位,pw_cnt=5
}
if(scr_id==14)
{
if(pw_cnt<3)
pw_cnt++;//停在[保存]位,pw_cnt=2
//停在[取消]位,pw_cnt=3
}
if(scr_id==15)
{
if(pw_cnt<3)
pw_cnt++;//停在[保存]位,pw_cnt=2
//停在[取消]位,pw_cnt=3
}
/*----------------温度校正--------------*/
if(scr_id==16)
{
if(temper_cnt==0)
{
if(pw_cnt<3)
pw_cnt++;
}
if(temper_cnt==1)
{
if(pw_cnt<3)
pw_cnt++;
}
if(temper_cnt==2)
{
if(pw_cnt<3)
pw_cnt++;
}
if(temper_cnt==3)
{
if(pw_cnt<3)
pw_cnt++;
}
if(temper_cnt==4)
{
if(pw_cnt<4)
pw_cnt++;
}
}
/*---------------气体校正---------------*/
if(scr_id==17)
{
if(air_cnt==0)
{
if(pw_cnt<4)
pw_cnt++;
}
if(air_cnt==1)
{
if(pw_cnt<5)
pw_cnt++;
}
}
/*--------------漏电校正----------------*/
if(scr_id==18)
{
if(amper_cnt==0)
{
if(pw_cnt<4)
pw_cnt++;
}
if(amper_cnt==1)
{
if(pw_cnt<4)
pw_cnt++;
}
if(amper_cnt==2)
{
if(pw_cnt<4)
pw_cnt++;
}
if(amper_cnt==3)
{
if(pw_cnt<4)
pw_cnt++;
}
if(amper_cnt==4)
{
if(pw_cnt<4)
pw_cnt++;
}
}
/*----------------烟雾校正--------------*/
if(scr_id==19)
{
if(smoke_cnt==0)
{
if(pw_cnt<5)
pw_cnt++;
}
if(smoke_cnt==0)
{
if(pw_cnt<5)
pw_cnt++;
}
}
/*-----------------自检-----------------*/
if(scr_id==20)
{
if(pw_cnt<1)
pw_cnt++;//停在[运行]位,pw_cnt=0
//停在[取消]位,pw_cnt=1
}
}
/*
*函数介绍:
*输入参数:
*输出参数:
*返回值:
*/
void key_enter(void)
{
unsigned char i,i1;
unsigned char z,z1,z2,z3,z4;
unsigned char x,x1,x2,x3,x4;
unsigned char k,k1,k2,k3,k4;
unsigned int j;
/*----------------------主界面-----------------*/
if(scr_id==0)
{
//i=kyp&0X3F;
for(j=0;j<60000;j++)//进入密码界面
{
if((kyp&0X1F)!=0x0f)
return;
delay(6);
}
scr_id=1;
pw_cnt=0;
for(i=0;i<6;i++)
pw_tmp[i]=0;
return;
}
/*---------------------密码界面---------------------------------*/
if(scr_id==1)
{
wr_flag=0;
//如果密码错误,i=100+1,先运算再加1
for(i=0;i<6;i++)
{
if(pw_tmp[i]!=pw_rd[i])
i=100;
}
//同样可以用123456进入菜单界面
if((pw_tmp[0]==1)&&(pw_tmp[1]==1)&&(pw_tmp[2]==1)&&(pw_tmp[3]==1)&&(pw_tmp[4]==1)&&(pw_tmp[5]==1))
i=1;
if(i==101)
{
spk=1;
failure2();
delay(60000);
delay(60000);
delay(60000);
spk=0;
scr_id=0;
}
else
{
scr_id=2;
menu_id=0;
}
return;
}
/*-------------------系统菜单1--------------*/
if (scr_id == 2)
{
pw_cnt=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -