名称:LED 灯闪烁设置Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
LED 灯闪烁功能:
1. 默认状态下 4 颗 LED 依次点亮 600ms,熄灭 400ms;切换状态后 4 颗 LED 依 次点亮 200ms,熄灭 300ms;
2. 使用拨码开关切换状态;
要求:
1. 拨码开关信号消抖,开关的高低电平状态对应的闪烁模式自行定义;
3. FPGA 基础时钟 50MHz,程序内部所有时钟信号使用分频形式生成,不要调用 PLL;
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
部分代码展示:
//LED闪烁控制 /* 1.?默认状态下4颗LED依次点亮600ms熄灭400ms;切换状态后4颗?LED依次点亮?200ms,熄灭?300ms; 2.?使用拨码开关切换状态; 要求: 1.?拨码开关信号消抖,开关的高低电平状态对应的闪烁模式自行定义; 2.?LED?控制信号高电平熄灭,低电平点亮; 3.?FPGA?基础时钟?50MHz,程序内部所有时钟信号使用分频形式生成,不要调 用?PLL; */ module?LED_ctrl( input?clk,//时钟50MHz input?key,//拨码开关 output?reg?[3:0]?LED//输出4个LED ); //50Mhz分频产生1KHz信号 reg?[19:0]?cnt=20'd0; reg?clk_1K=0;//1KHz?信号,周期为1ms always@(posedge?clk) if(cnt==20'd25000)begin//计数25000 cnt<=20'd0; clk_1K<=!clk_1K;//翻转得到1KHz?信号 end else cnt<=cnt+20'd1;//加1计数 //使用1KHz信号检测拨码开关的电平,起到消抖作用 reg?key_level=0; always@(posedge?clk_1K) key_level<=key;//key_level为消抖后的开关信号
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=579
阅读全文