51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决?

具体要求是:按两下按键,灯亮;按两下按键,灯灭;求一个最简练的C语言程序完成此功能。... 具体要求是:按两下按键,灯亮;按两下按键,灯灭; 求一个最简练的C语言程序完成此功能。 展开

#include<reg52.h>
#define
uint
unsigned
int
sbit
LED
=
P1^0;
sbit
KEY1
=
P1^2;
void
delay(uint);
void
main(void)
{
LED
=
1;
//初始化LED熄灭
KEY1
=
1;
//赋值KEY1高电平
while(1)
{
if(!KEY1)
//检测到按键按下
{
LED
=
~LED;
/*LED取反,此时LED
=
0,灯亮。当松手时,KEY1
=
1,不满足if语句不
进入循环,LED继续保持当前状态即LED
=
0,如果再次按下按键,此时检测到KEY1
=
0,进入循
环,LED取反得到LED
=
0,灯亮。*/
delay(500);
/*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/
}
}
}
void
delay(uint
z)
//延时函数
{
uint
x,
y;
for(x=85;
x>0;
x--)
for(y=z;
y>0;
y--);
}
可下载到单片机验证。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网