FPGA学习之蜂鸣器演奏乐曲

本文介绍了如何使用FPGA控制蜂鸣器演奏乐曲,通过Verilog HDL实现音调和音长的控制。实验中选择了梁祝作为演奏曲目,详细阐述了音调的频率控制、音长的持续时间设定,以及乐曲演奏电路的原理。通过设置计数器预置数来调整音调,并控制预置数停留时间以控制音长。最后,给出了实验的实现步骤和结果,指出在演奏过程中可能出现的问题。
摘要由CSDN通过智能技术生成

参考链接:http://www.cnblogs.com/kongtiao/archive/2011/07/20/2111581.html

一、实验目的:学习驱动FPGA之IO引脚来控制蜂鸣器演奏音乐。
二、实验环境:FPGA开发板AX301,Quartus ii
三、实验介绍:

我们都知道,乐曲由音调和音长组成,只要将音调和音长控制好就能演奏出动听的乐曲。下面将用Verilog HDL 硬件描述语言完成乐曲演奏的设计。

1、音调的控制

  频率的高低决定了音调的高低。图1.1是音调和音律之间的关系。

                      图1.1 音调和音律之间的关系

  所有不同频率的信号都是从同一个基准频率分频得来的。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取证后的误差较大。若基准频率过高,虽然误差变小,但分频数将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下去合适的基准频率。

  本例中需要演奏的是梁祝,该乐曲各音阶频率及相应的分频比如图1.2所示。

 

                       图1.2 乐曲各音阶频率及相应的分频比

  在表中除了给出分频比外,还给出了对应与各个音阶频率时计数器不同的预置数。对于不同的分频系数,只要加载不同的预置数即可。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来更容易。

 2、音长的控制


  音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。
  本实验中演奏梁祝片断,最短的音符为四分音符。


3、乐曲演奏电路的原理框图

 

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值