蜂鸣器一直在叫,不受程序控制

2019-03-24 17:35发布

代码如下:
#include<reg52.h>
#define uchar unsigned char

sfr LED=P1;           //发光二极管
sbit BUZZ=P3^7;   //蜂鸣器
sbit SW=P3^4;     //按钮开关

void main()
{
   uchar i,j,k;
   uchar a=0xff;
   for(i=8;i>0;i--)
   {
      while(SW);
      while(!SW);
      a<<=1;
      for(j=0;j<100;j++)
      {
         BUZZ=1;
         for(k=12;k>0;k--);
         BUZZ=0;
         for(k=12;k>0;k--);       
       }
       LED=a;
    }
}

按理说按下并放开按钮,蜂鸣器叫一声,增加一个亮灯,但运行的结果,灯正常,而蜂鸣器一直在叫。为什么?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
眼大5子
1楼-- · 2019-03-25 16:39
quackonchen 发表于 2016-4-28 09:54
刚刚还想问lz的蜂鸣器是有源还是无源的~

看你楼上的回复,说明是用的有源蜂鸣器而楼主当成了无源的
quackonchen
2楼-- · 2019-03-25 20:04
眼大5子 发表于 2016-4-28 10:05
看你楼上的回复,说明是用的有源蜂鸣器而楼主当成了无源的

我知道啊,所以才说“刚刚还想问”
喵爱小鱼鱼
3楼-- · 2019-03-26 02:00
 精彩回答 2  元偷偷看……
liuyimao485812
4楼-- · 2019-03-26 06:40
楼主的蜂鸣器前面没有加驱动三极管吧,应该在前面加驱动,这样就好控制了。
d1p8
5楼-- · 2019-03-26 07:44
我碰到过,旁边直接短路,软件上没问题的

一周热门 更多>