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

发布时间:2025-03-26 13:47

音乐和娱乐:车载蓝牙播放器、耳机 #生活技巧# #自驾游建议# #自驾旅行装备清单#

最新推荐文章于 2025-01-26 15:52:30 发布

炒鸡嗨客协管徐 于 2018-11-20 21:38:52 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

51单片机播放音乐(一):蜂鸣器 原理 蜂鸣器 乐谱转成循环次数 单片机代码 仿真电路图

本文完整源码

原理

蜂鸣器

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

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

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

乐谱转成循环次数

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

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

网址:51单片机播放音乐(一):蜂鸣器 https://www.yuejiaxmz.com/news/view/836694

相关内容

基于51单片机的智能家居系统
基于51单片机的流水灯设计
音乐播放器排行榜
论文选题分享及思路(二)《基于51单片机环境监测系统》
希音音乐音乐播放器
基于51单片机DHT11的加湿器Proteus仿真程序设计:打造智能环境控制新体验
samsungs4音乐播放器 samsungs4
免费音乐播放
基于单片机的智能垃圾桶设计(51基础版)
【基于51单片机智能垃圾桶 垃圾分类 垃圾识别系统自动控制 DIY 舵机/继电器 系统设计(实物+程序+原理图+其他资料)】

随便看看