① 单片机报警电路(NPN驱动蜂鸣器)急求解答疑问
三极管的e接地,蜂鸣器一边接电源一边接尺段三极管c。单片机输出高电平时陵携誉蜂隐含鸣器工作,注意蜂鸣器的极性不要接反了
② 单片机驱动蜂鸣器的电路分析
你所说的情况并不限制与蜂鸣器的驱动,包括常用的继电器,指示灯等很多情况(布尔控制器件)都会遇到。
设计这种电路,首先是要考察驱动的对象,看其正常工作的额定电流和电压。根据电流和电压参数选择三极管的,一般要保证三极管的最大Ic要大于等于1.5倍驱动对象的额定电流,Vce要大于等于1.2倍驱动器件的额定电压,如果是感性负载(如继电器),还必须在负载上反向并联吸收二极管,以防止感生电压过高损坏三极管。
选择好三极管后,根据三极管手册给出的最小放大倍数和驱动器件的最大工作电流计算所需要的Ib,根据这个Ib查询三极管数据手册,看看是否在三极管的安全工作范围中,如果超出就必须要重新选择三极管,如果合用,则计算Rb。
三极管的Vbe基本上可以取一个定值0.7V,查询单片机手册在既定工作电压下IO端口的高电平输出电压,用此电压减去0.7V,再除以之前所得的Ib,得出所需的Rb,这个Rb可能不是标准电阻,取最接近的标准电阻,记住,只能取小值(以保证三极管能处于饱和状态),验算实际Ib是不是在三极管的安全范围之内。
③ 单片机蜂鸣器工作原理是什么哪位高手可以指教一下
蜂鸣器工作发声原理:
蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型。
无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出。
有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。
电路原理:PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开内部上拉电阻。
(3)单片机驱动蜂鸣器电路扩展阅读:
蜂鸣器的应用领域
蜂鸣器广泛应用领域:计算机行业(主板蜂鸣器,机箱蜂鸣器,电脑蜂鸣器)打印机(控制板蜂鸣器)、复印机、报警器行业(报警蜂鸣器,警报蜂鸣器)、电子玩具(音乐蜂鸣器)、农业、汽车电子设备行业(车载蜂鸣器,倒车蜂鸣器,汽车蜂鸣器,摩托车蜂鸣器)电话机(环保蜂鸣器)、定时器,空调,医疗设备等电声行业。
④ 求大神解释下51单片机蜂鸣器的工作原理 下面是原理图 急!
工作原理非常简单:图示电路为灌电流驱动方式(低电平有效),Q5为开关三极管,平时I/O口P3.6输出高电平,因Q5为PNP型三极管,故高电平使得基极电位接近Vcc,三极管截止处于集电极回路的蜂鸣器不响,当P3.6输出低电平时Q5经由Vcc-Q5eb-R17-P3.6到地回路获得基极电流而饱和导通,蜂鸣器得电发出鸣响。
⑤ 单片机蜂鸣器
1、单片机与蜂鸣器连接图已附.
2、通常P1、P2、P3口都可以用来作为控制,P0口也可以,但因其内部无上拉电阻,所以外接时,应接一1K的上拉电阻,其他一样。有源蜂鸣器驱动电路设计,无须外加驱动电路。
3、C语言编程为:
#include<reg51.h>//头文件
sbit d1=P1^2;//位定义,把P1口的P1.2位设为驱动口,当然其它口也可。
void main()//主函数
{
d1=0//单片机默认状态为1,不用初始化了,此处直接赋值0则可驱动
};
此为最最简单的电路程序设计。下载后,蜂鸣器一会一直处于鸣叫状态。
你可以加一个延时函数,再把d1口置高,可让它,叫一下关闭。也可以加个while(1)大循环,让它“滴、滴”不停地叫。还可以设置一个按键,按一个亮一下。
随程序的变化,现象也会各不同。
⑥ 单片机驱动蜂鸣器电路
单片机驱动蜂鸣器电路如下:
蜂鸣器经常用于电脑、打印机、万用表这些设备上做提示音,提示音一般也很简单,就是简单发出个声音就行,我们用程序简单做了个 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; //反转蜂鸣器控制电平
}