基于STM32的PWM音乐播放器应用设计-马志强_第1页
基于STM32的PWM音乐播放器应用设计-马志强_第2页
基于STM32的PWM音乐播放器应用设计-马志强_第3页
基于STM32的PWM音乐播放器应用设计-马志强_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于的 音乐播放器应用设计马志强,王建刚,孙少林,胡明(总参谋部通信训练基地 ,宣 化 )摘要:基于位 的 ,利 用 产生的音频信号驱动蜂鸣器演奏乐曲 ,实现了音乐播放器的应用设计 。 该 播放器能实现从低音到高音的 个 音 阶 ,并能根据乐谱演奏完整的曲目 。 测 试 结 果 表 明 , 的 输 出 信 号 与 各 音 阶 对应的声音频率基本一致 ,方 案切实可行。 这一方法也可用于电机控制 、电子琴设计等方面 ,具有较好的实用性 。关键词 :;蜂 鸣器 ;定 时器 ;音 乐中图分类号 : 文献标识码 : , ( ,):, , , ,:;专心-专注-专业在科研项目开

2、发 中 ,有 时会遇到需要播放电话铃声、 音乐等情况。 简单的做法是购买专用音乐芯片 ,但 该方法 的缺点是播放的内容 不 可 变 ,不能很好地满足项目需求 。 一般地 ,可 采用等单片机实现音乐播放,其 播放 内容及歌曲数量都可以随时修改 ,使用上相对方便 。 随着 系 列微处 理 器 的 出 现 ,其 基 于 内 核的 位闪存微控制器 ,高 达 的 主 频 ,高 集 成 度 、实 时性 、数 字信号处 理 、低 功 耗 、低电压操作等众多特 点 ,使 得其应用越来越广泛。 本 文 基 于 处 理 器, 根据乐曲简谱制作供程序识别的乐谱 ,并 利用内部定时器 产生 输 出 信 号 ,驱动蜂鸣

3、器完成自定义乐谱的播 放。 经测试 ,播 放效果良好。乐谱简析 音阶音阶是音 乐必不可少的要素 ,主 要 由声音的频率决 定。 通过给蜂鸣器不同频率的音频脉冲 ,可 以产生不同的 音阶 ,而 要产生某频率 的 音 频 脉 冲 ,最简单的办法是算出 该音频的周期 ,然 后将 此 周 期 除 以 即为半周期的时间。 通过程序控制单片机某 引 脚 半 周 期 为 “高 ”、半 周 期 为 “低”,不 断交替变换 ,即可产生该频率的矩形波 ,接 到蜂鸣器上就可发出该频率的声音。 若想改变音阶 ,只 需要改变 半周期时间即可。 表为 调时音符频率对照表 ,据 此可 产生不同音阶的音符。“”表 示半音 ,

4、用 于上升或下降半 个音 ,乘 以就提升该 声 音 一 个 度 音 阶 ,减 半 则 降 一 个 度。表 调时音符频率对照表 音符低 音中 音高 音 节拍若要构成音乐 ,光有音阶是不够的 ,还 需要节拍 ,也 就 是音符持续时间的长短 ,一般用拍数表示 。 至于 拍是多 少秒 ,没有严格的规定 ,只 要节拍适宜 ,声 音悦耳即可。 假 如某首歌曲的节奏是每分钟 拍 ,那 么 拍 为 , 拍 为,以此类推可得到其他节拍对应的时长 。 这样 ,利用不同的频率 ,加上与拍数对应的延时 ,就 构成了敬请登录网站在线投稿 年第 期 乐曲。 中的定时器音阶的产生与声音 频 率 有 关 ,为了实现不同音阶

5、,必 须能为蜂鸣器 提 供不同频率的脉冲。 为 此 ,选 择 芯片 ,利用其自带的定时器 ,通 过 产 生 脉 冲 信 号。 中 一共 有 个 定 时 器 ,包 含 个高级控制定时 器 、个 普通定时器 、 个 基 本 定 时 器 ,以 及 个 看 门 狗 定 时器 和 个 系 统 滴 答 定 时 器 。 其 中 , 和 是 高级定时器 ,时 钟由 的 输出产生。 是 普通定时器 , 和 是 基 本 定 时 器 ,这 个定时器的时钟由 的 输出产生。 定时时长的计算定时器的一个主要 功 能就是到指定时间就会产生一 个溢出事件 ,这 个时间 的 设 置与定时器时钟有关 ,在 定 时 器时钟基础上

6、进行预分频 ,设置计数溢出大小即可 。 系统时钟设置要保证定时的准确性 ,必须先确保系统时钟的 设置是 我们所预期的。 定时器时钟分配如图 所 示。 通 过 编 程 使 为 , 预 分 频 后 得 到 为 ,再 经 倍 频 器 得 到 时钟 。 时 钟 源 多 采 用 (外 部 时 钟 源 ),对 于 ,其 外部 时 钟 为 ,而 外 部 时钟为 ,因 此 ,在 使用 做时钟源时 ,这 两种器 件产 生 的分频和倍频方式不同 ,需 要 使 用 者 引 起注意。图 定时器时钟分配图 定时器相关参数设置定时器的 参 数 由 结 构 体 定 义, 主要包括预分频系数 、时 钟分割 、计 数器模式 、

7、计 数溢出大 小等。 例如 ,要 由 (定 时器)产生一个时长为的 定时 ,首 先 ,应进行系统时钟的设置 ,得 到 ,然后进行定时器设置 。 其中 ,预 分频系数 为, 此时 , 时 钟 为 ,无 时 钟 分割。 设置计数溢出大 小 为 ,即 每 计 个 数 就 产 生一个更新事件 ,输 出频率 为 。 代 码 如下:() ;预 分频系数;设 置时钟分割 ;设置计数溢出大小 ;将 配置应用到 中(,); 的 输出脉冲宽度调 制 ( ,)是 利 用微处理器的数字输出来对模拟电 路进行控制的一种非 常有效的技术 ,简 而言 之 ,就 是实现对输出信号脉冲宽度 的控制 ,一 般用 来 控制步进电机

8、等。 的 定 时 器 除 了 和 之 外 ,其他的定时器都可以用来产生 输出 ,其 中 ,高 级定时 器 和 能 够 产 生 对 互补 输 出 ,而 也 能 同 时 产 生 路 的 输出。 输出引脚给 不同的定时器分配了不同的输出引脚 ,考 虑到引脚复 用 功 能 , 还 提 出 了 一 个 “重 映 像 ”的 概 念 ,就是通过设置 某一 些 相 关 的 寄 存 器 ,使得在其他非原 始指定的引脚上也能输出 波形 ,但 是这种重映像不 是随意的 ,使 用方法可参 照 参 考 文 献 。 例 如 , 的 通道,在 没有重映像的时候 ,指 定 的 引 脚 是 。 如 果 设置部分重映像之后 ,输

9、 出 就 被 映 像 到 上 了 ;如 果 设 置完全重映像的话 ,输出就被映像到 上 。 占空比的计算占空比()有 如 下 含 义 :在一串理想的脉冲 周期序列(如 方波)中 ,正脉冲的持续时间与脉冲总 周期的 比值。()×()占空比 当 为时 ,若想得到占空比 ,则 应 设 置 为 ()。 具 体 设 置 如下:() 年第 期;设 置占空比 ;设 置 的 输出为使能(,); 主程序设计程序流程如 图 所 示。 由 于 的 输 出 引 脚 是 ,所 以我们采用 的 通道 来 产 生 输 出。 在 设置 程 序 中 ,将 的 通 道 引脚部分重映像到 , 模 式选择为复用推挽输出。

10、程 序 循用 控制蜂鸣器播放音乐 硬件电路设计蜂鸣 器 电 路 如 图 所 示。 需要 注 意 的 是 ,有 源 蜂 鸣 器 是 以固 定 频 率 工 作 ,加 电 即 可 鸣叫 ,无 源 蜂 鸣器可以用不同频 环读取 乐 谱 ,根 据 音 阶 修 改 定 时 器的预 分 频 系 数 ,并 重 新 设 置 定 时 器 和 。 同 时, 利 用 的 内部进 行精确 计时 ,根 据 节 拍 实 现 级 延 时, 并减少内核消耗。 图 为 示 波 器图 主程序流程图率输入信号来控制发声 ,因 此, 需要选 择 无 源 蜂 鸣 器。 核 心 控图 蜂鸣器电路测量得到的低音 的 输出波形。 根据表,该

11、波形频率应 为 ,实 测 为 ,可 见 本 方 案 的制器 件 选 择 ,其 引 脚 连 接 到 。 由电路可知 ,当 为 高 电 平 时 ,蜂 鸣 器 可 工 作, 只要控制 高 低电平输出形成的矩形波的频率就可以 控制蜂鸣器演奏音乐。 程序设计 制作乐谱音阶的产生依 赖 于 输出信号的频率。 为 了 简 化设计 ,我 们令定时 器 的 为 ,且 占 空 比 始终为 ,根 据 式 ()则 为 。 此 时, 输出信号频率仅与定时器预分频系数 有 关 ,只 需 要 调 整 该 系 数 ,即 可得到所需信号频率。 由 下式得到: 输出误差较小。图 输出波形结语 ()既可以搭载,也可以作为单片机使用 ,()× 式()中 , 为音阶对应的频率 ,如 低 音 频 率 为 。 要产生该音频 ,应 为。乐谱由音阶和节拍 组 成 ,每两个元素为一组 ,前 者 表 示音阶 ,后 者表示 节 拍。 节 拍 以 拍 为 基 准 ,存 放 的 数 值为拍 的倍数。 相关代码如下: 节拍 定义音阶(预 分频系数) 低 音 低 音 高 音 定义乐谱(两 只老虎) , ,;是一款性价比较高的处理器。 本 文 利 用 的 定 时器 ,产 生 音频 脉 冲 波 形 ,实 现了音乐播放功能。 这 种方法可用于电机控制 、电子琴以及无线报务中的 电子键 设计等 ,具有较高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论