名称:多路彩灯控制器设计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:;
阅读全文
118