像下面if判断继电器的执行情况 这八种判断方法可以直接写在一个上if判断里么 请大神解释一下 谢谢
#include "reg52.h" ///本文件定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; ///声明和定义数据类型
typedef unsigned char u8;
sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit k5=P1^4;sbit k6=P1^5;sbit k7=P1^6;sbit k8=P1^7; //定义P10口是k1
sbit l1=P0^0;sbit l2=P0^1;sbit l3=P0^2;sbit l4=P0^3;sbit l5=P0^4;sbit l6=P0^5;sbit l7=P0^6;sbit l8=P0^7; //定义P00口是led
void delay(u16 i)
{
while(i--);
}
void keypros()
{
if(k1==0) ///执行1号继电器动作
{
delay(1000);
if(k1==0)
{
l1=~l1;
}
while(!k1);
}
if(k2==0) //执行2号继电器动作
{
delay(1000);
if(k2==0)
{
l2=~l2;
}
while(!k2);
}
if(k3==0) ///执行3号继电器动作
{
delay(1000);
if(k3==0)
{
l3=~l3;
}
while(!k3);
}
if(k4==0) //执行4号继电器动作
{
delay(1000);
if(k4==0)
{
l4=~l4;
}
while(!k4);
}
if(k5==0) ///执行5号继电器动作
{
delay(1000);
if(k5==0)
{
l5=~l5;
}
while(!k5);
}
if(k6==0) //执行6号继电器动作
{
delay(1000);
if(k6==0)
{
l6=~l6;
}
while(!k6);
}
if(k7==0) //执行7号继电器动作
{
delay(1000);
if(k7==0)
{
l7=~l7;
}
while(!k7);
}
if(k8==0) //执行8号继电器动作
{
delay(1000);
if(k8==0)
{
l8=~l8;
}
while(!k8);
}
}
void main()
{
l1=1;l2=1;l3=1;l4=1;l5=1;l6=1;l7=1;l8=1;
while(1)
{
keypros();
}
}