51单片机学习(5)-----蜂鸣器的介绍与使用

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。

目录

[一. 蜂鸣器的介绍](#一. 蜂鸣器的介绍)

1.蜂鸣器介绍

[2.压电式蜂鸣器 (无源蜂鸣器)](#2.压电式蜂鸣器 (无源蜂鸣器))

[3.电磁式蜂鸣器 (有源蜂鸣器)](#3.电磁式蜂鸣器 (有源蜂鸣器))

4.区别

5.本单片机所使用的蜂鸣器

[二. 蜂鸣器放大电路原理](#二. 蜂鸣器放大电路原理)

[1. 三极管放大电路](#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型的三极管。

  1. 晶体三极管,是半导体基本元器件之一,具有电流放大作用,是电子电路的核心元件。它最主要的功能是电流放大和开关作用。三极管是在一块半导体基片上制作两个相距很近的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.设计程序

对于程序设计的介绍可以见下面程序中的注释:

cpp 复制代码
#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单片机蜂鸣器实验

感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。

相关推荐
Theodore_10221 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
网易独家音乐人Mike Zhou2 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
zy张起灵2 小时前
48v72v-100v转12v 10A大功率转换电源方案CSM3100SK
经验分享·嵌入式硬件·硬件工程
----云烟----3 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024063 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it4 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
武子康4 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神4 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
搬砖的小码农_Sky4 小时前
C语言:数组
c语言·数据结构