永发信息网

用一个按键控制蜂鸣器开关

答案:4  悬赏:0  手机版
解决时间 2021-12-03 00:45
  • 提问者网友:战魂
  • 2021-12-02 08:08
用一个按键控制蜂鸣器开关
最佳答案
  • 五星知识达人网友:酒安江南
  • 2021-12-02 08:22
bit load=1; //按键按下未被处理
……
if(key5==0); //如果按下key5
{
for(i=0;i<20;i++) //延时并且不影响led数码管显示,这是软件去抖
{
delay(1);
display(d); //数码管显示,与蜂鸣器无关
load=0;//你应该在这里加一句表示按键按下且未被处理
}
if(load) //如果按键按下未被处理
{
spk=!spk;
load=0;
}
else load=1;
}
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-12-02 11:03
写这个 太麻烦了 没必要那么多循环的
  • 2楼网友:鸠书
  • 2021-12-02 10:18
if(load) //如果按键按下未被处理
{
spk=!spk;
load=0;
}
else load=1;
}
这一部分很奇怪啊,if里面的条件是什么啊,还是应该写key5==0这个啊?
我写了一个
if(key==0) //按键按下

{
beep=0; //蜂鸣器响,我的蜂鸣器负极是直接接在io口上的
}
else
beep=1;
  • 3楼网友:零点过十分
  • 2021-12-02 09:47
#include sbit KEY=P1^0; sbit LED=P2^0; void main(void) { if(KEY==1) LED=0; if(KEY==0) LED=1; while(1); } 如果KEY==1;LED灯则灭,KEY==0;LED灯则点亮
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯