名称:电子琴设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:有8个琴键,按下输出对应音调
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1、工程文件
原理说明:电子琴弹奏的原理为通过蜂鸣器发声,分频器的不同频率对应不同的音调。通过编写代码,实现按下不同的按键输出对应频率的信号至蜂鸣器,就能发出对应音调的声音。
2、程序文件
3、程序编译
4、RTL图
5、testbench
6、仿真图
整体仿真图
分频模块
音频控制模块
部分代码展示:
//分频模块 module divider( input clk_2M,//2MHz时钟 input btn1,//琴键1 input btn2,//琴键2 input btn3,//琴键3 input btn4,//琴键4 input btn5,//琴键5 input btn6,//琴键6 input btn7,//琴键7 input btn8,//琴键8 output [11:0] fenping_cnt//分频数输出 ); //分频 reg [11:0] cnt=12'd0; always@(posedge clk_2M) if(btn1==1)//琴键1 cnt<=12'hEF0;//音阶1对应分频数 else if(btn2==1)//琴键2 cnt<=12'hD4F;//音阶2对应分频数 else if(btn3==1)//琴键3 cnt<=12'hBDA;//音阶3对应分频数 else if(btn4==1)//琴键4 cnt<=12'hB31;//音阶4对应分频数 else if(btn5==1)//琴键5 cnt<=12'h9F7;//音阶5对应分频数 else if(btn6==1)//琴键6 cnt<=12'h8E0;//音阶6对应分频数 else if(btn7==1)//琴键7 cnt<=12'h7E8;//音阶7对应分频数 else if(btn8==1)//琴键8 cnt<=12'h776;//音阶8对应分频数 else
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1533
阅读全文
326