• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

四位電子密碼鎖Verilog代碼QuartusII遠程平臺

06/04 08:20
276
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-23121Q10231F1.doc

共1個文件

名稱:Quartus電子密碼鎖Verilog代碼遠程云端平臺

軟件:Quartus

語言:Verilog

代碼功能:

電子密碼鎖:

密碼有四位(為二進制),有個能隨機產生四位二進制數的程序作為密碼,按一個按鍵就可以產生這個隨機密碼,利用另外四個按鍵開鎖,有5次機會,都輸入錯誤后蜂鳴器報警。有五個顯示管,一個顯示剩余輸入密碼的次數,另外四個顯示輸入的密碼。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在遠程云端平臺驗證,遠程云端平臺如下,其他遠程云端平臺可以修改管腳適配:

遠程平臺照片.png

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. 仿真文件

7. 仿真圖

整體仿真圖

下圖生成的隨機密碼為0111,先后輸入4次密碼,第一次輸入0101,按確認鍵后錯誤,剩余次數變?yōu)?,隨后輸入0010、1010都錯誤,剩余次數也變?yōu)?,最后輸入0111,密碼正確,可輸入密碼次數回到5次。

 

 

部分代碼展示:

module?mimasuo(
input?clk,
input?reset,//復位
input?random_key,//隨機密碼按鍵
input?key_0,//輸入二進制0
input?key_1,//輸入二進制1
input?confirm_key,//確認鍵,輸入完成后按下確認鍵
input?lock_up,//關鎖按鍵
output?[3:0]?correct_password_led,//隨機密碼指示燈
output?led_open,//開鎖指示燈
output?alarm_beep,//報警蜂鳴器
output?[7:0]?segment,//數碼管段選顯示
output?[3:0]?select,?//數碼管位選顯示
output?[7:0]?HEX//數碼管段選顯示
);
wire?[3:0]?correct_password;//隨機密碼
wire?[3:0]?password_in;//顯示輸入密碼
wire?[2:0]?errorcnt;//顯示剩余次數計數
//m序列產生隨機密碼
m_code?i_m_code(
.?clk(clk),
.?rst(reset),
.?random_key(random_key),//隨機密碼按鍵
.?dout(correct_password)//輸出隨機密碼
????);
//控制模塊
mimasuo_ctrl?i_mimasuo_ctrl(
.?clk(clk),
.?reset(reset),//復位
.?key_0(key_0),//輸入二進制0
.?key_1(key_1),//輸入二進制1
.?confirm_key(confirm_key),//確認鍵,輸入完成后按下確認鍵
.?lock_up(lock_up),//關鎖按鍵
.?correct_password(correct_password),//隨機密碼
.?correct_password_led(correct_password_led),//隨機密碼指示燈
.?led_open(led_open),//開鎖指示燈
.?alarm_beep(alarm_beep),//報警蜂鳴器
.?password_in(password_in),//顯示輸入密碼
.?errorcnt(errorcnt)//顯示剩余次數計數
);
//數碼管顯示模塊
display?i_display(
.?clk(clk),//
.?password_in(password_in),//輸入密碼
.?errorcnt(errorcnt),//剩余次數計數
.?segment(segment),//數碼管段選顯示
.?select(select),?//數碼管位選顯示
.?HEX(HEX)//數碼管段選顯示
);
endmodule

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

  • 2-23121Q10231F1.doc
    下載

相關推薦