51单片机播放音乐(一):蜂鸣器

2023-11-03

51单片机播放音乐(一):蜂鸣器

本文完整源码

原理

蜂鸣器

蜂鸣器分为有(震动)源的和无源的,有源的无法控制频率,所以用无源的才能播放音乐。无源蜂鸣器需要自己控制输入变化的信号才能发声,最简单的就是输入方波信号了,通过单片机控制方波的频率就能发出不同音调的声音

这是发出50%占空比方波的代码:

int i;
while (1) {
   
	for (i = 0; i < 10; ++i); // 改变循环次数可以改变方波频率
	P1_0 = 1;
	for (i = 0; i < 10; ++i);
	P1_0 = 0;
}

乐谱转成循环次数

首先要有蜂鸣器乐谱,就是用频率和持续时间表示一个音符的乐谱,至于如何获取蜂鸣器乐谱可以看我上一篇文章。由于单片机的运行速度很慢,如果在单片机里计算循环次数会浪费很多时间,导致输出的音乐断断续续的,所以我尽量在电脑上完成计算,单片机直接读取循环次数就行了

已知单片机使用的晶振频率(我用的11059200Hz),机器主频是晶振频率的12分频,所以一个机器周期是 1 / ( 晶 振 频 率 / 12 ) 1 / (晶振频率 / 12) 1/(/12) 秒。还要知道for循环一次需要多少个机器周期,我是在keil仿真调试时开启定时器测出来的,是38个周期。一次循环时间就是 机 器 周 期 ∗ 1000 ∗ 每 次 循 环 机

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机播放音乐(一):蜂鸣器 的相关文章

  • JAVASE-01:基础概念知识及学习环境配置

    JAVASE 01 基础概念知识及学习环境配置 Java语言发展史 詹姆斯 高斯林 James Gosling 1977年获得了加拿大卡尔加里大学计算机科学学士学位 1983年获得了美国卡内基梅隆大学计算机科学博士学位 毕业后到IBM工作
  • 最新暴力破解漏洞技术详解

    点击星标 即时接收最新推文 本文选自 web安全攻防渗透测试实战指南 第2版 点击图片五折购书 暴力破解漏洞简介 暴力破解漏洞的产生是由于服务器端没有做限制 导致攻击者可以通过暴力的手段破解所需信息 如用户名 密码 短信验证码等 暴力破解的

随机推荐

  • 操作系统的特征

    四个特征 并发 共享 虚拟 异步 一 并发 1 并发概念 指两个或者多个事件在同一时间间隔内发生 这些事件宏观上是同时发生的 但是在微观上是交替发生的 操作系统的并发性是指 计算机系统同时存在着多个运行着的程序 操作系统和程序并发是一起诞生
  • 小米再次翻车!学python一定要看这篇!!

    小米英国官方推特近日发布了一则营销推文 调侃了最近火热的比尔 盖茨离婚事件 推文图片中为信息页面 收件人为梅琳达 信息内容为 我们需要谈谈 而且推文下方显示小尾巴为 iPhone 推文内容为 虽然和你的亿万富翁合作伙伴分手可能不是明智的选择
  • C语言中长度为0的数组

    前面在看Xen的源码时 遇到了一段代码 如下所示 注意上面最后一行的代码 这里定义了一个长度为的数组 这种用法可以吗 为什么可以使用长度为0 的数组 长度为的数组到底怎么使用 这篇文章主要针对该问题进行简单的讲解 废话不多说了 现在就开始
  • 9-5&9-6&9-7 Java常用类----System类、Math类、 BigInteger类、BigDecimal类

    System类 1 System类代表系统 系统级的很多属性和控制方法都放置在该类的内部 该类位于java lang包 2 由于该类的构造器是private的 所以无法创建该类的对象 也就是无法实例化该类 其内部的成员变量和成员方法都是st
  • 【附源码】Java计算机毕业设计社区私家车位共享收费系统(程序+LW+部署)

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 java mybatis M
  • Air780E

    目录 基础资料 探讨重点 实现功能 硬件准备 软件版本 软件使用 串口工具 主要步骤 1 SIM卡状态检查及激活PDP 2 关于SSL配置 3 通过TCP连接到MQTT服务器 4 订阅或者发布消息 4 1 订阅主题 AT MSUB 4 2
  • VUE for循环 默认选中第一条数据

    for循环渲染列表默认选中第一条数据 点击其他选项切换数据 div div class Subtitle style padding 5px 40px 项目清单 div div class project manifest div clas
  • 【MySQL进阶】SQL性能分析

    一 SQL性能分析 1 SQL执行频率 MySQL 客户端连接成功后 通过 show session global status 命令可以提供服务器状态信 息 通过如下指令 可以查看当前数据库的 INSERT UPDATE DELETE S
  • Linux安装MySQL 5.7

    一 下载MySQL 官网地址 下载 mysql 5 7 37 linux glibc2 12 x86 64 tar gz 二 安装MySQL 1 1 连接Shell cd usr local 切换到此目录下 1 2 把MySQL包传到she
  • FPGA学习笔记4 --modesim软件仿真

    modesim软件仿真 一 手动仿真 二 联合仿真 一 手动仿真 1 添加路径 2 新建工程 3 添加源文件 4 编译文件 5 启动仿真 6 信号添加到波形里 7 运行 二 联合仿真 1 首先电脑要安装ModelSim软件 注意安装路径不要
  • Neo4j 快速入门

    Neo4j 快速入门 neo4j 官方文档 https neo4j com docs neo4j 中文社区 http neo4j com cn neo4j 开发者页面 https neo4j com developer Neo4j安装 a
  • 计算机键盘正确指法,键盘指法,详细教您盲打及快速打字指法练习的步骤

    有些人在用电脑打字的时候 会打的特别快 最快的时候能够一分钟打上八九十个字 而这样的打字速度也是靠平时的练就打字功力得来的 那么键盘指法打字如何才能将字打的准备又快呢 别着急 小编现在就来给你们普及一下这方面的知识 学会正确的键盘指法打字
  • 1.2 编程语言选择

    1 2 编程语言和城市选择 商业网站开发课 编程语言选择 后端开发语言 特点 排名网站 https hellogithub com report tiobe 薪资 参考2022年智联招聘 深圳初级和中级薪资 通用技能 操作系统 Linux
  • 在网络安全解决方案中使用数据挖掘技术

    网络安全 英语 network security 包含网络设备安全 网络信息安全 网络软件安全 黑客通过基于网络的入侵来达到窃取敏感信息的目的 也有人以基于网络的攻击见长 被人收买通过网络来攻击商业竞争对手企业 造成网络企业无法正常营运 网
  • 【ChatGPT实战案例】Excel代码太多记不住怎么办?ChatGPT来帮你高效解决问题

    目录 适合人群 使用工具 制作步骤 示例1 Excel数据分列 示例2 Excel数据提取 适合人群 会Excel基本操作 但是不懂Excel公式编写的人 使用工具 内容生产工具 如ChatGPT 讯飞星火认知模型 文心一言等 EXCEL文
  • LeetCode1748. 唯一元素的和(python)

    题目 给你一个整数数组 nums 数组中唯一元素是那些只出现 恰好一次 的元素 请你返回 nums 中唯一元素的 和 示例 1 输入 nums 1 2 3 2 输出 4 解释 唯一元素为 1 3 和为 4 示例 2 输入 nums 1 1
  • VCF变异文件读取和详细

    下载了千人基因组variants数据 是 vcf gz和 vcf gz tbi文件格式 需要在linux上打开 此时我还是一个生信小菜鸡 记录一下vcf文件读取和详细解释 在服务器先解压再打开 gunzip 文件 vcf gz cat 文件
  • 弹性盒模型学习

    一 弹性盒布局 1 弹性盒布局的容器指的是采用了弹性布局的DOM元素 而弹性布局的条目指的是容器中包含的子DOM元素 最外围的边框表示的是容器 而编号1和2的边框表示的是容器中的条目 弹性盒布局中有两个相互垂直的坐标轴 一个是主轴 另一个称
  • 【UE虚幻引擎】UE源码版编译、Andorid配置、打包

    首先是要下载源码版的UE 我这里下载的是5 2 1 首先要安装Git 在你准备放代码的文件夹下右键点击Git Bash Here 然后可以直接git clone https github com EpicGames UnrealEngine
  • 51单片机播放音乐(一):蜂鸣器

    51单片机播放音乐 一 蜂鸣器 原理 蜂鸣器 乐谱转成循环次数 单片机代码 仿真电路图 本文完整源码 原理 蜂鸣器 蜂鸣器分为有 震动 源的和无源的 有源的无法控制频率 所以用无源的才能播放音乐 无源蜂鸣器需要自己控制输入变化的信号才能发声