新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
让蜂鸣器发出两种不同的声调很容易,只要给蜂鸣器的控制信号发送不同频率的脉冲就可以实现了,以下以延时方式来做。
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、成都网站建设、外贸网站建设、网站策划、网页设计、域名与空间、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
#includereg51.h
#define
uchar
unsigned
char
#define
uint
unsigned
int
sbit
SPK=P1^0;
sbit
K1=P1^7;
//发声函数
void
Alarm(uchar
t)
{
uchari,j;
for(i=0;i200;i++)
{
SPK=~SPK;
for(j=0;jt;j++);
//由参数t行成不同的频率
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
1、无源蜂鸣器,需要外部提供脉冲信号才会发声,且声音会随脉冲频率变化而变化。而有源蜂鸣器内部有振荡器,所以只需要提供电压(高电平)就能发声,它们的原理不同。
2、例如定义 一个IO连接蜂鸣器。比如,sbit fmq=P1^0; 再来个500US延时函数。
void beep() //所以会产生1KHZ频率声音
{
fmq=0;
delay500us();
fmq=1;
delay500us();
}
两个声音函数sound(),nosound()和延迟函数delay()由函数库
提供。
函数名:
sound
功
能:
以指定频率打开PC扬声器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}