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

PWM信号发生器设计Verilog代码Quartus仿真

09/25 09:07
215
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241030210211440.doc

共1个文件

名称:PWM信号发生器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

基于FPGA的PWM信号发生器

设计基于FPGA的PWM信号发生器的设计,要求设计一个信号发生器,可以产生PWM波并可以调占空比、频率,并用逻辑分析仪显示。

用quartus平台verilog语言写代码

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

部分代码展示:

module?pwm(clk,?RST,?period_add,?period_sub,duty_add,duty_sub,pulse);
???input????????clk;//1KHz时钟
???input????????RST;//复位
???input??period_add;//周期增加按键
???input??period_sub;//周期减小按键
???input??duty_add;//占空比增加按键
???input??duty_sub;//占空比减小按键
???output???????pulse;//输出PWM波
???
???
???reg?????????pulse=0;
???reg?[15:0]??period_cnt=16'd1000;//周期计数器,默认周期1s
???reg?[7:0]???duty_cnt=8'd50;//占空比信号1%~99%,默认50%
???
???
???reg?[15:0]??count;
//调整周期
always@(posedge?clk?or?posedge?RST)
if(RST)
period_cnt<=16'd1000;//周期计数器,默认周期1s
else
if(period_cnt<=16'd100)
period_cnt<=16'd100;//周期计数器,最低周期100ms
else
if(period_add)//周期增加按键
period_cnt<=period_cnt+16'd100;//周期计数器,步进100ms
else?if(period_sub)//周期减小按键
period_cnt<=period_cnt-16'd100;//周期计数器,步进100ms
else
period_cnt<=period_cnt;
//调整占空比
always@(posedge?clk?or?posedge?RST)
if(RST)
duty_cnt<=8'd50;//占空比信号1%~99%,默认50%
else
if(duty_add)//占空比增加按键

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

  • 2-241030210211440.doc
    下载

相关推荐