|
两个按键控制LED亮灭实现了,照着哪个方式用一个按键控制LED发现只有按下按键一的时候LED亮,且一松手LED就灭了,不能实现常亮。也没有实现一个按键控制亮灭,求大神指点,附录为原理图,图片为实验板。
单片机源程序如下:
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
sbit key1=P3^4;
sbit key2=P3^5;
uchar flag_key1;
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
P3=0xff;
if(flag_key1==0)
{
if(key1==0)
{
delayms(10);
if(key1==0)
{
led1=0;
flag_key1=1;
while(!key1);
}
}
}
if(flag_key1==1)
{
if(key1==1)
{
delayms(10);
if(key1==1)
{
led1=~led1;
flag_key1=0;
while(!key1);
}
}
}
}
|
|