基于FPGA的6位的电子密码锁VHDL代码Quartus AX301开发板
名称:基于FPGA的6位的电子密码锁VHDL代码Quartus AX301开发板
软件:Quartus
语言:VHDL
代码功能:
6位的电子密码锁
1.每按下一个数字键,就输入一个数字,
2.并在显示器上显示该数值,同时将先前输入的数据左移。
3.此外,包含密码清除(密码右移),
4.密码更改(可以通过按键修改新密码),
5.密码上锁和密码解除(按下解除首先检查密码是否正确,密码正确就开锁)功能。
6.密码连续错误3次报警
7.使用4x4矩阵键盘输入数字
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在AX301开发板(加4x4矩阵键盘)验证,AX301开发板如下,其他开发板可以修改管脚适配:
设计文档:
1、工程文件

2、程序文件


3、程序编译

4、RTL图

5、管脚分配

6、仿真图
报警仿真

密码输入仿真

控制仿真

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --显示模块 ENTITY display IS PORT ( clk : IN STD_LOGIC; password : IN STD_LOGIC_VECTOR(23 DOWNTO 0);--输入密码 HEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示密码 HEX1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示密码 HEX2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示密码 HEX3 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --数码管显示密码 ); END display; --一共4位密码--输入数据显示 ARCHITECTURE behave OF display IS BEGIN --数码管译码 PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN CASE password(15 DOWNTO 12) IS--密码第1位 WHEN "0000" => HEX3 HEX3 HEX3 HEX3 HEX3 HEX3 HEX3 HEX3 HEX3 HEX3 END CASE; END IF; END PROCESS; --数码管译码 PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN CASE password(11 DOWNTO 8) IS--密码第2位 WHEN "0000" => HEX2 HEX2 HEX2 HEX2 HEX2 HEX2 HEX2 HEX2 HEX2 HEX2 END CASE; END IF; END PROCESS; --数码管译码 PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN CASE password(7 DOWNTO 4) IS--密码第3位 WHEN "0000" => HEX1 HEX1 HEX1 HEX1 HEX1 HEX1 HEX1 HEX1 HEX1 HEX1 END CASE; END IF; END PROCESS;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于FPGA的6位的电子密码锁VHDL代码Quartus AX301开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于FPGA的6位的电子密码锁VHDL代码Quartus AX301开发板