前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。
目录
一. 蜂鸣器的介绍
1.蜂鸣器介绍
2.压电式蜂鸣器 (无源蜂鸣器)
3.电磁式蜂鸣器 (有源蜂鸣器)
4.区别
5.本单片机所使用的蜂鸣器
二. 蜂鸣器放大电路原理
1. 三极管放大电路
(1)三极管介绍
(2)三极管放大电路
2.ULN2003介绍
(1)ULN2003模块
(2)ULN2003介绍
(3)ULN2003电路
3.蜂鸣器模块图
三. 程序设计
1.设计原理
2.设计程序
四. 实验现象
1.实验现象
2.实验视频
一. 蜂鸣器的介绍
1.蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
2.压电式蜂鸣器 (无源蜂鸣器)
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳 等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工 作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电 蜂鸣片发声。
3.电磁式蜂鸣器 (有源蜂鸣器)
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电 源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜 片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
4.区别
对于无源蜂鸣器,如果改变频率就可以调节蜂鸣器音调,产生各种不同音色、 音调的声音。如果改变输出电平的高低电平占空比,则可以改变蜂鸣器的声音大小。
对于有源蜂鸣器,通常内部已经固定了频率,对于调节频率或占空比可能改 变不了蜂鸣器的音调和音量,当然也有的有源蜂鸣器可以实现和无源蜂鸣器一样的效果。
其实一句话就可概括它们之间的区别,想要压电式蜂鸣器发声,需提供一定 频率的脉冲信号;想要电磁式蜂鸣器发声,只需提供电源即可。
注意:有源与无源指的是内部有无LCD振荡电路。
5.本单片机所使用的蜂鸣器
我们开发板上使用的蜂鸣器是无源蜂鸣器,属于压电式蜂鸣器类型。这里说 的有源和无源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有源蜂鸣器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一 定频率的脉冲信号才能发声,频率大小通常在 1.5-5KHz 之间。蜂鸣器实物图如 下图所示:
这里的蜂鸣器长脚为正,短脚为负。
二. 蜂鸣器放大电路原理
由于单片机内直接产生的电流过小无法使蜂鸣器正常工作,因此我们需要运用放大电路进行电流放大,下面是两种不同的放大方式:
1. 三极管放大电路
(1)三极管介绍
1.半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。由于不同的组合方式,形成了一种是NPN型的三极管,另一种是PNP型的三极管。
2. 晶体三极管,是半导体基本元器件之一,具有电流放大作用,是电子电路的核心元件。它最主要的功能是电流放大和开关作用。三极管是在一块半导体基片上制作两个相距很近的PN结,两个PN结把正块半导体分成三部分,中间部分是基区,两侧部分是发射区和集电区,排列方式有PNP和NPN两种。
两种不同的三极管内部电流:
3.对于单片机运用而言的一些使用区别:
PNP、NPN 表示的意思是什么。P表示正、N表示负。
NPN表示平时为高电平输入,信号到来时信号为低电平输出.
PNP表示平时为低电平输入,信号到来时信号为高电平输出。
4.以NPN为例图解放大电路
(2)三极管放大电路
左图为共阳极,右图为共阴极,且图中Buzzer指蜂鸣器。
2.ULN2003介绍
本单片机通过达林顿晶体管阵列组成的电路模块ULN2003实现电流放大
(1)ULN2003模块
右边BEEP指定就是蜂鸣器,左边连接P2^5口。
(2)ULN2003介绍
ULN2003是一个单片高电压、高电流的达林顿品体管阵列集成电路。它是由7对NPN达林顿管组成的,它的高电压输出特性和阴极箱位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器。
(3)ULN2003电路
其本身也运用三极管放大原理,这里我们不做深入。
3.蜂鸣器模块图
三. 程序设计
1.设计原理
这里我们设计主要结合LED灯,独立按键和蜂鸣器。
由上图可见对于蜂鸣器的使用由P2^5口控制,需要产生一定频率的脉冲即高低频率交替。
2.设计程序
对于程序设计的介绍可以见下面程序中的注释:
#include <REGX52.H>
unsigned int i; //定义变量i用于控制蜂鸣器鸣叫的时间
sbit BEEP=P2^5; //定义BEEP为P2^5口
//延时函数
void Delay(unsigned int xms) //@11.0592MHz
{unsigned char data i,j;while(xms){i = 2;j = 199;do{while (--j);} while (--i);xms--;}
}//这里新定义一个延时函数,该延时函数以10us为一个单位时间
void delay_10us(ten_us)
{while(ten_us--);
}void main()
{ i=500;while(1)
{if(P3_1==0) //按键K1按下{Delay(20);while(P3_1==0);Delay(20);P2_0=0; //LED1亮起while(i--){BEEP=!BEEP; // 这里主要为产生一定频率的脉冲(高低电平交替)delay_10us(50); //高低电平交替的时间,用于控制频率从而控制音调}i=0; BEEP=0; //令i等于0,鸣音结束}}
}
注意:设计的频率太高或太低都不行,即对于蜂鸣器部分的高低电平交替的时间要取好。
四. 实验现象
1.实验现象
当按键K1按下时,LED1亮起,并且蜂鸣器响起,蜂鸣器响起一定时间后不再响起(注意不要让蜂鸣器长时间工作,会造成损坏)。
2.实验视频
51单片机蜂鸣器实验
感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。