单片机at89c51,实现按下k1,led1亮,按下k2,led2灯亮,

如果led1亮时按下k2,led1灭。如果led2灯亮时,按下k1,led2灭。求详细程序

第1个回答  2018-12-26
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P1^1;
sbit key2=P1^2;
sbit led1=P2^1;
sbit led1=P2^2;
/*【根据硬件设置端口】*/
void delayms(uint);
void delayms(uint xms)
{
uint i ,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);

}
void main()
{
while(1)
{
if(key1==0)
{ delayms(10);
if(key1==0)
{
led1=0;
if(led2==0)

{

led2=1;

}

}

}
/*-检测按钮1-*/
if(key2==0)
{ delayms(10);
if(key2==0)
{
led2=0;
if(led1==0)

{

led1=1;

}

}

}
/*检测按钮2*/
}
}本回答被网友采纳
第2个回答  2018-12-26
想干嘛?
第3个回答  2018-12-26
可以
第4个回答  2018-12-26
无聊
第5个回答  2018-12-26
这是干嘛呢