标题:
帮忙看一下这个程序能不能运行
[打印本页]
作者:
至今回忆
时间:
2017-6-1 23:10
标题:
帮忙看一下这个程序能不能运行
void main()
{
key=1;
key=P1^0;
while(key==1) //按键按下,LED亮
{
LED = 1;
}
while(key==0) //按键松开,LED灭
{
LED = 0;
}
}
作者:
HC6800-ES-V2.0
时间:
2017-6-2 08:06
按键这种输入设备,有一个专门的控制要求——消抖。
你的程序中看不到这些,可能用起来有问题。
现像应该是:按下灯就亮,放天灯就灭。不知道是不是你想的结果。
作者:
ahshmj
时间:
2017-6-2 08:51
#include <at89x52.h>
sbit LED = P1^1;
sbit key = P1^0;
void main()
{
while(1)
{
key=1;
key=P1^0;
while(key==1) //按键按下,LED亮
{
LED = 1;
}
while(key==0) //按键松开,LED灭
{
LED = 0;
}
}
}
注意理解一下红字。
作者:
fefen0
时间:
2017-6-2 08:57
缺少头文件。
作者:
cjjcjj1
时间:
2017-6-2 09:11
提示:
作者被禁止或删除 内容自动屏蔽
作者:
yzwzfyz
时间:
2017-6-2 16:30
有风险,输入的端口当预置1,而后再采样。
作者:
liushuiwuqing
时间:
2017-6-2 19:15
程序不完整,看程序是51,不过程序有误
作者:
爆沙哥
时间:
2017-6-2 19:44
老哥,帮你试了 运行不了
作者:
fly1
时间:
2017-6-2 19:57
按键这种输入设备,有一个专门的控制要求——消抖。 你的程序中看不到这些,可能用起来有问题。 现像应该是:按下灯就亮,放天灯就灭。不知道是不是你想的结果
作者:
毛毛虫呀
时间:
2017-6-2 20:14
可以,已经经过调试
作者:
HWH
时间:
2017-6-2 21:04
兄弟,帮你试了 也运行不了
作者:
郭养彬
时间:
2017-6-2 21:13
不能运行
作者:
lurong1988
时间:
2017-6-2 21:52
不可以运行。
作者:
dzbj
时间:
2017-6-2 23:39
本帖最后由 dzbj 于 2017-6-2 23:52 编辑
这样不好的
一个是没有主循环 程序走一下就完事了 然后就什么反应都没了 51虽然很老但也比人反应快多了 ns级别的 基本上就是你什么都没看见 光看见死机一样的状态
另一个是你这按键没防抖 再好的开关也需要4~7ms的防抖 开关触点本身就有抖动 就是说单片机可以捕获开关的所有抖动并反应出来 即便能运行 也应该是按下后led无规律闪烁
作者:
black51
时间:
2017-6-3 00:10
不完整啊,
作者:
black51
时间:
2017-6-3 00:12
你端口没有声明啊
作者:
12563308661
时间:
2017-6-3 10:16
不能运行
作者:
123yuxiao
时间:
2017-6-3 10:50
你可以试试啊
作者:
yansaie
时间:
2017-6-3 11:08
你这个程序要加头文件 还有必须要有一个while循环 不然就只跑一次就不会跑了 等于就是你这个程序是只在开机的一瞬间有用
作者:
jie951
时间:
2017-6-3 18:19
程序不完整,
作者:
jie951
时间:
2017-6-3 19:13
按下灯就亮,放开灯就灭
作者:
259654
时间:
2017-6-3 19:34
不能运行
作者:
3760609865
时间:
2017-6-3 22:08
用不了,你的程序位定义都错了,而且头文件也沒有。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1