基于PWM波的流星灯设计Verilog代码Quartus仿真

名称:基于PWM波的流星灯设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

基于PWM波的流星灯设计

1、控制16个led的亮度变化,使其表现出的显示效果和流星划过

2、该设计要求通过pwm波控制LED的亮度,pwm占空比越大,亮度越大

3、产生16个不同占空比的PWM波形,依次移动产生流星效果

4、使用quartus9.0版本


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


演示视频:

设计文档:

流星灯设计.doc

1.工程文件


2.程序文件


3.程序运行


4.RTL图


5.状态图

6.程序仿真





部分代码展示:

module meteor_led(
input clk,//时钟
input reset,//复位,高电平复位
output [15:0] led//输出流星灯
);
//产生16个不同占空比的PWM波形
reg [7:0] pwm_count=8'd0;
always@(posedge clk)
if(reset)
pwm_count<=8'd0;
else
if(pwm_count>=8'd16)
pwm_count<=8'd0;
else
pwm_count<=pwm_count+8'd1;
reg PWM_1=0;//占空比最小
reg PWM_2=0;
reg PWM_3=0;
reg PWM_4=0;
reg PWM_5=0;
reg PWM_6=0;
reg PWM_7=0;
reg PWM_8=0;
reg PWM_9=0;
reg PWM_10=0;
reg PWM_11=0;
reg PWM_12=0;
reg PWM_13=0;
reg PWM_14=0;
reg PWM_15=0;
reg PWM_16=0;//占空比最大
always@(posedge clk)
if(pwm_count<8'd1)
PWM_1<=1;
else
PWM_1<=0;
always@(posedge clk)
if(pwm_count<8'd2)
PWM_2<=1;
else
PWM_2<=0;
always@(posedge clk)
if(pwm_count<8'd3)
PWM_3<=1;
else
PWM_3<=0;
always@(posedge clk)
if(pwm_count<8'd4)
PWM_4<=1;
else
PWM_4<=0;
always@(posedge clk)
if(pwm_count<8'd5)
PWM_5<=1;
else
PWM_5<=0;
always@(posedge clk)
if(pwm_count<8'd6)
PWM_6<=1;
else
PWM_6<=0;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于PWM波的流星灯设计Verilog代码Quartus仿真

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

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