扫码加入

  • 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

乐曲演奏器设计Verilog代码Quartus 正点原子新起点开发板

2025/08/20
748
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240Z31S152515.doc

共1个文件

名称:乐曲演奏器设计Verilog代码Quartus  正点原子新起点开发板

软件:Quartus

语言:Verilog

代码功能:

乐曲演奏器设计

1、PWM结合蜂鸣器实现乐曲演奏器实物演示

简谱说明:

8表示简谱1

9表示简谱2

10表示简谱3

以此类推

每个简谱对应4个相同的值

茉莉花的简谱存储在ROM中,具体值可以打开music.mif文件查看

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在正点原子新起点开发板验证,正点原子新起点开发板如下,其他开发板可以修改管脚适配:

正点原子新起点开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

ROM文件

3. 程序编译

 

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

音乐控制模块

频率控制模块

数码管显示模块

附简谱:

部分代码展示:

//音乐播放器
module music(sysclk,stop_key,start_key,led, spkout,bit_select,seg_select);
   input           sysclk;//50M晶振
input           stop_key;//reset
input           start_key;//开始
   output          spkout;//蜂鸣器输出
output          led;//指示灯
output [5:0] bit_select;//数码管位选
   output [7:0] seg_select;//数码管段选
wire      [9:0] tonestep;
   wire      [7:0] tonecode;
wire      [3:0] music_num;
   //调用频率控制字产生模块
   musicdec u_musicdec
(
.tonecode(tonecode),//输入简谱
.tonestep(tonestep)//输出频率控制字
);
//音乐控制模块
music_ctrl i_music_ctrl(
.sysclk(sysclk), 
.start_key(start_key),
.stop_key(stop_key),
.tonecode(tonecode),//简谱
.tonestep(tonestep),//频率控制字
.spkout(spkout),
.led(led)
);
//数码管显示模块
display i_display(
. clk(sysclk),
. tonecode(tonecode),
. bit_select(bit_select),//数码管位选
   . seg_select(seg_select)//数码管段选
);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1023

  • 2-240Z31S152515.doc
    下载

相关推荐