用一个按键控制蜂鸣器开关
以下是c51代码的一部分,目的是让有源蜂鸣器在按键key5按下后改变状态(响或不响),但执行结果是只想一声过后蜂鸣器关闭,按键无作用。错在哪里了啊~~~求大侠指导bitl...
以下是c51代码的一部分,目的是让有源蜂鸣器在按键key5按下后改变状态(响或不响),但执行结果是只想一声过后蜂鸣器关闭,按键无作用。错在哪里了啊~~~求大侠指导
bit load=1; //按键按下未被处理
……
if(key5==0); //如果按下key5
{
for(i=0;i<20;i++) //延时并且不影响led数码管显示
{
delay(1);
display(d); //数码管显示,与蜂鸣器无关
}
if(load) //如果按键按下未被处理
{
spk=!spk;
load=0;
}
else load=1;
} 展开
bit load=1; //按键按下未被处理
……
if(key5==0); //如果按下key5
{
for(i=0;i<20;i++) //延时并且不影响led数码管显示
{
delay(1);
display(d); //数码管显示,与蜂鸣器无关
}
if(load) //如果按键按下未被处理
{
spk=!spk;
load=0;
}
else load=1;
} 展开
2018-09-20
展开全部
#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灯则点亮
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(load) //如果按键按下未被处理
{
spk=!spk;
load=0;
}
else load=1;
}
这一部分很奇怪啊,if里面的条件是什么啊,还是应该写key5==0这个啊?
我写了一个
if(key==0) //按键按下
{
beep=0; //蜂鸣器响,我的蜂鸣器负极是直接接在io口上的
}
else
beep=1;
{
spk=!spk;
load=0;
}
else load=1;
}
这一部分很奇怪啊,if里面的条件是什么啊,还是应该写key5==0这个啊?
我写了一个
if(key==0) //按键按下
{
beep=0; //蜂鸣器响,我的蜂鸣器负极是直接接在io口上的
}
else
beep=1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写这个 太麻烦了 没必要那么多循环的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询