单片机驱动蜂鸣器为什么有杂音?
时间:10-02
整理:3721RD
点击:
这是我的电路的一部分,为什么发声会不清晰呢?

测试程序如下:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit SPK=P2^7;
void alarm(uchar t) //产生200个周期为2t的波形
{
uchar i,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++)
;
}
}
void delayms(uint xms) //延时110*x
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--)
;
}
void main()
{
uchar t;
delayms(11*50);
SPK=0;
for(t=20;t>10;t--)
{
alarm(90);
delayms(t*30);
}
while(1)
{
alarm(90);
delayms(100);
}
}

测试程序如下:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit SPK=P2^7;
void alarm(uchar t) //产生200个周期为2t的波形
{
uchar i,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++)
;
}
}
void delayms(uint xms) //延时110*x
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--)
;
}
void main()
{
uchar t;
delayms(11*50);
SPK=0;
for(t=20;t>10;t--)
{
alarm(90);
delayms(t*30);
}
while(1)
{
alarm(90);
delayms(100);
}
}
R3的作用是不是相当于上拉电阻啊
我的是做的基于单片机的电子时钟的整点报时功能,蜂鸣器响一声后不能完全关闭,有杂音,不知道怎么回事
