Ⅰ 请教蜂鸣器电路图
电路,把音乐分解成音阶和音阶的时长的组合存在芯片中,无源蜂鸣器另一端接电源..com/view/b3921b22192e45361066f5b3用单片机任意端口按音阶频率输出方波信号,就是把晶振12m和震荡电容22p接上,vcc和vss接上电源,一个产生音阶频率。
你说的东西://wenku,外接上拉电阻4k7。
程序上用两个定时器,任意找一个io口,通过三极管驱动无源蜂鸣器,ea接电源,就可以实现音乐的输出,rst接上拉电容10u和下拉电阻10k.html"
target="_blank">http,再通过一个限流电阻100欧姆接到三极管8050的基极.com/view/b3921b22192e45361066f5b3,发射极接地,集电极接无源蜂鸣器,就这么简单即可实现~~~
这里可以下载到音阶频率表
提问者评价
谢谢.
评论
|
Ⅱ 怎么用单片机C语言编写驱动蜂鸣器发出7个音的电路图和程序代码(最好有解释)。
搜:
基于51单片机的4×4矩阵键盘电子琴
网络一下。
Ⅲ 单片机蜂鸣器
1、单片机与蜂鸣器连接图已附.
2、通常P1、P2、P3口都可以用来作为控制,P0口也可以,但因其内部无上拉电阻,所以外接时,应接一1K的上拉电阻,其他一样。有源蜂鸣器驱动电路设计,无须外加驱动电路。
3、C语言编程为:
#include<reg51.h>//头文件
sbitd1=P1^2;//位定义,把P1口的P1.2位设为驱动口,当然其它口也可。
voidmain()//主函数
{
d1=0//单片机默认状态为1,不用初始化了,此处直接赋值0则可驱动
};
此为最最简单的电路程序设计。下载后,蜂鸣器一会一直处于鸣叫状态。
你可以加一个延时函数,再把d1口置高,可让它,叫一下关闭。也可以加个while(1)大循环,让它“滴、滴”不停地叫。还可以设置一个按键,按一个亮一下。
随程序的变化,现象也会各不同。
Ⅳ 51单片机之蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个方波脉冲
我们用单片机的IO口实现一种这样高低电平的方波,驱动蜂鸣器发音。我们板子上配的就是交流蜂鸣器。
接下来我们看一下蜂鸣器的硬件电路:
蜂鸣器通过三极管驱动。我们利用杜邦线将蜂鸣器的一端J8连接到板子上P1.5管脚上。
示例程序:
#include "reg52.h"
#include "intrins.h"
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit beep = P1^5;
void delay(uint16 i)
{
while(i--);
}
void main()
{
while(1)
{
beep = ~beep;
delay(10);
}
}
该程序实现蜂鸣器的响和停,程序较为简单,可以在此基础上进行扩展。
Ⅳ 单片机驱动蜂鸣器电路
单片机驱动蜂鸣器电路如下:
蜂鸣器经常用于电脑、打印机、万用表这些设备上做提示音,提示音一般也很简单,就是简单发出个声音就行,我们用程序简单做了个 4KHZ 频率下的发声和 1KHZ 频率下的发声程序代码如下:
#include
sbit BUZZ = P1^6; //蜂鸣器控制引脚
unsigned char T0RH = 0; //T0 重载值的高字节
unsigned char T0RL = 0; //T0 重载值的低字节
voidOpenBuzz(unsigned int frequ);
void StopBuzz();
void main(){
unsigned int i;
TMOD = 0x01; //配置 T0 工作在模式 1,但先不启动
EA = 1;
while(1){ //使能全局中断
OpenBuzz(4000); //以 4KHz 的频率启动蜂鸣器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鸣器
for (i=0; i<40000; i++);
OpenBuzz(1000); //以 1KHz 的频率启动蜂鸣器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鸣器
for (i=0; i<40000; i++);
}
}
/* 蜂鸣器启动函数,frequ-工作频率 */
void OpenBuzz(unsigned int frequ){
unsigned int reload;//计算所需的定时器重载值
reload = 65536 - (11059200/12)/(frequ*2); //由给定频率计算定时器重载值
T0RH = (unsigned char)(reload >> 8); //16 位重载值分解为高低两个字节
T0RL = (unsigned char)reload;
TH0 = 0xFF; //设定一个接近溢出的初值,以使定时器马上投入工作
TL0 = 0xFE;
ET0 = 1; //使能 T0 中断
TR0 = 1; //启动 T0
}
/* 蜂鸣器停止函数 */
void StopBuzz(){
ET0 = 0; //禁用 T0 中断
TR0 = 0; //停止 T0
}
/* T0 中断服务函数,用于控制蜂鸣器发声 */
void InterruptTimer0()interrupt1{
TH0 = T0RH; //重新加载重载值
TL0 = T0RL;
BUZZ = ~BUZZ; //反转蜂鸣器控制电平
}
Ⅵ protues中蜂鸣器如何发出声音 给个电路图
电路图如下:
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小。
单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。
有源蜂鸣器和无源蜂鸣器的区别:
这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
无源蜂鸣器的优点是:便宜且声音频率可控,可以做出“多来米发索拉西”的效果。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。
Ⅶ 求大神解释下51单片机蜂鸣器的工作原理 下面是原理图 急!
工作原理非常简单:图示电路为灌电流驱动方式(低电平有效),Q5为开关三极管,平时I/O口P3.6输出高电平,因Q5为PNP型三极管,故高电平使得基极电位接近Vcc,三极管截止处于集电极回路的蜂鸣器不响,当P3.6输出低电平时Q5经由Vcc-Q5eb-R17-P3.6到地回路获得基极电流而饱和导通,蜂鸣器得电发出鸣响。