图片为原理图和实板下为单片机程序
#include <REGX52.H>
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit KEY1=P3^4;
sbit KEY2=P3^5;
uchar key_flag=0;
void delay_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--);
for(j=110;j>0;j--);
}
void BOX1()
{
LED1=0;
//LED3=0;
delay_ms(20);
LED2=1;
}
void BOX2()
{
LED2=0;
delay_ms(20);
LED1=1;
}
void main()
{
while(1)
{
if(key_flag==0)
{
if((KEY1==0)||(KEY2==0))
{
delay_ms(20);
if((KEY1==0)&&(KEY2==0))
{
BOX1();
delay_ms(20);
key_flag=1;
while(!KEY1);
while(!KEY2);
}
}
}
if(key_flag==1)
{
if(KEY2==0)
{
delay_ms(20);
if(KEY2==0)
{
BOX2();
delay_ms(20);
key_flag=0;
while(!KEY2);
}
}
}
}
}
|