怎么让蜂鸣器发出声音

怎么让蜂鸣器发出声音,第1张

蜂鸣器分为有源蜂鸣器无源蜂鸣器,发声方法不同。

有源蜂鸣器直接接上额定电源就可以连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能周期性地振动发声。电路应该选用有源蜂鸣器。

蜂鸣器不能够产生变化的声音,如果想判断风速,可以加一个LED灯,通过亮度来判断,不过这个方法也不准确,只能作为参考。

蜂鸣器发声原理。有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出。

扩展资料:

注意事项:蜂鸣器是不能用做矿石收音机的,因为,蜂鸣器内部有一个振荡电路,通上电源后就会驱动内部的一个微型喇叭发出蜂鸣声。蜂鸣器可不是一个单纯的小喇叭。另外,蜂鸣器有两种。一种是,内部自带振荡器的;一种是,需要外接一个振荡器的,也就是一个普通的微型喇叭。

对于不带振荡器的那种,也是不能用的,因为它的电阻一般为32欧姆左右,也有8欧或16欧的。这些都属于低阻抗的不能用。如果没有高阻耳机,也可以用一个电源变压器,一般为6V或12V的那种电源变压器,功率选用3到5W左右的那种,因为那种变压器的初级线径很细,圈数也多,阻抗也很大。

是为了使负载获得良好的阻抗匹配,使负载获得最大功率。使用方法是这样的:把变压器的初级(接220V的那个绕组)接到原来要接高阻耳机的那个地方;次级接普通耳机就可以了。

参考资料来源:百度百科--蜂鸣器

通过中断的方式,使用定时器0来提供1KHz的方波,蜂鸣器引脚定义为P10。代码如下:

#include

<reg51h>

#define

u8

unsigned

char

sbit

BEEP=P1^0;

void

main

{

EA=1;//开总中断

IT0=1;//打开定时器0源中断允许开关

TMOD=0x01;//选择定时器0工作在方式0

TR0=1;//启动定时器0

TH1=(65536-1000)/256;//赋值,定时1ms

TL1=(65536-1000)%256;

while(1)

{;}

}

void

TIM()

interrupt

1

{

TH1=(65536-1000)/256;

TL1=(65536-1000)%256;

BEEP=~BEEP;//蜂鸣器引脚输出1KHz方波

}

#include<reg52h>

//--定义你要使用的IO口--//

#define GPIO_DIG P0

//--声明全局函数--//

void Delay10ms(unsigned int c); //误差 0us

//--定义全局变量--//

//RAM,ROM

unsigned char code DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,

0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};

//0~F段码

//0:0011_1111

/

函 数 名 : main

函数功能 : 主函数

输 入 : 无

输 出 : 无

/

void main(void)

{

unsigned char i = 0;

while(1)

{

GPIO_DIG = ~DIG_CODE[i];

i++;

if(i == 16)

{

i = 0;

}

Delay10ms(50);

}

}

/

函 数 名 : Delay10ms

函数功能 : 延时函数,延时10ms

输 入 : 无

输 出 : 无

/

void Delay10ms(unsigned int c) //误差 0us

{

unsigned char a, b;

//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//

for (;c>0;c--)

{

for (b=38;b>0;b--)

{

for (a=130;a>0;a--);

}

}

}

PLC一个(两百块的国产就行了)、直流24V小蜂鸣器一个(或者用指示灯)、直流24V声控开关一个,24V直流电源一个。(根据需求可加控灯用继电器一个)。

使用PLC内部时钟选取晚7点到早8点为执行程序的时间段(也可以不用规定时间)。

PLC输入、输出公共点均接正。

将声控开关的输出负连接到PLC的输入点上。输入负极接到PLC输出点上。输入正接电源。输出正不接(PLC与声控开关在一个供电回路内的前提下)。PLC请一定使用继电器型的输出点。

将蜂鸣器的负极接到PLC的输出点上(PLC请一定使用继电器型的输出点)。

PLC上电直接ON对应输出点,使声控开关得电运行。

PLC连续X分钟,没有检测到声控开关所对应的输入点有产生变化的话,输出蜂鸣器让它叫,最好是加个长时间时钟震荡(免得吵得脑壳疼),比如响01秒停19秒。

在响的时候可以切断声控开关的供电,以免蜂鸣器触发声控开关。蜂鸣器响完(比如01秒)后最好延迟一下再启动声控开关,免得频繁给声控开关供电。

持续响超过X分钟,而声控开关依旧没有响应。可以直接使用继电器(自己加)使灯关闭。也可以使蜂鸣器常响,迫使别人把灯关闭。

#include<reg52h>

sbit  beep=P0^4;

void  main()

  

   beep=0;

   while(1);

}

试试这个怎样,单片机在执行完程序之后会回到初始状态,然后再重新执行程序,所以蜂鸣器就会反复的开和关,听起来声音会小很多;加个while(1)死循环,让程序一直保持在beep=0的状态。

以上就是关于怎么让蜂鸣器发出声音全部的内容,包括:怎么让蜂鸣器发出声音、51单片机蜂鸣器发出1KHz的信号的c语言程序、求高手帮忙提供: 单片机程序,开关点亮LED灯,点亮数码管,蜂鸣器叫。 谢谢!   *等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10120400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存