名稱:脈沖按鍵電話8位顯示的電話按鍵顯示器(代碼在文末下載)
軟件:QuartusII
語(yǔ)言:Verilog
代碼功能:
1、 設(shè)計(jì)一個(gè)具有8位顯示的電話按鍵顯示器;
2、能準(zhǔn)確地反映按鍵數(shù)字;
3、顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;
4、 設(shè)置一個(gè)“重?fù)堋辨I,按下此鍵,能顯示最后一次輸入的電話號(hào)碼;
5、 掛機(jī)2秒后或按熄滅按鍵,熄滅顯示器顯示。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在睿智FPGA開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
睿智FPGA開(kāi)發(fā)板用戶手冊(cè)1.8版.pdf
設(shè)計(jì)文檔:
工程文件
程序文件
程序編譯
RTL圖
管腳分配:
部分代碼展示:
//按鍵電話顯示 module?phone_num( input?clk, input?rst_n,//復(fù)位 input?key0_in,//按鍵輸入 input?key1_in,//按鍵輸入 input?key2_in,//按鍵輸入 input?key3_in,//按鍵輸入 input?key4_in,//按鍵輸入 input?recall_key,//重播鍵 input?close_key,//掛機(jī)鍵 input?dark_key,//熄滅鍵 output?[7:0]?DIG,//數(shù)碼管位選 output?[7:0]?SEG//數(shù)碼管段選 ); wire?[3:0]?key_number;//輸入數(shù) wire?[31:0]?phone_number;//電話號(hào)碼 wire?key0; wire?key1; wire?key2; wire?key3; wire?key4;? //4個(gè)按鍵消抖模塊 key4?i_key4( .?clkin(clk), .?key0_in(key0_in),//輸入 .?key1_in(key1_in),//輸入 .?key2_in(key2_in),//輸入 .?key3_in(key3_in),//輸入 .?key4_in(key4_in),//輸入 .?key0(key0),//消抖后按鍵 .?key1(key1),//消抖后按鍵 .?key2(key2),//消抖后按鍵 .?key3(key3),//消抖后按鍵 .?key4(key4)?//消抖后按鍵 ); //控制模塊 num_ctrl?i_num_ctrl( .?clk(clk), .?rst_n(rst_n),//復(fù)位 .?key0(key0), .?key1(key1), .?key2(key2), .?key3(key3), .?key4(key4), .?recall_key(recall_key),//重播鍵 .?close_key(close_key),//掛機(jī)鍵 .?dark_key(dark_key),//熄滅鍵 .?key_number(key_number),//輸入數(shù)量 .?phone_number(phone_number)//電話號(hào)碼 ); //顯示模塊 segment?i_segment( .?clk(clk), .?key_number(key_number),//輸入數(shù)量 .?phone_number(phone_number),//電話號(hào)碼 .?DIG(DIG),//數(shù)碼管位選 .?SEG(SEG)//數(shù)碼管段選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=276