• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LED 燈閃爍設(shè)置Verilog代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-240116105T0B6.doc

共1個(gè)文件

名稱:LED 燈閃爍設(shè)置Verilog代碼Quartus仿真

軟件:Quartus

語(yǔ)言:Verilog

代碼功能:

LED 燈閃爍功能:

1. 默認(rèn)狀態(tài)下 4 顆 LED 依次點(diǎn)亮 600ms,熄滅 400ms;切換狀態(tài)后 4 顆 LED 依 次點(diǎn)亮 200ms,熄滅 300ms;

2. 使用撥碼開(kāi)關(guān)切換狀態(tài);

要求:

1. 撥碼開(kāi)關(guān)信號(hào)消抖,開(kāi)關(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.?使用撥碼開(kāi)關(guān)切換狀態(tài);
要求:
1.?撥碼開(kāi)關(guān)信號(hào)消抖,開(kāi)關(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,//撥碼開(kāi)關(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è)撥碼開(kāi)關(guān)的電平,起到消抖作用
reg?key_level=0;
always@(posedge?clk_1K)
key_level<=key;//key_level為消抖后的開(kāi)關(guān)信號(hào)

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=579

  • 2-240116105T0B6.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!