小白在做Proteus仿真時,蜂鳴器怎么也不響,求各位幫忙解決下


void xianshi()
{
TR0=0;
num=0;
sp=1;
delay(100);
sp=0;
while(1)
{
for(a=0;a<4;a++)
{
delay(5);
P2=table0[a];
P0=table[display[a]];
}
display[0]=num/10;
display[1]=num%10;
display[2]=num1/10;
display[3]=num1%10;
if(k4==0)
{
num=num2;
num1=0;
TR0=1;
l1=1;
l2=1;
return;
}
}
}
void main()
{
l1=1;
l2=1;
sp=0;
x=0;
num=num2=30;
while(1)
{
if(x==1)
{
delay(5);
TR0=1;
while(1)
{
keyboad();
if(k4==0)
{
l1=1;
l2=1;
delay(5);
num=num2;
TR0=1;
}
}
}
else
{
for(a=0;a<4;a++)
{
delay(5);
P2=table0[a];
P0=table[display[a]];
}
display[0]=num/10;
display[1]=num%10;
display[2]=num1/10;
display[3]=num1%10;
init();
}
}
}
void time0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
count++;
if(k4==0)
{
num=num2;
TR0=1;
num1=0;
return;
}
for(a=0;a<4;a++)
{
delay(10);
P2=table0[a];
P0=table[display[a]];
}
display[0]=num/10;
display[1]=num%10;
display[2]=num1/10;
display[3]=num1%10;
if(count==100)
{
count=0;
num--;
if(num<5)
{
l1=~l1;
sp=1;
delay(200);
sp=0;
if(num==0)
{
l1=0;
sp=0;delay(200);sp=1;
delay(100);
sp=0;delay(200);sp=1;
delay(100);
sp=0;delay(200);sp=1;
}
if(num==0)
{
while(1)
{
xianshi();
if(k4==0)
{
l1=1;
l2=1;
num=num2;
TR0=1;
return;
}
}
}
}
}
x2++;
if(x2==4)
{
x2=0;
}
P3=table2[x2]; }
uj5u.com熱心網友回復:
你看下蜂鳴器一頭的那個三角符號的網路名看是地線還是電源uj5u.com熱心網友回復:
// 有源的還是無源的蜂鳴器?// 如果是無源蜂鳴器,需要自己產生一個2K左右的脈沖作用于蜂鳴器正腳
uj5u.com熱心網友回復:
程式里面也沒有看到你驅動了P14這個IO啊。這個驅動應該在3K左右的頻率合適,當然2K也是可以的。蜂鳴器的特征頻率一般是2K或者4K的,所以用3K左右可以兼顧二種蜂鳴器。uj5u.com熱心網友回復:
1khz 以上頻率輸入轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/130757.html
標籤:單片機/工控
上一篇:如何使數碼管閃爍
下一篇:超聲波尋物
