STC89C52学习笔记(九)

news2024/11/30 6:35:52

STC89C52学习笔记(

综述:本文主要介绍了蜂鸣器、蜂鸣器如何使用以及如何利用蜂鸣器播放不同频率声音。

一、蜂鸣器

1.定义和作用

电信号→声音信号,常用来产生按键音和报警音。

2.分类

有源:自带振荡器,给正负极接直流电压即可持续发生,频率稳定

无源:需要控制器提供震荡脉冲,可发出不同频率声音

3.原理

(1)高电平触发蜂鸣器

Q1做开关作用,如果给高电平,那么Q1的发射结正偏,三极管Q1相当于开关的闭合状态,蜂鸣器发生发声;如果给低电平,那么Q1的发射结反偏,三极管Q1相当于开关的断开状态,蜂鸣器不发生发声。

(2)低电平触发蜂鸣器

类似的,这张图就是低电平触发,也即是给低电平时,开关闭合,高电平时,开关断开。

(3)ULN2003驱动蜂鸣器

在51开发板上借用了ULN2003(给步进电机驱动)的一个空余引脚来驱动蜂鸣器,但是,自己设置的时候可以只用上面的低电平触发就行。

①ULN2003的逻辑框图如下:

②内部的非门相当于达林顿管,与二极管的连接电路具体如下:

③常见的达林顿管驱动蜂鸣器的电路:

4.播放提示音

利用之前建立的xmsDelay函数,每隔1ms响一次

Buzzer=!Buzzer;

Delay(1);

xms提示音

for(i=0;i<xms;i++)

{

  Buzzer=!Buzzer;

  Delay(1);

}

写一个500us延时函数,放置在蜂鸣器函数内,构成1ms蜂鸣器响声一次的函数。

void Buzzer_Delay500us ()

{

  unsigned char i;

  nop ()

  1=247;

  while (--i);

}

void Buzzer_Time (unsigned int ms)

{

  unsigned int i;

  for(i=0;i<ms*2;i++)

  Buzzer=!Buzzer;

  Buzzer_Delay500us ();

}

5.播放音乐

①认识乐谱

乐谱记得看音高和音长。假设4分音符是500ms,2分音符是1s。

②转化乐谱

音符→频率→周期→翻转一次时间(周期一半)→取整→定时器的重载值


参考视频:51单片机学习.视频

侵权联系删除!

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

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

相关文章

基于Python的机器学习的文本分类系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

单独使用YOLOV9的backbone网络

前言 YOLO系列的网络结构都是通过.yaml来进行配置的,当要单独想使用其中的backbone网络时,可以通过yaml配置文件来进行网络搭建。 backbone的yaml配置文件与网络结构 backbone:[[-1, 1, Silence, []], # conv<

linux中级课程:延迟任务的设置(at 命令)

1.首先在系统中建立easylee账户&#xff0c;并且设置密码为easylee 2.延迟任务由root账户设置&#xff0c;要求在5小时后备份系统中的用户信息文件到/backup中&#xff0c;确保延迟任务是使用非交互模式建立 此时创建了一个test.sh脚本&#xff0c;并且使用非交互的形式进行编辑…

实在智能携AI Agent智能体亮相2024年度QCon全球软件开发大会

4月11日-13日&#xff0c;以“全面进化”作为2024年度主题的「QCon全球软件开发大会暨智能软件开发生态展」在北京隆重举行。作为AI准独角兽和超自动化头部企业&#xff0c;实在智能应邀出席发表《面向办公自动化领域的AI Agent建设思考与分享》演讲及圆桌交流&#xff0c;展示…

HDLbits 刷题 -- Mux9to1v

Create a 16-bit wide, 9-to-1 multiplexer. sel0 chooses a, sel1 chooses b, etc. For the unused cases (sel9 to 15), set all output bits to 1. Expected solution length: Around 15 lines. 译&#xff1a; 创建一个16位宽的9对1多路复用器。Sel 0选择a, Sel 1选择b&a…

硬刚Suno?StabilityAI推出Stable Audio 2.0,可生成三分钟44.1kHz立体声的高质量完整曲目

StabilityAI公司最新推出音频生成模型Stable Audio 2.0&#xff0c;该模型可通过单一自然语言提示以44.1kHz立体声播放具有连贯音乐结构的高质量、完整曲目&#xff0c;长达三分钟。 新模型超越了文本到音频的范围&#xff0c;还包括音频到音频的功能。用户现在可以上传音频样…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第四套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第四套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;仅供参考&#xff09;&#xff08;共九套&#xff0c;每套四十个选择题&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadida…

20240417,友元 FRIEND

本来要学习的吃瓜吃了一下午 目录 3.1 全局函数做友元 3.2 友元类 3.3 成员函数做友元 三&#xff0c;友元 3.1 全局函数做友元 #include<iostream> using namespace std; class Building {friend void goodGay(Building* building);//好朋友&#xff0c;可以访问…

香港科技大学广州|数据科学与分析学域硕博招生宣讲会—华东师范大学专场

时间&#xff1a;2024年4月25日&#xff08;星期四&#xff09;13:30 地点&#xff1a;华东师范大学普陀校区文附楼507 报名链接&#xff1a;https://www.wjx.top/vm/Q0cKTUI.aspx# 跨学科研究领域 *数据驱动的人工智能和机器学习 *统计学习和建模 工业和商业分析 *特定行业…

【R语言】动画图:散点图

绘制成如下的散点图&#xff1a; 如果数据量大&#xff0c;有多个年份&#xff0c;就会生成多张图&#xff0c;例如&#xff1a; 具体代码如下&#xff1a; library(gapminder)#加载 gapminder 包&#xff0c;其中包含了从 1952 年至 2007 年各个国家的 GDP、预期寿命和人口数据…

<router-link>出现Error: No match for {“name“:“home“,“params“:{}}

在将<a></a>标签换到<router-link></router-link>的时候出现No match for {"name":"home","params":{}}这样的错误&#xff0c;其中格式并无错误&#xff0c; <router-link class"navbar-brand active" …

Resilience中的RateLimiter

Resilience中的RateLimiter 一、RateLimiter&#xff08;限流&#xff09;1.常见的限流算法漏桶算法&#xff08;Leaky Bucket&#xff09;令牌桶算法&#xff08;Token Bucket&#xff09;——Spring cloud 默认使用该算法滚动时间窗口&#xff08;tumbling time window&#…

多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解

系列文章目录 本科毕设正在做多轴机械臂相关的内容&#xff0c;这里是一个学习机械臂运动学课程的相关记录。 如有任何问题&#xff0c;可发邮件至layraliufoxmail.com问询。 1. 数学基础 2. 机械臂几何法与DH表示法 3. 机械臂运动学逆解 文章目录 系列文章目录一、引言1.手臂…

ESP8266闪存文件系统(SPIFFS)

开发环境&#xff1a; 1、安装ESP8266的开发环境&#xff0c;如Arduino IDE。 2、下载并安装ESP8266的相关开发库和工具。 我们使用的是Arduino IDE。 基本介绍&#xff1a; 每一个ESP8266都配有一个闪存&#xff0c;这个闪存很像是一个小硬盘&#xff0c;我们上传的文件就被…

论文笔记:Does Writing with Language Models Reduce Content Diversity?

iclr 2024 reviewer评分 566 1 intro 大模型正在迅速改变人们创造内容的方式 虽然基于LLM的写作助手有可能提高写作质量并增加作者的生产力&#xff0c;但它们也引入了算法单一文化——>论文旨在评估与LLM一起写作是否无意中降低了内容的多样性论文设计了一个控制实验&…

【论文阅读】RS-Mamba for Large Remote Sensing Image Dense Prediction(附Code)

论文作者提出了RS-Mamba(RSM)用于高分辨率遥感图像遥感的密集预测任务。RSM设计用于模拟具有线性复杂性的遥感图像的全局特征&#xff0c;使其能够有效地处理大型VHR图像。它采用全向选择性扫描模块&#xff0c;从多个方向对图像进行全局建模&#xff0c;从多个方向捕捉大的空间…

Java -- (part12)

一.权限修饰符 1.属性:用private ->封装思想 2.成员方法public ->便于调用 3.构造public ->便于new对象 二.final关键字 1.修饰类 a.格式 -- public final class 类名 b.特点:不能被继承 2.修饰方法 a.格式:修饰符 final 返回值类型 方法名(形参){} b.特点…

推荐两个植物miRNA数据库(miRbase和PNRD)

前记 植物miRNA数据库是储存和整理植物微小RNA&#xff08;miRNA&#xff09;相关信息的数据库。miRNA是一类长度为21-24个核苷酸的非编码小分子RNA&#xff0c;能够通过与靶基因的mRNA结合&#xff0c;调控基因表达。植物miRNA数据库通常包含以下内容&#xff1a; miRNA序列信…

ROS2 仿真学习02 Gazebo导入官方示例模型

1.下载模型 git clone https://gitee.com/bingda-robot/gazebo_models.git将gazebo_models拖到到.gazebo当中&#xff08;如果没看到.gazebo文件请按住CTRLh&#xff09; 2.添加模型到gazebo的Insert 这就将官方示例的模型都导入到Gazebo 了 随便试试一个模型

每日OJ题_完全背包②_力扣322. 零钱兑换

目录 力扣322. 零钱兑换 问题解析 解析代码 优化代码&#xff08;滚动数组&#xff09; 力扣322. 零钱兑换 322. 零钱兑换 难度 中等 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以…