本文主要是介绍多模爆闪灯流水灯8种模式Verilog代码Quartus仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
名称:多模爆闪灯流水灯8种模式Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
多模爆闪灯←
应用于警车、岗亭、道路维修等场合,能够通过按键切换8种不同的工作模式。←
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
整体仿真图
分频模块
按键控制模块
LED控制模块
部分代码展示:
//LED控制模块 module LED_ctrl( input clk_div,//时钟 input rst_n,//复位 input [2:0] mode,//模式控制 output reg [7:0] LED//LED灯 ); reg [2:0] led_cnt=3'd0; always@(posedge clk_div) led_cnt<=led_cnt+1;//0~7循环计数 always@(posedge clk_div or negedge rst_n) if(rst_n==0)//复位 LED<=8'b00000000;//清零 else case(mode) 3'd0://模式1 case(led_cnt) 3'd0:LED<=8'b11000011; 3'd1:LED<=8'b00111100; 3'd2:LED<=8'b11000011; 3'd3:LED<=8'b00111100; 3'd4:LED<=8'b11000011; 3'd5:LED<=8'b00111100; 3'd6:LED<=8'b11000011; 3'd7:LED<=8'b00111100; endcase 3'd1://模式2 case(led_cnt) 3'd0:LED<=8'b10000000; 3'd1:LED<=8'b01000000; 3'd2:LED<=8'b00100000; 3'd3:LED<=8'b00010000; 3'd4:LED<=8'b00001000; 3'd5:LED<=8'b00000100; 3'd6:LED<=8'b00000010; 3'd7:LED<=8'b00000001; endcase 3'd2://模式3 case(led_cnt) 3'd0:LED<=8'b11110000; 3'd1:LED<=8'b11110000; 3'd2:LED<=8'b00001111; 3'd3:LED<=8'b00001111; 3'd4:LED<=8'b11110000; 3'd5:LED<=8'b11110000; 3'd6:LED<=8'b00001111; 3'd7:LED<=8'b00001111; endcase 3'd3://模式4 case(led_cnt) 3'd0:LED<=8'b11000000; 3'd1:LED<=8'b00110000; 3'd2:LED<=8'b00001100; 3'd3:LED<=8'b00000011; 3'd4:LED<=8'b11000000; 3'd5:LED<=8'b00110000; 3'd6:LED<=8'b00001100; 3'd7:LED<=8'b00000011; endcase 3'd4://模式5 case(led_cnt) 3'd0:LED<=8'b00111111; 3'd1:LED<=8'b11001111; 3'd2:LED<=8'b11110011; 3'd3:LED<=8'b11111100; 3'd4:LED<=8'b11111100; 3'd5:LED<=8'b11110011; 3'd6:LED<=8'b11001111; 3'd7:LED<=8'b00111111; endcase 3'd5://模式6 case(led_cnt) 3'd0:LED<=8'b00011110; 3'd1:LED<=8'b00001111; 3'd2:LED<=8'b10000111; 3'd3:LED<=8'b11000011; 3'd4:LED<=8'b11100001; 3'd5:LED<=8'b11110000; 3'd6:LED<=8'b01111000; 3'd7:LED<=8'b01111100; endcase 3'd6://模式7 case(led_cnt) 3'd0:LED<=8'b10000001; 3'd1:LED<=8'b01000010; 3'd2:LED<=8'b00100100; 3'd3:LED<=8'b00011000; 3'd4:LED<=8'b00011000; 3'd5:LED<=8'b00100100; 3'd6:LED<=8'b01000010; 3'd7:LED<=8'b10000001; endcase 3'd7://模式8 case(led_cnt) 3'd0:LED<=8'b11111110; 3'd1:LED<=8'b11111101; 3'd2:LED<=8'b11111011; 3'd3:LED<=8'b11110111; 3'd4:LED<=8'b11101111; 3'd5:LED<=8'b11011111; 3'd6:LED<=8'b10111111; 3'd7:LED<=8'b01111111; endcase default:; endcase endmodule
源代码
扫描文章末尾的公众号二维码
这篇关于多模爆闪灯流水灯8种模式Verilog代码Quartus仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!