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

占空比可调的PWM波发生器设计Verilog代码Quartus ep1c3开发板

09/16 11:04
512
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24101QSGAc.doc

共1个文件

名称:占空比可调的PWM波发生器设计Verilog代码Quartus? ep1c3开发板

软件:Quartus

语言:Verilog

代码功能:

占空比可调的PWM波发生器

1、产生PWM波,可以通过按键调整占空比

2、使用2个按键,一个按键控制增加占空比,一个按键控制减小占空比

3、数码管显示占空比

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

本代码已在ep1c3开发板验证,ep1c3开发板如下,其他开发板可以修改管脚适配:

ep1c3开发板.jpg

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Rtl图

5. Testbench

6. 仿真图

模块仿真

按键模块

显示模块

Duty模块

Pwm模块

部分代码展示:

module?PWM(
input?clk_50M,//50MHz时钟
input?key_add,//调节占空比按键,加
input?key_sub,//调节占空比按键,减
output?[5:0]?PWM_LED,//PWM指示灯
output?[3:0]?weixuan,//数码管位选
output?[7:0]?duanxian//数码管段选
);
wire?[6:0]?duty_data;//占空比计数值
wire?add_duty;
wire?sub_duty;
wire?PWM_wave;
//按键消抖模块
key_jitter?add_key_jitter(
.?clkin(clk_50M),????
.?key_in(key_add),//输入
.?key_negedge(add_duty),//消抖后按键下降沿
);
//按键消抖模块
key_jitter?sub_key_jitter(
.?clkin(clk_50M),????
.?key_in(key_sub),//输入
.?key_negedge(sub_duty),//消抖后按键下降沿
);
//占空比控制模块
duty_ctrl?i_duty_ctrl(
.?clk_50M(clk_50M),//50MHz时钟
.?add_duty(add_duty),//调节占空比按键,加
.?sub_duty(sub_duty),//调节占空比按键,减
.?duty_data(duty_data)//占空比计数值
);
//PWM波控制模块
PWM_ctrl?i_PWM_ctrl(
.?clk_50M(clk_50M),//输入50MHz
.?duty(duty_data),//占空比控制信号,最大100
.?PWM_wave(PWM_wave)//输出PWM波
);

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

  • 2-24101QSGAc.doc
    下载

相关推荐