标题:
新人简单问题求教
[打印本页]
作者:
15997987060
时间:
2016-8-24 11:17
标题:
新人简单问题求教
这是个按键LED灯亮的程序,为什么按了之后立即灭了,有什么办法让按一下一直亮,直到按下另一个键
#include <reg51.h>
//定义两个按键 key1,key2
sbit key1=P3^4;
sbit key2=P3^5;
//定义两个灯led1,led2
sbit led1=P1^0;
sbit led2=P1^1;
void mian()
{
if (key1==0) //按键1按下
{
led1=0;
}
if (key2==0) //按键2按下
{
led2=0;
}
}
作者:
15997987060
时间:
2016-8-24 11:23
还有就是main主函数是按一次键次执行一次的吗,如果不是,为什么去掉上面的while(1),程序也正常运行,按一下亮一下。。。把我搞晕了
作者:
浅水初探
时间:
2016-8-24 13:41
/定义两个按键 key1,key2
sbit key1=P3^4;
sbit key2=P3^5;
//定义两个灯led1,led2
sbit led1=P1^0;
sbit led2=P1^1;
void mian()
{
if (key1==0)
delay(5)
if (key1==0) //按键1按下
{
led1=0;
}
while(!key1);
delay(5);
while(!key1);
if (key2==0)
delay(5)
if (key1==0) //按键1按下
{
led2=0;
}
while(!key1);
delay(5);
while(!key1);
作者:
luoluoluo136
时间:
2016-8-24 17:22
15997987060 发表于 2016-8-24 11:23
还有就是main主函数是按一次键次执行一次的吗,如果不是,为什么去掉上面的while(1),程序也正常运行,按一 ...
main函数可以看做一个死循环,但这是不符合标准的,我们一般都要用上一个while(1),并不是按一次键执行一次,而是这个函数一直在循环执行。。。。
作者:
15997987060
时间:
2016-8-24 18:24
delay是延时5秒吗
作者:
wgrren
时间:
2016-8-24 21:43
描述不够清晰
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1