扫码加入

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

多路彩灯控制器设计Verilog代码Quartus仿真

1小时前
118
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2411211IR3F3.doc

共1个文件

名称:多路彩灯控制器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

多路彩灯控制器

要求设计一个多路彩灯控制器,能够在4种不同的彩灯花样之间进行循环变化,并可设置花型变化的节奏,且可进行复位。

本次设计选择8路LED灯进行花样显示,设置4种花样显示模式分别为:从左到右逐个点亮LED;从右到左逐个点亮LED;从两边到中间逐个点亮LED;从中间到两边两个点亮LED。4种模式循环切换,复位键(rst)控制系统的运行停止。

 

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

 

演示视频:

设计文档:

1. 工程文件

Quartus9.0版本

 

2. 程序文件

 

3. 程序编译

 

4. RTL图

 

5. 仿真文件(VWF文件)

 

6. 仿真图

 

 

管脚分配

 

部分代码展示:

//彩灯模式控制
module LED_mode(
input clk_led,//输入时钟
input rst_n,//复位
output [7:0] LED//输出彩灯
);
reg [4:0] led_cnt=5'd0;//led计数器
always@(posedge clk_led or negedge rst_n)
if(rst_n==0)//复位
led_cnt=5'd23)//0~23循环
led_cnt<=5'd0;
else
led_cnt<=led_cnt+5'd1;//计数
reg [7:0] mode=8'b00000000;
always@(posedge clk_led or negedge rst_n)
if(rst_n==0)//复位
mode<=8'b00000000;
else
case(led_cnt)//根据计数控制LED
5'd0: mode<=8'b10000000;//从左向右移
5'd1: mode<=8'b01000000;
5'd2: mode<=8'b00100000;
5'd3: mode<=8'b00010000;
5'd4: mode<=8'b00001000;
5'd5: mode<=8'b00000100;
5'd6: mode<=8'b00000010;
5'd7: mode<=8'b00000001;
5'd8: mode<=8'b00000010;//从右向左移
5'd9: mode<=8'b00000100;
5'd10:mode<=8'b00001000;
5'd11:mode<=8'b00010000;
5'd12:mode<=8'b00100000;
5'd13:mode<=8'b01000000;
5'd14:mode<=8'b10000000;
5'd15:mode<=8'b10000001;//从两边向中间移
5'd16:mode<=8'b01000010;
5'd17:mode<=8'b00100100;
5'd18:mode<=8'b10011001;
5'd19:mode<=8'b10011001;//从中间向两边移
5'd20:mode<=8'b00100100;
5'd21:mode<=8'b01000010;
5'd22:mode<=8'b10000001;
5'd23:mode<=8'b00000000;//全灭重新开始
default:;

 

 

 

  • 2-2411211IR3F3.doc
    下载

相关推荐