普中51-蜂鸣器实验

news2024/11/25 21:36:42

蜂鸣器实验

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型

  1. 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工 作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电 蜂鸣片发声。
  2. 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电 源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜 片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
  3. 其实一句话就可概括它们之间的区别,想要压电式蜂鸣器发声,需提供一定 频率的脉冲信号;想要电磁式蜂鸣器发声,只需提供电源即可。
  4. 这次我们使用的蜂鸣器是无源蜂鸣器,属于压电式蜂鸣器类型。这里说 的有源和无源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有 源蜂鸣器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一 定频率的脉冲信号才能发声,频率大小通常在 1.5-5KHz 之间。
    如图所示:
    在这里插入图片描述
    前面我们使用IO口直接控制开发板上的LED灯,那么蜂鸣器我们是否也可以使用IO口进行控制?其实是不能的,因为51单片机IO口的驱动能力较弱(即使外接上拉电阻),而蜂鸣器驱动需要约30MA,所以非常困难,即使可以驱动,那对于整个芯片的其实IO剩下驱动能力就更加弱甚至无法工作。所以不能直接使用IO口来驱动蜂鸣器,而是通过三极管把电流放大之后在驱动蜂鸣器。这样51单片机只需要提供不到1ma的电流就可以控制蜂鸣器。也常说51单片机是用来做控制的,而不是驱动

从图中可以看出,蜂鸣器控制管脚直接连接到 51 单片机的 P2.5 管脚上。图 中并没有使用三极管进行电流放大,而是使用 ULN2003 芯片来驱动,这里我们只需知道当 P25 输出高电 平,BEEP 则输出低电平;当 P25 输出低电平,BEEP 则输出高电平,类似一个非 门。 开发板上使用的是无源蜂鸣器,它需要一定频率的脉冲(高低电平)才会发 声,因此需要让 P25 脚以一定频率不断输出高低电平信号才能控制蜂鸣器发出声音。

实验一

#include "reg52.h"
sbit BEEP = P2^5; //将P2.5管脚重新定义为BEEP
typedef unsigned int u16;//对系统默认数据类型重新命名
typedef unsigned char u8;

void delay_10us(u16 ten_us){//延时函数,当ten_us = 1 是 延时大约10us
		while(ten_us--);
}
void main(){
	u16 i = 2000;
	while(1){
	
		while(i--){//循环两千次
			BEEP = !BEEP;//产生一定频率的脉冲信号
			delay_10us(100);//延时1ms
		}
		i = 0;//清零循环参数
		BEEP = 0;//关闭蜂鸣器
	}
	
}

若要改变音调可以修改延时时间,但要注意频率不能太大或者太小,具体大 家可以试着调试。若要改变音量,可以修改 BEEP 输出高电平时间。如下:

BEEP = !BEEP;//产生一定频率的脉冲信号
delay_10us(100);//延时1ms
BEEP = !BEEP;//产生一定频率的脉冲信号
delay_10us(190);
BEEP = !BEEP;//产生一定频率的脉冲信号
delay_10us(50);

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

量化INT8模型报错记录及解决方案

基于C将onnx 模型 转 TensorRT 模型(int8) 部分命令如下: config->setFlag(nvinfer1::BuilderFlag::kINT8); ICudaEngine* engine builder->buildEngineWithConfig(*network, *config); 出现以下报错: Error Code 4: I…

使用凌鲨进行聚合搜索

作为研发人员,我们经常需要在多个来源之间查找信息,以便进行研发工作。除了常用的搜索引擎如百度和必应之外,我们还需要查阅各种代码文档和依赖包等资源。这些资源通常分散在各个网站和文档库中,需要花费一定的时间和精力才能找到…

闲置的固定资产怎么账务管理

对于那些被遗忘或闲置的固定资产,如何进行有效的账务管理,以实现资产的最大价值,却往往被忽视。本文旨在探讨这一主题,并提供一些创新的策略和实践方法。  需要认识到,闲置的固定资产并非仅仅是财务问题。它们可能代…

【css | loading】各种简单的loading特效

先看一下简单的效果图 线上预览 https://code.juejin.cn/pen/7278511766991339579 代码 HTML <!-- / 1 --><section><div class"sk-rotating-plane"></div></section><!-- / 2 --><section><div class"sk-doub…

OOM分析实战

OOM分析&实战 OOM分析&实战引言&#xff1a;一、JVM内存结构二、JVM OOM错误情况三、实践案例一案例二案例三 四、总结五、分析工具推荐六、参考文献 OOM分析&实战 引言&#xff1a; 在Java开发中&#xff0c;随着应用程序变得越来越复杂&#xff0c;内存管理问题…

运动耳机哪个好、最好的运动牌子排名榜

很多朋友喜欢在运动的时候听音乐&#xff0c;为此&#xff0c;他们会为自己配备一款蓝牙耳机或是运动耳机&#xff0c;可以在运动的时候随身听&#xff0c;可是&#xff0c;一些人在挑选耳机的时候犯难了&#xff0c;市面上那么多运动耳机&#xff0c;运动耳机哪个好&#xff1…

【黄色手套22】6话:构造数据类型

目录 序言&#xff1a; 结构体&#xff1a; 结构体数组&#xff1a; 结构体数组的定义和引用 &#xff1a; 使用关键字typedef自定义类型名&#xff1a; 使用typedef语句为数组类型取别名&#xff1a; 结构体所占内存的大小&#xff1a; 结构体的嵌套&#xff1a; 共用体…

内网穿透——Windows搭建服务器

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力应用场景之一&…

vant 按需导入 vue2

vant 按需导入 vue2 1、通过npm安装 # Vue 3 项目&#xff0c;安装最新版 Vant&#xff1a; npm i vant -S# Vue 2 项目&#xff0c;安装 Vant 2&#xff1a; npm i vantlatest-v2 -S2、自动按需引入组件 babel-plugin-import 是一款 babel 插件&#xff0c;它会在编译过程中…

(Qt+Vs编译环境)报错:引发异常,写入访问权限冲突

起因&#xff1a;在一本Qt的书上看到使用这样的语句 &#xff0c;专门把原有的VS项目模板生成的代码做了修改&#xff0c;如下图所示&#xff1a; UI::MainWindow *ui; ui->setupUI(this); ui->lineEdit->Text(); 然后就开始引发异常&#xff0c;提示访问权限冲突。…

swaggo使用教程

安装与初始化 安装插件 go install github.com/swaggo/swag/cmd/swaglatest 安装依赖 go get -u github.com/swaggo/swag/cmd/swag 在包含main.go文件的项目根目录运行swag init。这将会解析注释并生成需要的文件&#xff08;docs文件夹和docs/docs.go&#xff09;。 swa…

如何快速构建你的AI开放平台?一步步教你!

目录 楔子成品展示后台页面面客端页面成品项目地址 项目源码地址one-apichatgpt-next-web 搭建步骤搭建one-api运行命令命令解释后台配置 搭建chatgpt-next-web运行命令命令解释面客端配置 总结 ✨这里是第七人格的博客✨小七&#xff0c;欢迎您的到来~✨ &#x1f345;系列专栏…

第22章_瑞萨MCU零基础入门系列教程之DMA控制器

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

nginx配置vue前端代理

背景&#xff1a;做一个前后端分离的项目&#xff0c;我这里是vue3 view ts创建的前端项目&#xff0c;在前端配置跨域请求。 一、开发阶段 在vue.config.js中配置devserver的proxy进行代理请求配置&#xff0c;然后将所有请求改为/api开头的即可。但是这样配置只在开发阶段…

数仓主题域和数据域、雪花模型,星型模型和星座模型

数仓模型和领域划分 一、主题域和数据域的差别二、雪花模型&#xff0c;星座模型和星型模型 一、主题域和数据域的差别 明确数据域作为数仓搭建的重要一环&#xff0c;能够让数仓的数据便于管理和应用。 数据域和主题域都是数据仓库中的重要概念&#xff0c;但含义略有不同&am…

【计算机视觉 | 图像模型】常见的计算机视觉 image model(CNNs Transformers) 的介绍合集(四)

文章目录 一、ResNeSt二、ShuffleNet v2三、FBNet四、Inception-v4五、ResNet-D六、MetaFormer七、PyramidNet八、RevNet九、Convolutional Vision Transformer&#xff08;CVT&#xff09;十、Tokens-To-Token Vision Transformer十一、Self-Attention Network十二、MixNet十三…

高速电路设计笔记----第二章

本章主要讲解的是电阻、电容、电感的选型。 一、电阻&#xff1a;关键还是限流。 1、通常在电源滤波时除了LC外&#xff0c;还会串接一个R。目的是为了降低信号的Q值&#xff0c;防止信号失真。常用于失真电源滤波。&#xff08;例如时钟电源滤波&#xff09; 2、选型的电阻的…

眺望数据应用新态势|第八届腾讯云Techo TVP开发者峰会圆满落幕

引言 在数据驱动的时代&#xff0c;如何有效地利用大数据已经成为了各个行业的重要课题。而随着云计算、人工智能等新兴技术的蓬勃发展&#xff0c;数据技术也随之不断生长并呈现出新的趋势与特点&#xff0c;企业该如何把握数据技术的新脉络&#xff0c;从而洞察数据背后的价…

【动态规划刷题 14】最长递增子序列 摆动序列

673. 最长递增子序列的个数 链接: 673. 最长递增子序列的个数 给定一个未排序的整数数组 nums &#xff0c; 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列&#xff0c;分别是 [1, 3, 4,…

【校招VIP】产品工作难点之如何平衡团队协作

考点介绍&#xff1a; 对于简历上有实习经验的同学&#xff0c;团队配合和项目推进是一个非常常见的提问点。产品经理经常会面临项目延期&#xff0c;无法上线的情况。基于此&#xff0c;产品经理应该做些什么来保障项目按时上线呢? 产品工作难点之如何平衡团队协作-相关题目…