蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(15~15V直流工作电压),多谐振荡器起振,输出15~25kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
下面是电磁式蜂鸣器的外形及结构图。。。电磁式蜂鸣器实物图:电磁式蜂鸣器结构示意图:图 1图 2 电磁式蜂鸣器内部构成:1 防水贴纸
2 线轴
3 线圈
4 磁铁 5 底座
6 引脚
7 外壳
8 铁芯9 封胶
10 小铁片
11 振动膜
12 电路板
一、电磁式蜂鸣器驱动原理
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3:
S51增强型单片机实验板蜂鸣器驱动原理图:图 3
如图所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P37引脚控制,当P37输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P37输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P37脚的电平来使蜂鸣器发出声音和关闭。
程序中改变单片机P37引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P37输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。
二、蜂鸣器列子 下面我们举几个简单的单片机驱动蜂鸣器的编程和电路设计的列子。
1、简单的蜂鸣器实验程序:本程序通过在P37输出一个音频范围的方波,驱动实验板上的蜂鸣器发出蜂鸣声,其中DELAY延时子程序的作用是使输出的方波频率在人耳朵听觉能力之内的20KHZ以下,如果没有这个延时程序的话,输出的频率将大大超出人耳朵的听觉能力,我们将不能听到声音。更改延时常数,可以改变输出频率,也就可以调整蜂鸣器的音调。大家可以在实验中更改#228为其他值,听听蜂鸣器音调的改变。
2、倒车警示音实验程序:我们知道各种卡车、货柜车在倒车时候,会发出倒车的蜂鸣警示提示音,同时警示黄灯也同步闪烁,提醒后面的人或车辆注意。本实验例程就实现倒车警示功能,通过实验板上的蜂鸣器发出警示音,同时通过实验板上P12和P15上的两个**发光二极管来发出**警示灯。
3、“叮咚”电子门铃实验程序:常见的家用电子门铃在有客人来访时候,如果按压门铃按钮时,室内会发出“叮咚”声音,本实验程序模拟电子门铃的发音,当我们按压实验板上的K1按钮时候,蜂鸣器发出“叮咚”音乐声,是一个比较实用的程序。
这个有现成的,楼主可以省很多力气了,请在网上下一个proteusv78,里边程序,仿真电路都有。
程序所在路径:
C:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8051\8051 with a DS18B20 Temperture Sensor
源程序:
ds18b20asm
要代码,追问哈。
没仔细看楼主要求,1602也有哈,
楼主把两个程序中和一下就可以了。
改起来也不难,自己弄哦。
我受点累,楼主可以这样改:
11602引脚挪到P2口,及P3口,程序也要改哈,编译运行,这个非常简单。
2再把1602剪下,粘贴到18b20那张图上;1602的程序也粘贴到18b20程序上,改掉标号重复的地方,改掉初始化程序。将18b20的结果显示在LCD上,如有必要,删除7段数码管程序。
如果是蜂鸣器的话,那么加一个电平信号就可以发声了。\x0d\FMQ EQU P10\x0d\ORG 0000H\x0d\LJMP MAIN\x0d\ORG 0030H\x0d\MAIN:\x0d\CPL FMQ\x0d\LCALL DELAY\x0d\SJMP MAIN\x0d\DELAY:\x0d\MOV R2,#200\x0d\DLY:\x0d\MOV R3,#250\x0d\DJNZ R3,$\x0d\DJNZ R2,DLY\x0d\RET\x0d\END
plc中蜂鸣器长鸣一次程序,首先要确定蜂鸣器是否已经连接到PLC控制器上,并且检查电源是否正常。
如果电源正常,可以尝试检查PLC程序,看看是否有蜂鸣器的控制程序。
如果没有,可以尝试添加蜂鸣器的控制程序,并确保蜂鸣器的输出信号正确连接到PLC控制器上。
最后,可以尝试运行PLC程序,看看蜂鸣器是否能够正常工作。
#include<reg51h>
#define uchar unsigned char
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit fmq=P1^7;
uchar cnt,sec;
vodi t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=20)
{
cnt=0;
sec--;
if(sec==0)
{
TR0=0;
fmq=1;
}
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
while(1)
{
if(k1==0)
{
sec=1;
cnt=0;
TR0=1;
while(k1==0);
fmq=0;
}
if(k2==0)
{
sec=2;
cnt=0;
TR0=1;
while(k1==0);
fmq=0;
}
if(k3==0)
{
sec=3;
cnt=0;
TR0=1;
while(k3==0);
fmq=0;
}
if(k4==0)
{
sec=4;
cnt=0;
TR0=1;
while(k1==0);
fmq=0;
}
}
}
以上就是关于关于蜂鸣器报警原理的相关论文全部的内容,包括:关于蜂鸣器报警原理的相关论文、求单片机控制温度传感器,LCD显示温度值,温度达到30度时,蜂鸣器报警的报警程序、单片机用汇编语言怎么写一个蜂鸣器程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)