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

📄 keyscan.c

📁 本程序是关于按键服务程序
💻 C
📖 第 1 页 / 共 4 页
字号:
    {
        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 + -