名稱:LED 燈閃爍設(shè)置Verilog代碼Quartus仿真
軟件:Quartus
語言:Verilog
代碼功能:
LED 燈閃爍功能:
1. 默認(rèn)狀態(tài)下 4 顆 LED 依次點(diǎn)亮 600ms,熄滅 400ms;切換狀態(tài)后 4 顆 LED 依 次點(diǎn)亮 200ms,熄滅 300ms;
2. 使用撥碼開關(guān)切換狀態(tài);
要求:
1. 撥碼開關(guān)信號(hào)消抖,開關(guān)的高低電平狀態(tài)對(duì)應(yīng)的閃爍模式自行定義;
2. LED 控制信號(hào)高電平熄滅,低電平點(diǎn)亮;
3. FPGA 基礎(chǔ)時(shí)鐘 50MHz,程序內(nèi)部所有時(shí)鐘信號(hào)使用分頻形式生成,不要調(diào)用 PLL;
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
部分代碼展示:
//LED閃爍控制 /* 1.?默認(rèn)狀態(tài)下4顆LED依次點(diǎn)亮600ms熄滅400ms;切換狀態(tài)后4顆?LED依次點(diǎn)亮?200ms,熄滅?300ms; 2.?使用撥碼開關(guān)切換狀態(tài); 要求: 1.?撥碼開關(guān)信號(hào)消抖,開關(guān)的高低電平狀態(tài)對(duì)應(yīng)的閃爍模式自行定義; 2.?LED?控制信號(hào)高電平熄滅,低電平點(diǎn)亮; 3.?FPGA?基礎(chǔ)時(shí)鐘?50MHz,程序內(nèi)部所有時(shí)鐘信號(hào)使用分頻形式生成,不要調(diào) 用?PLL; */ module?LED_ctrl( input?clk,//時(shí)鐘50MHz input?key,//撥碼開關(guān) output?reg?[3:0]?LED//輸出4個(gè)LED ); //50Mhz分頻產(chǎn)生1KHz信號(hào) reg?[19:0]?cnt=20'd0; reg?clk_1K=0;//1KHz?信號(hào),周期為1ms always@(posedge?clk) if(cnt==20'd25000)begin//計(jì)數(shù)25000 cnt<=20'd0; clk_1K<=!clk_1K;//翻轉(zhuǎn)得到1KHz?信號(hào) end else cnt<=cnt+20'd1;//加1計(jì)數(shù) //使用1KHz信號(hào)檢測(cè)撥碼開關(guān)的電平,起到消抖作用 reg?key_level=0; always@(posedge?clk_1K) key_level<=key;//key_level為消抖后的開關(guān)信號(hào)
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=579