c新手吧 关注:8,586贴子:48,089
  • 4回复贴,共1

蜂鸣器为什么不想,程序没错误啊,求大神帮忙

只看楼主收藏回复


#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^6;
sbit K1=P1^7;
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
int main()
{
void print_led();
void Alarm(uchar t);
print_led();
SPK=0;
while (1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
void print_led()
{
while(1)
{
LED1=S1;
LED2=S2;
LED3=S3;
}
}
//发声函数
void Alarm(uchar t)
{
uchar i,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++);//由参数t行成不同的频率
}
}


IP属地:江苏1楼2016-01-23 20:22回复
    你进错吧了吧


    IP属地:江苏来自Android客户端2楼2016-01-24 10:20
    回复
      这里是新手吧


      来自iPhone客户端3楼2016-01-24 18:37
      回复
        单片机。。。搞不懂咧


        IP属地:河北来自手机贴吧4楼2016-01-28 13:24
        回复
          print_led()里死循环了,根本出不来。把里面的while循环去掉,然后这个函数放到下面的那个while循环里面,这样就可以一直检查开关的高低电平来点亮灯,又能控制蜂鸣器。


          5楼2016-01-28 13:49
          回复