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

 

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

 

 

目录

一.  蜂鸣器的介绍 

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单片机蜂鸣器实验

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

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/410458.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

生成式 AI - Diffusion 模型的数学原理(5)

来自 论文《 Denoising Diffusion Probabilistic Model》&#xff08;DDPM&#xff09; 论文链接&#xff1a; https://arxiv.org/abs/2006.11239 Hung-yi Lee 课件整理 讲到这里还没有解决的问题是&#xff0c;为什么这里还要多加一个噪声。Denoise模型算出来的是高斯分布的均…

NeurIPS 2023 Spotlight | VoxDet:基于3D体素表征学习的新颖实例检测器

本文提出基于3D体素表征学习的新颖实例检测器VoxDet。给定目标实例的多视图&#xff0c;VoxDet建立该实例的三维体素表征。在更加杂乱的测试图片上&#xff0c;VoxDet使用体素匹配算法检测目标实例。实验表明&#xff0c;VoxDet中的三维体素表征与匹配比多种二维特征与匹配要更…

【深入理解设计模式】适配器设计模式

适配器设计模式 适配器设计模式是一种结构型设计模式&#xff0c;用于将一个类的接口转换成客户端所期望的另一个接口&#xff0c;从而使得原本由于接口不兼容而不能一起工作的类能够一起工作。适配器模式通常用于以下场景&#xff1a; 现有接口与需求不匹配&#xff1a;当需要…

IP对讲终端SV-6002(防水)

SV-6002&#xff08;防水&#xff09;是一款IP对讲终端&#xff0c;具有10/100M以太网接口&#xff0c;其接收网络的音频数据&#xff0c;解码后播放&#xff0c;外部DC12~24V电源供电端子&#xff0c;提供单路2W的音频输出。基于TCP/IP网络通信协议和数字音频技术&#xff0c;…

【Java EE初阶二十三】servlet的简单理解

1. 初识servlet Servlet 是一个比较古老的编写网站的方式&#xff0c;早起Java 编写网站,主要使用 Servlet 的方式&#xff0c;后来 Java 中产生了一个Spring(一套框架)&#xff0c;Spring 又是针对 Servlet 进行了进一步封装,从而让我们编写网站变的更简单了&#xff1b;Sprin…

都有金蝶了,也能开发报表,为什么要用BI?

很多企业在一开始时都会有这样的困惑&#xff1a;我都有金蝶ERP了&#xff0c;也能自己开发报表&#xff0c;为什么还要买BI&#xff1f; 答案是显而易见的&#xff0c;金蝶ERP毕竟不是专业的数据分析系统&#xff0c;它的主要任务是在企业管理流程上&#xff0c;虽然很多企业…

Linux内核网络

文章目录 前言网络协议栈图解功能 发送Linux内核网络数据包图解流程 接收Linux内核网络数据包图解流程 最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;因为Linux内核涉及的内容极多&#xff0c;我们初学者如果一上来就开始深挖细节&#xff0c;很有可能会在Linux内核代码…

MySQL - 事务日志

目录 1. redo日志 1.1 为什么需要REDO日志 1.2 REDO日志的好处、特点 1. 好处 2. 特点 1.3 redo的组成 1.4 redo的整体流程 1.5 redo log的刷盘策略 1.6 不同刷盘策略演示 1. 流程图 ​编辑2. 举例 1.7 写入redo log buffer 过程 1.8 redo log file 1. 相关参数…

[云原生] 二进制安装K8S(中)部署网络插件和DNS

书接上文&#xff0c;我们继续部署剩余的插件 一、K8s的CNI网络插件模式 2.1 k8s的三种网络模式 K8S 中 Pod 网络通信&#xff1a; &#xff08;1&#xff09;Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容器是不会跨宿主机的&#xff09;共享…

批量解决opencv cv2.imread读取32位抠图png图像后,出现隐藏背景无法去除的问题

一、问题展示 1.原始png含蒙版抠图信息&#xff1a;位深度为32位&#xff0c;4通道图像信息&#xff0c;含蒙版背景信息 2.使用opencv读取保存后图像信息&#xff1a;位深度为24位&#xff0c;3通道图像信息&#xff0c;显示了扣除的背景 二、问题分析 1.用cv模块无法识别深度…

Stable Diffusion 绘画入门教程(webui)-ControlNet(线稿约束)

上篇文章介绍了openpose&#xff0c;本篇文章介绍下线稿约束&#xff0c;关于线稿约束有好几个处理器都属于此类型&#xff0c;但是有一些区别。 包含&#xff1a; 1、Canny(硬边缘&#xff09;&#xff1a;识别线条比较多比较细&#xff0c;一般用于更大程度得还原照片 2、ML…

C++ : string类

目录 介绍&#xff1a; string类的七种构造函数&#xff1a; string类的第三个构造函数 string类的第四个构造函数 string类的第五个构造函数 string类的第六个构造函数 string类常用的构造 string类对象的访问遍历操作 第一种遍历方式&#xff1a; 第二种遍历方…

使用Node.js开发RESTful API

在当今信息时代&#xff0c;不管是企业级应用还是个人项目&#xff0c;都离不开RESTful API的使用。RESTful API 是现代 web 应用的基石&#xff0c;通过它&#xff0c;我们可以实现前后端的高效沟通和数据传输。而在开发 RESTful API 的过程中&#xff0c;Node.js 的强大功能和…

AR应用的开发流程

增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;是一种技术&#xff0c;它将虚拟信息叠加在真实世界中&#xff0c;通过计算机生成的视觉、听觉、触觉等感官反馈&#xff0c;将虚拟元素与现实世界进行交互。这种技术使得用户可以与现实世界中的虚拟对象进行互…

vue插件——vue-print-nb 实现打印功能

之前写过好多关于打印的功能&#xff0c;通过windowprint组合键来实现打印。 今天遇到一个需求&#xff0c;就是使用vue插件来实现打印功能。 最终效果图如下&#xff1a; 下面介绍解决步骤&#xff1a; 解决步骤1&#xff1a;安装vue-print-nb插件——npm install vue-p…

flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件

flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件 最近看到了一个插件&#xff0c;实现一个可滑动关闭组件。滑动关闭组件即手指向下滑动&#xff0c;组件随手指移动&#xff0c;当移动一定位置时候&#xff0c;手指抬起后组件滑出屏幕。 一、GestureDetect…

配置多个后端 API 代理

在开发 React 应用时&#xff0c;通常会涉及到与后端 API 的交互。而在开发过程中&#xff0c;我们经常需要在开发环境中使用代理来解决跨域请求的问题。Create React App 提供了一种简单的方式来配置代理&#xff0c;即通过创建一个名为 setupProxy.js 的文件来配置代理规则。…

力扣链表篇

以下刷题思路来自代码随想录以及官方题解 文章目录 203.移除链表元素707.设计链表206.反转链表24.两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链…

一个具有强大PDF处理能力的.Net开源项目

PDF具有跨平台、可读性强、不可修改性、无需特定阅读软件、内容安全等好处&#xff0c;在工作中经常都会用到。 所以&#xff0c;我们在项目开发中&#xff0c;经常需要生成PDF的文件&#xff0c;或者把Html、Xml等文件转化为PDF格式。 今天给大家推荐一个具有PDF处理能力的.…