渴求VHDL编程做的电子锁

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:54:13
开锁代码为八位二进制数,有正确和错误指示灯
开锁密码可调,预置方便
密码错误时亮灯且鸣喇叭
可兼门铃用

给你一个类似的,自己改改用吧,呵呵

1、设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;
2、在锁的控制电路中储存一个可以修改的4位二进制代码,当开锁按钮开关的输入代码等于储存代码时,开锁;
3、 从第一个按钮触动后的30秒内若未将锁打开,则电路长报警5S,若输入密码错误1或2次,则每次短报警1S,若输错三次密码则长报警。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity lock is
port(clk_1k:in std_logic; --1024HZ频率输入管脚
enter_2,enter_1: in std_logic; --设密码确认及输入密码确认
datain:in std_logic_vector(3 downto 0); --密码数据输入
speaker:out std_logic; --喇叭
led_g,led_r:out std_logic); --绿灯及红灯
end entity lock;

architecture behave of lock is
signal ram:std_logic_vector(3 downto 0);
signal judge:std_logic;
signal clk:std_logic;
signal turn_on,turn_off:std_logic;
begin
process(Clk_1k)
variable clk_count:std_logic_vector(8 downto 0):="000000000";