Quartus简易电子琴电路设计verilog代码仿真

名称:Quartus简易电子琴电路设计verilog代码仿真

软件:Quartus

语言:Verilog

代码功能:

简易电子琴电路设计要求

输入量为8个按键,每个按键对应一个音阶;输出量为 SPEAKER

当其中一个按键按下时,输出产生特定频率的音阶方波信号。

假设输入的时钟频率为1MHz。

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



演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench(仿真文件)

6. 仿真图



部分代码展示:

//电子琴设计
module electronic_organ(
input clk,//1MHz
input key_1,//按键1
input key_2,//按键2
input key_3,//按键3
input key_4,//按键4
input key_5,//按键5
input key_6,//按键6
input key_7,//按键7
input key_8,//按键8
output SPEAKER//音频输出
);
parameter div_1=12'hEF0;//音阶1对应分频值
parameter div_2=12'hD4F;//音阶2对应分频值
parameter div_3=12'hBDA;//音阶3对应分频值
parameter div_4=12'hB31;//音阶4对应分频值
parameter div_5=12'h9F7;//音阶5对应分频值
parameter div_6=12'h8E0;//音阶6对应分频值
parameter div_7=12'h7E8;//音阶7对应分频值
parameter div_8=12'h776;//音阶8对应分频值
//分频
reg [11:0] div_num=12'd0;//分频值
always@(posedge clk)
if(key_1==1)//按键1按下
div_num<=div_1;//音阶1对应分频值
else if(key_2==1)//按键2按下
div_num<=div_2;//音阶2对应分频值
else if(key_3==1)//按键3按下
div_num<=div_3;//音阶3对应分频值
else if(key_4==1)//按键4按下
div_num<=div_4;//音阶4对应分频值
else if(key_5==1)//按键5按下
div_num<=div_5;//音阶5对应分频值
else if(key_6==1)//按键6按下
div_num<=div_6;//音阶6对应分频值
else if(key_7==1)//按键7按下
div_num<=div_7;//音阶7对应分频值
else if(key_8==1)//按键8按下
div_num<=div_8;//音阶8对应分频值
else
div_num<=12'd0;
//分频
reg [11:0] div_cnt=12'd0;//分频计数器
always@(posedge clk)
if(div_cnt>=div_num)//计数最大值后回零
div_cnt<=12'd0;
else
div_cnt<=div_cnt+12'd1;//计数



代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Quartus简易电子琴电路设计verilog代码仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员