名稱:4位密碼鎖可修改密碼及錯誤報警(代碼在文末付費下載)
軟件:Quartus
語言:VHDL
要求:
按鍵包括,0~9,確認,重置,修改,密碼4位,
要能設定密碼,重置密碼,如果密碼輸入正確會亮綠燈,
連續(xù)三次輸入錯誤會報警。
演示視頻:
部分代碼展示
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; --按鍵包括,0~9,確認,重置,修改,密碼4位 --要能設定密碼,重置密碼,如果密碼輸入正確會亮綠燈, ENTITY?mimasuo?IS ???PORT?( ??????clk??????????:?IN?STD_LOGIC;--時鐘 ??????--數(shù)字輸入按鍵 ??????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; ?????? ??????clear_key????:?IN?STD_LOGIC;--4-清除輸入 ??????confirm_key??:?IN?STD_LOGIC;--3-確認鍵 ??????reset????????:?IN?STD_LOGIC;--2-復位 ??????modify_key???:?IN?STD_LOGIC;--1--修改 ??????lock_up_key??:?IN?STD_LOGIC;--0--上鎖 ?????? ??????alarm????????:?OUT?STD_LOGIC;--報警,紅燈 ??????led_open?????:?OUT?STD_LOGIC;--開鎖,綠燈,當為低電平時,對應的LED燈點亮 ??????led_lock?????:?OUT?STD_LOGIC;--關鎖 ??????--數(shù)碼管? ??????bit_select???:?OUT?STD_LOGIC_VECTOR(5?DOWNTO?0);--數(shù)碼管位選 ??????seg_select???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選 ???); END?mimasuo; ARCHITECTURE?behave?OF?mimasuo?IS --模塊例化 ???COMPONENT?alarm_on?IS ??????PORT?( ?????????clk??????????:?IN?STD_LOGIC; ?????????current_state?:?IN?STD_LOGIC_VECTOR(2?DOWNTO?0); ?????????alarm????????:?OUT?STD_LOGIC ??????); ???END?COMPONENT; ??? ???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;
設計文檔(文檔點擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
5.1 alarm模塊仿真
5.2 display模塊仿真
5.3 key_jitter模塊仿真
5.4 mima_input模塊仿真
5.5 mimasuo_ctrl模塊仿真
5.6 reset_password模塊仿真
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=168
閱讀全文