电子密码锁论文

上传人:博****1 文档编号:561309026 上传时间:2023-10-05 格式:DOC 页数:10 大小:99KB
返回 下载 相关 举报
电子密码锁论文_第1页
第1页 / 共10页
电子密码锁论文_第2页
第2页 / 共10页
电子密码锁论文_第3页
第3页 / 共10页
电子密码锁论文_第4页
第4页 / 共10页
电子密码锁论文_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《电子密码锁论文》由会员分享,可在线阅读,更多相关《电子密码锁论文(10页珍藏版)》请在金锄头文库上搜索。

1、目录摘要.11基本原理.22设计框图.33设计步骤和调试程序.94结论及心得体会.10摘要 基于FPGA设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。本文介绍一种基于现场可编程门阵列FPGA 器件的电子密码锁的设计方法采用VHDL语言对系统进行描述,并在FLEX10K10LC84-4上实现。系统所实现的功能:用户给电子密码锁设定一个密码,当使用本

2、机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密码不正确,则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系统的扩展有很好的实用和设计的价值。关键词:现场可编程门阵列, 硬件描述语言, 电子密码锁, 扬声器 一.基本原理本次设计的主要内容是设计一个密码锁的控制电路,第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,当输入正确代码时,输出开锁信号以推动执行机构工作。此密

3、码锁的基本要求是:设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关的输入代码等于储存代码时,开锁; 从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号,并输出一个信号推动LED不断闪烁。随着电子产品向智能化和微型化的不断发展,EDA技术作为现代电子设计最新技术的结晶,给电子系统的设计带来了革命性的变化。本设计一种电子密码锁系统,该系统具有软硬件设计简单、易于开发、成本低、安全可靠、操作

4、方便等特点,可作为产品进行开发,应用于住宅,办公室的保险箱及档案等需要防盗的场所,有较强的实用性。本系统由Quartus II软件、矩阵键盘、LED显示和报警系统组成。4*4键盘组成09数字键,每按下一个键,相关键的值在数码管上显示,并依次左移;能够清除密码输入,并设置预置密码为“1234”;修改密码时,将当前输入设为新的密码;能完成上锁和开锁功能;当输入密码和预置密码一样时即可开锁。具有确认、取消、修改、开锁、闭锁功能,用7段数码管组成显示电路提示信息。二.设计框图本次设计是采用一种是用Quartus II软件编程,利用VHDL描述数字系统的结构,行为,功能和接口,及其控制的准确性,来实现密

5、码锁的设计。VHDL编程有较大的活动空间,不但能实现锁要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,客服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都有大大提高一步。随着大规模集成电路技术的发展,特别是VHDL的问世,出现了带微处理的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。具体设计框图开始输入密码密码真确与否开锁真确报警不真确复位三、设计步骤和调试程序1总体设计电路2、模块

6、设计和相应模块程序2 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shuru_19 isport(reset,clk: in std_logic; key: in std_logic_vector(3 downto 0); www:out std_logic; clk1:out std_logic);end shuru_19 ;architecture A of shuru_19 issignal test:std_logic;signal counter2: std_logic

7、_vector(4 downto 0);signal counter1:std_logic_vector(1 downto 0);begin test=key(3) and key(2) and key(1) and key(0);process(reset,test,clk)begin if(reset=0) then counter1=00; counter2=00000; WWW=1; elsif(clkevent and clk=1) then counter1=counter1+1; if(test=0)then counter2=00000; WWW=0; elsif(counte

8、r211110)then counter2=counter2+1; elsif(counter2=11110)then WWW=1; end if; end if;if (counter1=01 ) then clk1=0; else clk1=1; end if;end process;end A;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MK19 ISport(reset,clk1,clk,www:in std_logic; key:in std_logic_vector(

9、3 downto 0); dcc1: out std_logic_vector(4 downto 0); sel:out std_logic_vector(2 downto 0); end MK19 ;architecture D of MK19 issignal test:std_logic;signal counter:std_logic_vector(2 downto 0); signal dcc: std_logic_vector(6 downto 0);begin test=key(3) and key(2) and key(1) and key(0);process(clk1,re

10、set) beginif(reset=0) then counter=000; elsif(clk1event and clk1=1) then if(test=0) or (www=0) then counter=counter; else counter=counter+1; end if;end if;sel=counter;dcc=counter & key;end process;process(clk,test)beginif(clkevent and clk=0)then if(dcc=0001110)then dcc1=00000; elsif(dcc=0011110)then

11、 dcc1=00001; elsif(dcc=0101110)then dcc1=00010; elsif(dcc=0111110)then dcc1=00011; elsif(dcc=1101110)then dcc1=00100; elsif(dcc=1111110)then dcc1=00101; elsif(dcc=0001101)then dcc1=00110; elsif(dcc=0011101)then dcc1=00111; elsif(dcc=1001101)then dcc1=01000; elsif(dcc=1011101)then dcc1=01001; elsif(dcc=1101101)then dcc1=01010; elsif(dcc=1111101)then dcc1=01011; elsif(dcc=0101011)then dcc1=01100; elsif(dcc=0111011)then dcc1=01101; elsif(dcc=1001011)then dcc1=01110; elsif(dcc=1011011)then dcc1=01111; elsif(dcc=1001110)then dcc1=10000; elsif(dcc=1011110)then dcc1=10001; elsif(test=0)then dcc1=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号