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

基于FPGA的電子密碼鎖的設計VHDL代碼Quartus仿真

8小時前
132
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-24030415501b50.doc

共1個文件

名稱:基于FPGA的電子密碼鎖的設計VHDL代碼Quartus仿真

軟件:Quartus

語言:VHDL

代碼功能:

電子密碼鎖的設計

設計任務:

1.密碼輸入:每按下一個數(shù)字鍵,就輸入一個數(shù)值,并在顯示器上顯示該數(shù)值,同時將先前輸入的數(shù)據(jù)依次左移一位;

2.密碼清除:按下清除鍵可清除前面所有的輸入值,清除結(jié)果為“0000”;

3.密碼更改:按下更改鍵可將目前的數(shù)碼設定為新的密碼;

4.密碼上鎖:按下上鎖鍵密碼鎖上鎖;

5. 密碼解除:按下解除鍵首先檢查輸入密碼是否正確,密碼正確就開鎖。

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

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

顯示模塊

密碼輸入模塊

密碼鎖控制模塊

密碼修改模塊

部分代碼展示:

--設計一個四位的電子密碼鎖,
--每按下一個數(shù)字鍵,就輸入一個數(shù)字,
--并在顯示器上顯示該數(shù)值,同時將先前輸入的數(shù)據(jù)左移。
--此外,包含密碼清除(清楚結(jié)果為0000),
--密碼更改(按下更改鍵可將目前的密碼設定為新密碼),
--密碼上鎖和密碼解除(按下解除首先檢查密碼是否正確,密碼正確就開鎖)功能。
LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
--頂層模塊
ENTITY?mimasuo?IS
???PORT?(
??????clk???????:?IN?STD_LOGIC;--1024Hz
??????
??????key_0?????:?IN?STD_LOGIC;--按鍵輸入0
??????key_1?????:?IN?STD_LOGIC;--按鍵輸入1
??????key_2?????:?IN?STD_LOGIC;--按鍵輸入2
??????key_3?????:?IN?STD_LOGIC;--按鍵輸入3
??????key_4?????:?IN?STD_LOGIC;--按鍵輸入4
??????key_5?????:?IN?STD_LOGIC;--按鍵輸入5
??????key_6?????:?IN?STD_LOGIC;--按鍵輸入6
??????key_7?????:?IN?STD_LOGIC;--按鍵輸入7
??????key_8?????:?IN?STD_LOGIC;--按鍵輸入8
??????key_9?????:?IN?STD_LOGIC;--按鍵輸入9
??????
??????confirm???:?IN?STD_LOGIC;--確認鍵(開鎖)
??????modify????:?IN?STD_LOGIC;--修改鍵(更改)
??????lock_up???:?IN?STD_LOGIC;--鎖住鍵(上鎖)
???delect????:?IN?STD_LOGIC;--刪除鍵(清除)
??????led_open??:?OUT?STD_LOGIC;--開鎖指示信號,高電平表示開鎖,低電平表示鎖住
??????
??????HEX0??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管顯示
??????HEX1??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管顯示
??????HEX2??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管顯示
??????HEX3??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)--數(shù)碼管顯示
???);
END?mimasuo;
ARCHITECTURE?trans?OF?mimasuo?IS
???--例化重置模塊
???COMPONENT?reset_password?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;
?????????password??:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);
?????????correct_password?:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0);
?????????confirm???:?IN?STD_LOGIC;
?????????current_state?:?IN?STD_LOGIC_VECTOR(2?DOWNTO?0)
??????);
???END?COMPONENT;
???--例化顯示模塊
???COMPONENT?display?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;
?????????password??:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);--當前輸入密碼
?????????HEX0??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????HEX1??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????HEX2??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????HEX3??????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)
??????);
???END?COMPONENT;
???--例化密碼輸入模塊
???COMPONENT?mima_input?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;
?????????key_0?????:?IN?STD_LOGIC;
?????????key_1?????:?IN?STD_LOGIC;
?????????key_2?????:?IN?STD_LOGIC;
?????????key_3?????:?IN?STD_LOGIC;
?????????key_4?????:?IN?STD_LOGIC;
?????????key_5?????:?IN?STD_LOGIC;
?????????key_6?????:?IN?STD_LOGIC;
?????????key_7?????:?IN?STD_LOGIC;
?????????key_8?????:?IN?STD_LOGIC;
?????????key_9?????:?IN?STD_LOGIC;
???delect????:?IN?STD_LOGIC;--刪除鍵
?????????current_state?:?IN?STD_LOGIC_VECTOR(2?DOWNTO?0);
?????????password??:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)
??????);
???END?COMPONENT;
???--例化密碼鎖控制模塊
???COMPONENT?mimasuo_ctrl?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;
?????????password??:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);
?????????correct_password?:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);
?????????confirm???:?IN?STD_LOGIC;
?????????modify????:?IN?STD_LOGIC;
?????????lock_up???:?IN?STD_LOGIC;
?????????led_open??:?OUT?STD_LOGIC;
?????????current_state?:?OUT?STD_LOGIC_VECTOR(2?DOWNTO?0)
??????);
???END?COMPONENT;
???
???--定義信號
???SIGNAL?current_state????:?STD_LOGIC_VECTOR(2?DOWNTO?0);
???SIGNAL?password?????????:?STD_LOGIC_VECTOR(15?DOWNTO?0);
???SIGNAL?correct_password?:?STD_LOGIC_VECTOR(15?DOWNTO?0);
???SIGNAL?led_open_signal???:?STD_LOGIC;
BEGIN
???led_open?<=?led_open_signal;
???
???--調(diào)用密碼輸入模塊

代碼文件(付費下載):

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

  • 2-24030415501b50.doc
    下載

相關(guān)推薦