8路LED流水灯设计Verilog代码Quartus仿真

名称:8路LED流水灯设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

8路LED流水灯设计

1、设计8路led流水灯

2、流水灯具有4种变化模式:从左到右依次点亮变化;从右到左依次点亮变化;从两边到中间再到两边点亮变化;从左到右熄灭

变化

3、不同模式通过开关控制

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. 仿真文件

6. 仿真图

部分代码展示:

module led_ctrl(
input clk_in,//系统时钟
input reset_n,//低电平有效的复位信号--key0
input [1:0]switch,//拨码开关--key1~2
output reg[7:0]led//流水灯的输出
);
reg [31:0]cnt0 = 32'd0;
reg [3 :0]cnt1 = 4'd0;
reg clk_1hz = 1'b0;//分频输出1hz频率的信号
parameter N=32'd50_000_000;//50MHz,若晶振为25M,则改为25_000_000,板子验证时用这句
//parameter N=32'd50;//仿真时用这句,仿真为便于减小时间,计数器改小为50。
/分频进程//
always @(posedge clk_in)
begin
if(!reset_n)begin
cnt0 <= 32'd0;
clk_1hz<=0;
end
else if(cnt0 == N/2-1)begin//时钟的一半减1
cnt0 <= 32'd0;
clk_1hz<=~clk_1hz;//1Hz信号
end
else begin
cnt0 <= cnt0 + 32'd1;
end
end
//
/计数0~7进程//
always @(posedge clk_1hz)
begin
if(!reset_n)
cnt1 <= 4'd0;
else if(cnt1 == 4'd7)//计数0~7
cnt1 <= 4'd0;
else
cnt1 <= cnt1 + 4'd1;//计数
end
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值