基于FPGA的音乐喷泉控制Verilog代码Quartus仿真

这篇具有很好参考价值的文章主要介绍了基于FPGA的音乐喷泉控制Verilog代码Quartus仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:基于FPGA的音乐喷泉控制Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

基于FPGA的音乐喷泉控制

1、具有启动控制按键,按下后开始

2、喷泉具有6个喷嘴,可以手动切换三种工作模式

3、输入的音乐信号分为低音、中音、高音

4、将输入的音转换为对应的pwm波占空比参数

5、不同的工作模式下,6个喷嘴对应pwm波的分部不同

音乐喷泉

1.程序文件

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

2.程序运行

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

3.程序RTL图

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

4.Testbench

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

5.仿真图

fountain_out为输出的6喷嘴[5:0],喷嘴输出为不同占空比的PWM波

Mode 切换不同模式

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

Start为高电平时启动

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

高中低对应的占空比不一样

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

输出的6个喷嘴,下图中喷嘴5,3,1分别对应高、中、低,4,2,0未打开,不同模式下对应喷嘴不同,启动的喷嘴也不同。

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

下图中可看到不同模式下喷嘴启动不一样。

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

状态机

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

状态图

基于FPGA的音乐喷泉控制Verilog代码Quartus仿真,fpga开发

部分代码展示:

module Musical_fountain(
input clk,
input start,//为高电平时开启
input [1:0] mode,//三种模式,00,01,10
input [2:0] low_music,//低音,0~7
input [2:0] mid_music,//中音,0~7
input [2:0] hig_music,//高音,0~7
output [5:0] fountain_out //6个喷嘴输出
);
wire [7:0] low_music_zkb;
wire [7:0] mid_music_zkb;
wire [7:0] hig_music_zkb;
//将输入的音转换为对应的pwm占空比参数
zhankongbi low_music_zhankongbi(
. clk(clk),
. voice(low_music),
. pwm_zhankongbi(low_music_zkb)
);
//将输入的音转换为对应的pwm占空比参数
zhankongbi mid_music_zhankongbi(
. clk(clk),
. voice(mid_music),
. pwm_zhankongbi(mid_music_zkb)
);
//将输入的音转换为对应的pwm占空比参数
zhankongbi hig_music_zhankongbi(
. clk(clk),
. voice(hig_music),
. pwm_zhankongbi(hig_music_zkb)
);
//分频100
reg [7:0] pwm_cnt=8'd0;
always@(posedge clk)
if(pwm_cnt>=8'd100)
pwm_cnt<=8'd0;
else
pwm_cnt<=pwm_cnt+8'd1;
reg low_music_pwm=0;
reg mid_music_pwm=0;
reg hig_music_pwm=0;
always@(posedge clk)
if(start==0)
low_music_pwm<=0;
else
if(low_music_zkb>pwm_cnt)
low_music_pwm<=1;//产生低音PWM波
else
low_music_pwm<=0;
always@(posedge clk)
if(start==0)
mid_music_pwm<=0;
else
if(mid_music_zkb>pwm_cnt)
mid_music_pwm<=1;//产生中音PWM波
else
mid_music_pwm<=0;
always@(posedge clk)
if(start==0)
hig_music_pwm<=0;
else
if(hig_music_zkb>pwm_cnt)
hig_music_pwm<=1;//产生高音PWM波
else
hig_music_pwm<=0;
reg [5:0] fountain=6'd0;
parameter S0=2'b00;
parameter S1=2'b01;
parameter S2=2'b10;
reg [1:0] state=2'b00;
always@(posedge clk)
case(state)//mode控制不同模式,即改变喷嘴对应不同的音,可自己组合
S0:
if(mode==2'b01)
state<=S1;
else if(mode==2'b10)
state<=S2;
else
state<=S0;
S1:
if(mode==2'b00)
state<=S0;
else if(mode==2'b10)
state<=S2;
else
state<=S1;
S2:
if(mode==2'b00)
state<=S0;
else if(mode==2'b01)
state<=S1;
else
源代码

 扫描文章末尾的公众号二维码文章来源地址https://www.toymoban.com/news/detail-836864.html

到了这里,关于基于FPGA的音乐喷泉控制Verilog代码Quartus仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的电风扇控制器verilog,视频/代码

    名称:基于FPGA的电风扇控制器verilog 软件:QuartusII 语言:Verilog 代码功能: 基于FPGA的电风扇控制器  运用 EDA SOPO实验开发系统设计一个基于FPGA的电风扇定时开关控制器,能实现手动和自动模式之间的切换。要求:  (1)KI为电源开关由电源开关控制电风扇的开关,即当K1为高电平“

    2024年02月07日
    浏览(53)
  • 基于EDA的电烤箱控制器设计Verilog代码Quartus 新起点FPGA开发板

    名称:基于EDA的电烤箱控制器设计Verilog代码Quartus  新起点FPGA开发板(文末获取) 软件:Quartus 语言:Verilog 代码功能: 基于EDA的电烤箱控制器设计 主要研究内容 设计一个电烤箱控制器电路,要求具有三档加热功能,分别表示烧烤加热为低火、中火、高火。具有复位开关、启动

    2024年02月01日
    浏览(40)
  • FPGA中Verilog的单首音乐播放器代码,简洁易懂

    利用数控分频器设计硬件乐曲演奏电路,利用蜂鸣器播放《我和我的祖国》 分频器模块: module div(iclk_50,rst,addr,clk_4); input iclk_50; input rst; output [8:0]addr; output clk_4; reg clk_4; reg [8:0]addr; reg [31:0]count_4; always@(posedge iclk_50 or negedge rst) begin     if(!rst)         begin          clk_4=1\\\'b

    2024年02月08日
    浏览(36)
  • 电子定时器洗衣机控制Verilog代码Quartus 睿智FPGA开发板

    名称:电子定时器洗衣机控制Verilog代码Quartus   睿智FPGA开发板(文末获取) 软件:Quartus 语言:Verilog 代码功能: 1.设计一个电子定时器,控制洗衣机作如下运转:定时启动,正转20秒,暂停10秒,反 转20秒,暂停10秒,定时未到回到“正转20秒暂停10秒..... 2.若定时到,则停机发

    2024年01月20日
    浏览(47)
  • 基于FPGA和Verilog实现的9层电梯控制器仿真设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85628810 资源下载地址:https://download.csdn.net/download/sheziqiong/85628810 电梯最少可以往返于0—9层楼。 乘客要去的楼层数A可手动输入并显示,按取消键可清除本次输入。 可自动显示电梯运行的楼层数B 当AB时,电梯上升; 当AB时,

    2024年02月02日
    浏览(66)
  • QuartusLCD1602液晶驱动显示控制verilog代码青创QC-FPGA开发板

    名称:QuartusLCD1602液晶驱动显示控制verilog代码青创QC-FPGA开发板(文末获取) 软件:Quartus 语言:Verilog 代码功能: LCD1602液晶驱动显示控制 第一行显示\\\"HUAWEI NOVA7\\\"  第二行显示\\\"5Gshouji\\\"      显示内容可以直接修改以下代码实现 parameter   Data_First =  \\\"  HUAWEI NOVA7 \\\",         

    2024年02月03日
    浏览(39)
  • 基于FPGA的4x4矩阵键盘控制器verilog开发实现

    欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果        基于FPGA的4x4矩阵键盘控制器是一种使用FPGA(现场可编程门阵列)来实现对4x4矩阵键盘进行控制的设备。该控制器能够有效地降低硬件资源的使用,提高系

    2024年02月11日
    浏览(43)
  • 基于fpga的ddr3读写控制,纯verilog实现,能实现多通道图像数据读写控制

    基于fpga的ddr3读写控制,纯verilog实现,能实现多通道图像数据读写控制,模块接口清晰,可移植性高. 基于FPGA的DDR3读写控制是一项重要的技术,它为多通道图像数据的读写提供了高效的解决方案。本文将介绍一种纯Verilog实现的DDR3读写控制模块,旨在实现模块接口清晰、可移

    2024年04月12日
    浏览(55)
  • 基于FPGA的CAN通讯verilog代码设计

    FPAGA本篇文章参考github网站的开源项目can-FPGA-master编写改进 在调试过程中,发现该项目无法在quartus pro13.0的环境下运行通过,代码存在错误,并且对于EP4系列的芯片来说有太多的IO口,无法在烧录,所以笔者对此进行了改进。  can_top模块 can_tx传输数据模块 can_rx接收数据模块

    2024年02月08日
    浏览(45)
  • 基于FPGA的MSK调制波形Verilog代码Quartus仿真

    名称:基于FPGA的MSK调制波形Verilog代码Quartus仿真(文末获取) 软件:Quartus 语言:Verilog 代码功能: 基于FPGA的MSK调制波形 1、输入调制原始数据,输出MSK调制波形 2、包括差分编码模块,MSK调制模块,DDS模块,有符号乘法器模块等 1. 工程文件 2. 程序文件 3. 程序编译 4. RTL图

    2024年02月20日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包