QUARTUS电子密码锁99
- 格式:doc
- 大小:1010.50 KB
- 文档页数:27
论文题目:基于FPGA的电子密码锁设计摘要普通的机械锁保密性不好,防盗性差,而且必须使用钥匙。
但是,基于FPGA设计的电子密码锁与普通的机械锁比较来说,就克服了这些不足之处。
该论文主要描述的是一种电子密码锁的设计方法,这种电子密码锁是基于现场可编程门阵列(FPGA)的电子密码锁。
由FPGA构造的电子密码锁系统中,硬件电路可以实现所有的算法,大幅度提高了西戎的工作可靠性。
为了提高设计的效率,可以在更改设计时只更改FPGA中的控制和接口电路,这是因为FPGA的现场可编程功能,也正是利用这一点,可以将更新后的设计下载到FPGA中,省去了更改外部电路设计的麻烦。
所以,这样的系统既可以使工作的可靠性增强也可以更加方便的升级。
系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密码不正确,用LED灯报警;允许用户重新输入密码。
关键词电子密码锁;FPGA;硬件描述语言;EDAAbstractFPGA-based design of electronic locks is a small digital system,compared with ordinary mechanical locks,has many unique advantages:confidentiality,security and strong,you can not have the keys,remember a password to unlock.This paper describes an approach based on field programmable gate array(FPGA)devices electronic locks design.Construct systems with FPGA devices,all algorithms entirely by hardware circuit to achieve,making the work system reliability greatly improved.As the FPGA with field-programmable function,when you need to change the design,just change the FPGA control and interface circuitry using EDA tools designed updated downloaded to the FPGA without the need to change the external circuit design,greatly improving the design efficiency.Therefore,the use of digital FPGA development system,not only has high reliability,but also extremely easy to upgrade.System implemented features:electronic locks user to set a password when using the keyboard lock,compared with the password set by the user's password,if the password is correct,then unlock;If the password is incorrect,the speaker alarm,allows the user to re- enter the password.Key wordsElectronic locks;FPGA;Hardware Description Language;EDA目录摘要 (I)Abstract (II)前言 (1)第一章概述 (2)1.1 课题背景 (2)1.2 课题研究的目的和意义 (2)1.3 国内外现状 (3)1.4 课题的主要研究工作 (4)第二章相关知识介绍 (5)2.1 FPGA的相关介绍 (6)2.1.1 可编程逻辑器件 (6)2.1.2 FPGA简介 (7)2.1.3 FPGA应用特点 (7)2.1.4 FPGA的设计流程 (9)2.2 硬件描述语言Verilog (11)2.2.1 Verilog语言简介 (11)2.2.2 Verilog语言的优点 (11)2.2.3 Verilog语言的基本结构 (12)2.3 QuartusⅡ软件开发工具 (12)第三章电子密码锁的总体设计 (14)3.1 设计要求 (14)3.2 系统原理框图 (14)3.3 系统主控制流程框图 (15)第四章电子密码锁的软件设计 (17)4.1 主要功能模块设计 (17)4.1.1 输入模块 (18)4.1.2 显示模块 (19)4.3 电子密码锁的仿真 (19)第五章电子密码锁的硬件实现 (24)5.1 电子密码锁的硬件模块实现 (24)5.2 硬件设备 (24)5.3 硬件的实现 (25)结论 (27)参考文献 (28)致谢 (30)前言基于FPGA的电子密码锁是新型现代化安全管理系统,微机自动识别技术和现代安全管理措施技术,包括生物技术、通信技术、电子和机械电等诸多新技术都在其中体现,重要部门出入口安全防范问题因此得到了解决。
《E D A仿真与实践实习》学院:信息科学与工程学院课题名称:硬件描述语言设计——基于VHDL的电子密码锁的设计班级:学生:学号:指导教师:1 引言在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
基于EDA技术设计的电子密码锁。
以其价格便宜、使用方便、安全性高、成本低、功耗低、易操作等优点,受到了人们的普遍关注。
而以可编程逻辑器件(FBDA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以QuartusⅡ5.1开发软件等为设计工具设计的电子密码锁,由于其能够实现密码输入、密码校验、密码设置和更改等功能,因此,能够满足社会对安全防盗的需求。
本设计的各个模块由相应的VHDL程序具体实现,并在QuartusⅡ5.1环境下进行了整体电路的模拟仿真,最终实现“密码锁控制器设计”的要求。
2 设计内容和要求2.1 设计内容:题目:电子密码锁内容:设计一个4位串行数字锁。
(1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。
否则进入“错误”状态,并发出报警信号。
(2)锁内的密码可调,且预置方便,保密性好。
(3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。
此时,数字锁又自动等待下一个开锁状态。
要求:(1)通过查阅相关技术资料,详细描述电子密码锁的基本原理。
(2)编写电子密码锁的Verilog HDL或VHDL程序,并仿真编译下载验证。
(3)给出完整的系统顶层模块图与波形仿真图。
3 设计分案密码锁控制器是硬件与软件的结合。
根据设计要求,决定以FBDA芯片和VHDL语言设计此电子密码锁。
绍兴文理学院数理信息学院课程设计报告书题目电子密码锁设计姓名XXX学号XXX专业班级电信指导教师时间2013年1月14日课程设计任务书 班 级电信XXX 姓 名 XXX题目电子密码锁设计 技术参数、设计要求、检测数据等在EDA 实验箱上利用FPGA 、4*4键盘及数码管实现电子密码锁,功能要求如下: ● 模拟实现电子密码锁的开锁、解锁、改密码等基本功能 ● 实现万能密码功能 ● 当用户密码连续3次输入错误时,报警并锁定键盘 ● 当用户密码输入时间超过一定值(如30秒)时,提示超时 ● 在密码设置状态下输入密码时,所输入数字在数码管显示;其余状态下,所输密码在对应数码管上以特殊字符屏蔽显示 设计进度安排或工作计划 2013.1.4 ~2013.1.4: 任务分配,熟悉课题,查询相关资料,出方案初稿。
2013.1.5~2013.1.5: 方案交流并定稿,划分设计模块,课程设计开展。
2013.1.6~2013.1.7: 各模块设计实现及调试、验证。
(其中8、9 号暂停)2013.1.10~2013.1.13: 设计整体实现、调试及验证,并开始撰写报告。
2013.1.14~2013.1.15: 设计完成,课程设计报告撰写并定稿,上交。
其它认真阅读EDA 技术课程设计报告撰写规范;课题小组经协商好要指定组长并明确分工,形成良好团队工作氛围;基于课题基本要求,各小组课再细化、增加要求;课题小组每成员均需各自撰写一份课程设计报告。
电子密码锁设计摘要本文介绍了一种采用单片FPGA芯片进行电子密码锁的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法,利用FPGA的可编程性,简洁而又多变的设计方法,缩短了研发周期。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
密码锁是以芯片为核心,通过编程来实现的,其性能和安全性已大大超过了机械锁。
摘要随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
在实际应用中,由于程序容易跑飞,系统的可靠性能较差。
本文主要阐述了一种基于现场可编程门阵列 FPGA 器件的电子密码锁的设计方法。
用 FPGA 器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。
由于 FPGA 具有现场可编程功能,当设计需要更改时,只需更改 FPGA 中的控制和接口电路,利用 EDA 工具将更新后的设计下载到FPGA 中即可,无需更改外部电路的设计,大大提高了设计的效率。
因此,采用 FPGA 开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。
本文采用 EDA 技术,利用 Quartus II 工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片 FPGA 芯片实现。
关键词:关键词:电子密码锁;FPGA;硬件描述语言;EDAAbstractWith the development of electronic technology, electronic password lock with burglar alarm and other functions replacing less password and poor security mechanical code lock is an inevitable trend. compared electronic password lock with ordinary mechanical locks, it has many unique advantages : confidentiality, and security in nature, do not use the key, remember password can unlock it etc .Most electronic password locks we used now is based upon SCM technology ,SCM is its mainly device ,and the creating of encoding and decoding devices is the fashion of Software mode. In practical application, the reliability of the system may be worse because of easy running fly of the programme.This paper mainly expatiates a design method of electronic password lock based upon Field Programmable Gate Array device. We use FPGA devices to construct system , all of the algorithm entirely achieved by the hardware circuit , because of FPGA has the function of ISP , when the design needs to be changed We only need to change the control and interface circuit of FPGA,EDA tools are used to download the updated design to FPGA without changing the design of the external circuit , this greatly enhance the efficiency of the design .Therefore , we use FPGA to empolder the digital system has not only high reliability but also extremely convenient of upgrading and improvement .In this paper ,we use EDA technology , Quartus II platform and hardware description language designing an electronic password lock ,and it achieved through an FPGA chip. Key words:electronic password lock;FPGA;hardware description language; EDA :目录1 绪论 <标题部分的格式很多不对,检查修改)...... 1 1.1 本课题研究的国内外现状及其发展...... 2 1.2 本课题研究的目的和意义...... 2 2 关键技术简介...... 4 2.1 FPGA 硬件设计描述...... 4 2.1.1 2.1.2 2.1.3 FPGA 的设计流程...... 4 VHDL 语言的基本结构...... 6 自上而下<TOP DOWN)的设计方法 (7)2.2 设计语言、仿真平台与开发系统...... 8 2.3 用 QuartusⅡ进行系统开发的设计流程...... 8 3 系统总体设计...... 9 3.1 电子密码锁设计的原理...... 9 3.2 方案的提出...... 10 3.3 系统设计要求...... 11 3.4 系统设计描述...... 11 3.5 各功能模块描述...... 12 3.6 系统流程...... 13 4 系统详细设计...... 15 4.1 输入模块 (15)4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 时序产生电路...... 16 按键消抖电路...... 17 键盘扫描电路...... 20 键盘译码电路...... 21 键盘输入模块的实现 (22)4.2 电子密码锁控制模块...... 23 4.2.1 4.2.2 4.2.3 控制模块的描述...... 23 控制模块的状态图与 ASM 图......错误!未定义书签。
电子密码锁设计EDA FPGA一、实验任务设计一个4位数的电子密码锁。
具备的功能:1、数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示,将先前的输入数据依序左移一个数字位置。
2、数码清除:按下此键可清除之前所有的输入值,清除成为“0000”。
3、密码更改:按下此键时会将目前的数字设定成新的密码。
4、激活电锁:按下此键可将密码锁上锁。
5、解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
二、实现的基本功能1、密码输入:输入4位由0和1组成的密码,分别对应4个LED,若输入为1,则对应的LED亮。
2、复位:设定一个按键,按下该按键则消除之前输入的密码,重新输入。
3、检测密码:设定一个按键,输入完4位密码后,按下按键检测所输入的密码,若所输入的密码与设定密码一致,LED5就亮,否则LED5不亮。
三、程序清单library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity password isport( Clk : in std_logic;Rst : in std_logic;Kr : in std_logic_vector(3 downto 0);Kc : buffer std_logic_vector(3 downto 0);KEY_State : out std_logic;Door : buffer std_logic;Display : out std_logic_vector(7 downto 0);SEG_SEL : buffer std_logic_vector(2 downto 0));end ;architecture behave of password issignal keyr,keyc : std_logic_vector(3 downto 0);signal kcount : std_logic_vector(2 downto 0);signal kflag1,kflag2 : std_logic;signal buff1,buff2,buff3,buff4,buff5,buff6 : integer range 0 to 15;signal push_num : integer range 0 to 15;signal Disp_Temp : integer range 0 to 15;signal Disp_Decode : std_logic_vector(7 downto 0); signal SEC1,SEC10 : integer range 0 to 9;signal Clk_Count1 : std_logic_vector(3 downto 0); signal Clk_Count2 : std_logic_vector(9 downto 0); signal Clk1KHz : std_logic;signal Clk2Hz : std_logic;signal Clk1Hz : std_logic;signal Error_Num : integer range 0 to 3;signal Error_Flag : std_logic;signal Error_Count : std_logic_vector(2 downto 0);beginprocess(Clk)beginif(Clk'event and Clk='1') thenif(Clk_Count1<10) thenClk_Count1<=Clk_Count1+1;elseClk_Count1<="0001";end if;end if;end process;Clk1KHz<=Clk_Count1(2);process(Clk1KHz)beginif(Clk1KHz'event and Clk1KHz='1') thenif(Clk_Count2<1000) thenClk_Count2<=Clk_Count2+1;elseClk_Count2<="0000000001";end if;end if;end process;Clk2Hz<=Clk_Count2(9);process(Clk2Hz)beginif(Clk2Hz'event and Clk2Hz='1') thenClk1Hz<=not Clk1Hz;end if;end process;process(Clk1KHz)beginif(Clk1KHz'event and Clk1KHz='1') thenif(Kr="1111") thenkflag1<='0';kcount<=kcount+1;if(kcount=0) thenkc<="1110";elsif(kcount=1) thenkc<="1101";elsif(kcount=2) thenkc<="1011";elsekc<="0111";end if;elsekflag1<='1';keyr<=Kr;keyc<=Kc;end if;kflag2<=kflag1;end if;end process;KEY_State<=kflag1;process(Clk1KHz,Rst)beginif(Rst='0') thenpush_num<=0;elsif(Clk1KHz'event and Clk1KHz='1') thenif(push_num=6) thenpush_num<=0;elsif(kflag1='0' and kflag2='1') thenpush_num<=push_num+1;end if;end if;end process;process(Clk1KHz,Rst)beginif(Rst='0') thenDoor<='0';Error_Num<=0;Error_Flag<='0';elsif(Clk1KHz'event and Clk1KHz='1') thenif(push_num=5 and Error_Num<3) then--密码为123456if(buff1=1 and buff2=2 and buff3=3 and buff4=4 and buff5=5 and buff6=6) then Door<='1';elseDoor<='0';end if;elsif(push_num=6 and Error_Num<3) thenif(Door='0') thenError_Flag<='1';Error_Num<=Error_Num+1;elseError_Flag<='0';Error_Num<=0;end if;elsif(Error_Count=4) thenError_Flag<='0';elsif(Error_Flag='1') thenDoor<=not Error_Count(0);end if;end if;end process;process(Clk2Hz,Rst)beginif(Rst='0' or Error_Flag<='0') thenError_Count<="000";elsif(Clk2Hz'event and Clk2Hz='1' and Error_Flag<='1') thenError_Count<=Error_Count+1;end if;end process;process(Clk1KHz,Rst)beginif(Rst='0' or push_num=0) thenbuff1<=15;buff2<=15;buff3<=15;buff4<=15;buff5<=15;elsif(Clk1KHz'event and Clk1KHz='1') thenif(kflag1='1' and kflag2='0' and (((keyr="1110" or keyr="1011")and keyc/="0111")or keyr="1101")) thenbuff1<=buff2;buff2<=buff3;buff3<=buff4;buff4<=buff5;buff5<=buff6;end if;end if;end process;process(Clk1KHz,Rst)beginif(Rst='0' or push_num=6) thenbuff6<=15;elsif(Clk1KHz'event and Clk1KHz='1') thenif(kflag1='1' and kflag2='0') thenif(keyr="1110") thencase keyc iswhen "1110"=>buff6<=1;when "1101"=>buff6<=4;when "1011"=>buff6<=7;when others=>buff6<=buff6;end case;elsif(keyr="1101") thencase keyc iswhen "1110"=>buff6<=2;when "1101"=>buff6<=5;when "1011"=>buff6<=8;when "0111"=>buff6<=0;when others=>buff6<=buff6;end case;elsif(keyr="1011") thencase keyc iswhen "1110"=>buff6<=3;when "1101"=>buff6<=6;when "1011"=>buff6<=9;when others=>buff6<=buff6;end case;end if;end if;end if;end process;process(SEG_SEL)begincase (SEG_SEL+1) iswhen "000"=>Disp_Temp<=10;when "001"=>Disp_Temp<=buff1;when "010"=>Disp_Temp<=buff2;when "011"=>Disp_Temp<=buff3;when "100"=>Disp_Temp<=buff4;when "101"=>Disp_Temp<=buff5;when "110"=>Disp_Temp<=buff6;when "111"=>Disp_Temp<=10;end case;end process;process(Clk)beginif(Clk'event and Clk='1') thenSEG_SEL<=SEG_SEL+1;Display<=Disp_Decode;end if;end process;process(Disp_Temp)begincase Disp_Temp iswhen 0=>Disp_Decode<="00111111";when 1=>Disp_Decode<="00000110";when 2=>Disp_Decode<="01011011";when 3=>Disp_Decode<="01001111";when 4=>Disp_Decode<="01100110";when 5=>Disp_Decode<="01101101";when 6=>Disp_Decode<="01111101";when 7=>Disp_Decode<="00000111";when 8=>Disp_Decode<="01111111";when 9=>Disp_Decode<="01101111";when 10=>Disp_Decode<="01000000";when others=>Disp_Decode<="00000000";end case; end process;end behave;四、程序仿真输入:输出:。
摘要基于FPGA设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。
目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。
在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。
本文介绍一种基于现场可编程门阵列FPGA 器件的电子密码锁的设计方法采用VHDL语言对系统进行描述,并在FLEX10K10LC84-4上实现。
系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密码不正确,则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。
通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。
当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系统的扩展有很好的实用和设计的价值。
关键词:现场可编程门阵列, 硬件描述语言, 电子密码锁, 扬声器AbstractFPGA-based design of the electronic code lock is a small digital system, electronic password lock compared with ordinary mechanical locks, with many unique advantages: good privacy, security and strong, can not key to remember passwords to unlock, and so on. At present the use of the electronic code lock on most of SCM technology to SCM as the main devices, encoders and decoders of Health and the software approach. In practice, since the process easy run to fly, the reliability of the system can be poor. Based on this paper, a field programmable gate arrays FPGA devices electronic password lock design, VHDL language used to describe the system and achieve FLEX10K10LC84-4.Implementation of the system features: users of electronic password lock to set a password, when using the keyboard unlock the machine, the user password and set the password, if the correct password, then unlock if the password is not correct, allows Users to enter a password, can enter up to three times, three times if not correct, the speaker alarm, until the reset button only allowed to re-enter the code.The simulation tests using programmable devices FPGA electronic password lock the basic design to achieve the expected goal. Of course, some of the details of the system in the design of the need to constantly refined and improved, in particular the expansion of the system have a good design and practical value.Key words:FPGA , VHDL, electronic password lock , speaker目录摘要 (I)ABSTRACT (II)目录 (III)1绪言 (1)1.1课题背景 (1)1.2课题研究的目的和意义 (1)1.3国内外概况 (2)1.4课题的主要研究工作 (3)2FPGA的相关介绍 (4)2.1可编程逻辑器件 (4)2.2FPGA的简介 (4)2.3FPGA的应用特点 (5)2.4FPGA的应用前景 (6)3基于FPGA设计的硬件描述语言VHDL (8)3.1VHDL语言简介 (8)3.2VHDL语言的特点 (8)3.3VHDL语言的优点 (8)3.4 VHDL语言的基本结构 (9)3.5VHDL语言的应用 (10)4系统设计方案的研究 (11)4.1系统功能需求分析 (11)4.2系统实现方案的论证比较 (11)4.3系统方案的总体设计 (11)4.3.1系统原理框图 (11)4.3.2总体设计原理 (12)5系统硬件设计 (13)5.1系统的硬件模块实现 (13)5.2基于FPGA的设计 (13)5.2.1主控芯片EPF10K10LC84-4的介绍 (13)5.2.2FPGA逻辑功能结构及开发 (14)5.3键盘控制电路结构与原理 (14)5.4LED显示器结构与原理 (15)5.5报警电路 (17)6系统的软件设计 (18)6.1系统主控制流程框图 (18)6.2键盘扫描程序框图 (19)6.3获取键值程序框图 (20)6.4解码、报警模块 (21)7系统的原理实现 (22)7.1系统的层次化设计 (22)7.2顶层图形设计 (22)7.3系统仿真演示结果 (23)总结与展望 (24)致谢 (25)参考文献 (26)附录 (28)1 绪言系统以利用可编程器件实现电子密码锁的设计为研究背景、现状以及发展方向,明确指出了电子密码锁面临的问题和所解决的方法。
目录摘要 (I)ABSTRAC.T (II)第 1 章绪论 (1)1.1电子密码锁简介 (1)1.2电子密码锁国内外现状 (1)1.3电子密码锁的发展趋势 (2)1.4本次设计所要实现的功能 (3)第二章系统方案论证 (4)2.1采用以数字电路控制的设计方案 . (4)2.2采用以单片机为核心的设计方案 . (5)第三章系统硬件设计 (6)3.1设计原理 . (6)3.2主控芯片 AT89C51 (7)3.2.1主要特性 (7)3.2.2引脚功能说明 (8)3.2.3振荡器特性 (10)3.2.4芯片擦除 (10)3.3电路总体构成 . (10)3.4电源输入 . (11)3.5键盘输入 . (11)3.6密码存储 . (12)3.7复位. (14)3.8晶振. (15)3.9显示. (16)3.10报警. (17)3.11开锁 (18)第四章系统软件设计 (19)4.1主程序设计 . (19)4.2系统主要功能子程序. (21)第五章系统仿真与调试 (24)5.1PR0TUE仿真软件 (24)5.2整体调试 (25)5.3KEIL 调试 (25)5.4仿真结果及结论 (26)5.5电路板制作和调试 (28)5.5.1电路板的制作 (29)5.5.2电路板的调试 (29)5.5.3、电路板电路的调试具体步骤 (30)5.6成品展示及调试 (32)第六章毕业设计总结 (34)致谢 (36)参考文献 (37)附录 1 (38)附录 2 (47)摘要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其结构简单,安全性能低,无法满足人们的需要。
本文从经济适用的角度出发,采用美国Atmel公司的单片机AT89C51与低功耗CMOS 型E2PROMT24C02乍为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用 C 语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。
毕业设计论文摘要随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
在实际应用中,由于程序容易跑飞,系统的可靠性能较差。
本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。
用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。
由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA 中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。
因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。
本文采用EDA技术,利用Quartus II工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片FPGA芯片实现。
关键词:电子密码锁;FPGA;硬件描述语言;EDAAbstractWith the development of electronic technology, electronic password lock with burglar alarm and other functions replacing less password and poor security mechanical code lock is an inevitable trend. compared electronic password lock with ordinary mechanical locks, it has many unique advantages :confidentiality, and security in nature, do not use the key, remember password can unlock it etc .Most electronic password locks we used now is based upon SCM technology ,SCM is its mainly device ,and the creating of encoding and decoding devices is the fashion of Software mode. In practical application, the reliability of the system may be worse because of easy running fly of the programme.This paper mainly expatiates a design method of electronic password lock based upon Field Programmable Gate Array device. We use FPGA devices to construct system , all of the algorithm entirely achieved by the hardware circuit , because of FPGA has the function of ISP , when the design needs to be changed We only need to change the control and interface circuit of FPGA,EDA tools are used to download the updated design to FPGA without changing the design of the external circuit , this greatly enhance the efficiency of the design .Therefore , we use FPGA to empolder the digital system has not only high reliability but also extremely convenient of upgrading and improvement .In this paper ,we use EDA technology , Quartus II platform and hardware description language designing an electronic password lock ,and it achieved through an FPGA chip.Key words:electronic password lock;FPGA;hardware description language;EDA毕业设计论文目录1 绪论(标题部分的格式很多不对,检查修改) (1)1.1 本课题研究的国内外现状及其发展 (2)1.2 本课题研究的目的和意义 (2)2 关键技术简介 (4)2.1 FPGA硬件设计描述 (4)2.1.1FPGA的设计流程 (4)2.1.2VHDL语言的基本结构 (6)2.1.3自上而下(TOP DOWN)的设计方法 (7)2.2 设计语言、仿真平台与开发系统 (8)2.3 用QuartusⅡ进行系统开发的设计流程 (8)3 系统总体设计 (9)3.1 电子密码锁设计的原理 (9)3.2 方案的提出 (10)3.3 系统设计要求 (11)3.4 系统设计描述 (11)3.5 各功能模块描述 (12)3.6 系统流程 (13)4 系统详细设计 (15)4.1 输入模块 (15)4.1.1时序产生电路 (15)4.1.2按键消抖电路 (15)4.1.3键盘扫描电路 (17)4.1.4键盘译码电路 (19)4.1.5键盘输入模块的实现 (20)4.2 电子密码锁控制模块 (21)4.2.1控制模块的描述 (21)4.2.2控制模块的状态图与ASM图 (21)4.2.3控制模块的实现 (23)4.3 电子密码锁显示模块 (24)4.3.1数码管显示原理 (24)4.3.2译码显示的实现 (27)5 系统仿真 (28)5.1 系统的有关编译与仿真 (28)5.2 去抖模块的仿真 (28)5.3 密码锁输入电路的仿真 (29)5.4 密码锁控制电路的仿真 (30)5.5 系统整体仿真 (31)5.6 数码管译码器仿真 (32)6 .结束语 (33)致谢 (34)参考文献 (35)1绪论随着大规模和超大规模可编程器件在FPGA技术支持下的广泛应用,使现代化设计计算已进入一个全新的阶段,从设计思想、设计工具一直到实现方式都发生了诸多变化。
电子行业单片机电子密码锁1. 简介电子密码锁是一种基于单片机技术的电子设备,用于控制门锁的开启和关闭。
相比传统机械密码锁,它更方便灵活,并且具备更高的安全性。
本文将介绍电子行业单片机电子密码锁的设计原理和实现步骤。
2. 设计原理电子行业单片机电子密码锁的设计基于以下原理:•单片机控制:通过单片机来控制电子密码锁的开关。
•键盘输入:用户通过键盘输入密码。
•存储密码:将用户输入的密码存储在内存中,以便验证。
•比对密码:每次用户输入密码后,将其与存储密码进行比对,判断密码是否正确。
•控制锁的开关:如果密码正确,则控制锁的开关,实现开锁或锁定。
3. 实现步骤以下是电子行业单片机电子密码锁的实现步骤:3.1 设置初始密码在使用电子密码锁之前,需要设置初始密码。
用户可以通过按键输入一个初始密码,在单片机的内存中进行存储。
3.2 输入密码用户通过键盘输入密码,将其保存在单片机的内存中。
3.3 比对密码每次用户输入密码后,程序将其与存储的密码进行比对。
如果输入的密码与存储的密码一致,则密码正确。
3.4 控制开锁或锁定如果输入的密码与存储的密码一致,程序将控制锁的开关,实现开锁或锁定操作。
4. 使用场景电子密码锁适用于多种场景,包括但不限于:•家庭安全:门锁是家庭安全的重要组成部分,电子密码锁提供了更高的安全性和便捷性。
•商业场所:商店、仓库等需要保护某些区域不受未经授权的访问的场所。
•办公室:加强对办公室机密信息或贵重物品的保护。
5. 优势和局限性电子密码锁相比传统机械密码锁具备以下优势:•安全性更高:采用数字密码,并且在密码比对过程中可以进行复杂的算法操作,提高密码的安全性。
•便捷性更好:无需携带钥匙,只需记住密码就可以轻松开锁。
•可编程性更强:通过单片机的编程,可以实现更多功能,例如密码重置、临时密码等。
然而,电子密码锁也存在一些局限性:•电力依赖:电子密码锁需要电力供应,如果停电,可能无法正常使用。
•密码泄露风险:由于密码是数字形式,一旦密码被泄露,可能导致安全问题。
电子密码锁 FPGA电子密码锁学生姓名:学生学号:电信学院 院(系): 电信学院电信学院年级专业:指导教师:助理指导教师:二〇一五年五月摘要摘要要摘 要本次设计是为解决传统锁的安全与方便的问题,设计一个电子密码锁,该密码锁选用现场可编程门阵列FPGA作为电子密码锁的设计,相对于单片机而言FPGA 有一个很大的不同是它采用了硬件电路来实现了所有的算法,这样保证了系统工作时的稳定性,并且由于FPGA的现场可编程特性,对于外部的硬件电路的要求不是很高,这样就使得设计的修改和升级非常的方便,效率也因此增加。
本系统以FPGA为核心,再配以相应的外围电路展开设计,利用EDA技术Quartus II平台和硬件描述语言,实现了一个电子密码锁,并且具有清除密码和修改密码的功能。
修改密码的功能。
,硬件描述语言,电子密码锁FPGA,硬件描述语言,电子密码锁关键词FPGA目 录摘 要 ................................................................................................................................................. I ABSTRACT........................................................................................................................................... II1 绪论.............................................................................................................................................. 3 1.1 课题背景.............................................................................................................................. 3 1.2 本课题研究的目的和意义.................................................................................................. 4 2 电子密码锁的设计方案 (5)2.1 方案的提出.......................................................................................................................... 5 2.2 电子密码锁技术指标.......................................................................................................... 5 3 基于FPGA 的实现方案.............................................................................................................. 6 3.1系统总模块图....................................................................................................................... 6 3.2 系统的基本原理.................................................................................................................. 7 3.3 系统设计简述...................................................................................................................... 8 3.4 各功能模块描述.............................................................................................................. 8 3.5 FPGA 的设计流程............................................................................................................... 10 3.6 VHDL 硬件描述语言........................................................................................................... 11 3.6.1 VHDL 的基本结构 ................................................................................................... 11 3.6.2 VHDL 的特点 ........................................................................................................... 11 3.6.3 3.6.3 自上而下的设计方法自上而下的设计方法 .. (11)3.7 Quartus 软件介绍............................................................................................................. 12 3.7.1 3.7.1 软件基本介绍软件基本介绍 ........................................................................................................ 12 3.7.2 3.7.2 顶层模块设计顶层模块设计 ........................................................................................................ 13 4 系统模块电路设计................................................................................................................. 14 4.1 输入模块............................................................................................................................ 14 4.1.1 4.1.1 时序电路产生时序电路产生 ........................................................................................................ 14 4.1.2 4.1.2 去抖电路去抖电路 ................................................................................................................ 14 4.1.3 4.1.3 键盘扫描电路键盘扫描电路 ........................................................................................................ 15 4.1.4 4.1.4 键盘译码电路键盘译码电路 .. (15)4.2 电子密码锁控制模块........................................................................................................ 15 4.3 电子密码锁显示模块........................................................................................................ 16 5 系统仿真................................................................................................................................... 19 5.1 仿真软件与步骤................................................................................................................ 19 5.1.1 5.1.1 建立仿真文件建立仿真文件 ........................................................................................................ 19 5.1.2 5.1.2 模拟输入模拟输入 . (19)5.2 输入电路仿真.................................................................................................................... 20 5.3 数码管译码仿真................................................................................................................ 21 6 组装与结果演示 (23)6.1 焊接与组装........................................................................................................................ 23 6.2 结果演示 ............................................................................................................................ 24 结论 (26)参考文献 (27)附:程序 (28)致谢................................................................................................................. 错误!未定义书签。
13届分类号:单位代码:10452毕业论文(设计)基于QuartusII的密码锁筹划与设计姓名李养振学号9年级2009专业电子信息科学与技术系(院)理学院指导教师王传聪2013年4月12日临沂大学2013届本科毕业论文(设计)摘要本系统是以EDA作为开发工具,VHDL语言为硬件描述语言,QUARTUS II作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标.本系统采用有限状态机进行设计,目的在于实现八位二进制,串行输入数字密码锁,并具有开锁与错误提示.开锁代码为八位二进制数,当输入代码的位数和位值与预先设置的密码一致时方可开锁,并使数码管显示由“B”变为“A” .当输入密码不正确时,计数器会进行一次计数.关键词:EDA;quartusII;密码锁;VHDLABSTRACTThis system is by EDA took the development kit, the VHDL language for the hardware description language, QUARTUS II took the procedure movement platform, develops the procedure through the debugging movement, the profile simulation confirmation, has achieved the design goal initially. This system uses the limited state machine to carry on the design, the goal lies in realizes eight binary systems, the serial input numerical ciphers lock, and has the unblanking and the wrong prompt.The unblanking code is eight binary numbers, when the input code figure and the position value with establish in advance password consistent when only then unlocks, and causes the nixietube to demonstrate becomes “A” by “B”.When input password not correct, the counter can carry on a counting.Key words:EDA, quartusII, coded lock , VHDL2临沂大学2013届本科毕业论文(设计)目录11 引言.................................................. 错误!未定义书签。
成绩课程设计报告题目:基于Verilog HDL的数字密码锁的设计学生姓名:江留胜学生学号:**********系别:电气信息工程学院专业:电子信息工程届别:2013届指导教师:马立宪基于Verilog HDL的数字密码锁的设计学生:江留胜指导教师:马立宪电气信息工程学院电子信息工程1课程设计的任务与要求1.1 课程设计的任务设计一个6位的数字密码锁,利用Verilog HDL语言来实现,并使用QuartusⅡ进行仿真与调试。
1.2 课程设计的要求设计一个简单的数字密码锁,密码为6位,其功能:1、在内部设置密码,其密码用6位十进制数表示。
2、输入密码时,每次输入一位数,输入后按#进行确认。
3、当输入的密码顺序与设置的密码一致时,密码锁打开,否则,则报警。
4、具有重置密码的功能。
输入密码正确后按*号键输入要重的密码,按#号键确认密码的重置,连续输入两次,则密码重置成功。
使用Verilog HDL语言编写密码锁的开锁过程的程序,并借助QuartusⅡ软件对其进行仿真,观察实验波形。
1.3 课程设计的研究基础(设计所用的基础理论)密码锁就是要有一定的自我保护功能,并且能够定时更新防止破译的危险。
密码锁控制器是硬件与软件的结合。
Verilog HDL是一种优秀的硬件描述语言,它与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。
在本次计中,系统开发平台为QuartusⅡ。
QuartusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在QuartusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
在本次设计中,采用的硬件描述语言是Verilog HDL。
Verilog HDL也是目前应用最为广泛的硬件描述语言,并被IEEE采纳为IEEE#1064-1995标准。
EDA的相关介绍EDA的特点:EDA技术对电子系统设计方法的影响:传统的电路设计的方法是自低向上(Buttumup),即设计师根据设计要求首先选用合适的元器件,然后完成各个单元电路的设计、搭试、性能指标的测试,最后形成系统。
而基于EDA技术的设计方法是自顶向下(Top to Down),即首先从系统设计入手,在顶端进行功能方框图的划分和结构设计。
然后利用EDA 软件进行设计的验证、仿真以及PCB布局布线等工作[12]。
硬件描述语言:硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连接形式。
EDA的另一个特点体现在大规模可编程逻辑器件PLD(Programmable Logic Devices)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。
PLD最早出现在20世纪70年代初,其后经历了PROM、PLA、PAL、GAL等几个发展阶段。
80年代中期,美国Xilin公司首先推出了现场可编程门陈列(FPGA)器件。
90年代初,美国Lattice公司又推出了在系统可编程大规模集成电路(ispLSI)。
现通常将高集成度的可编程逻辑器件谶纬复杂可编程逻辑器件(CPLD)。
VHDL硬件描述语言VHDL(Very high speed integrated circuit Hardware Description Language)硬件描述语言从高于逻辑级的抽象层次上描述硬件的功能、信号连接关系及定时关系。
VHDL 的设计流程如下图。
图1 VHDL设计流程VHDL语言是对逻辑电路进行描述的高级语言,它与其他高级语言相比既有相同之处,也有其自身特点:1.VHDL是工业标准的文本格式语言VHDL已成为一种工业标准。
设计者、EDA工具的供应商以及芯片生产厂家,都要遵循这一标准。
该语言是一种文本格式的语言,ASIC的设计者在设计电路时,就像编写其他高级语言一样,用文字来表达所要设计的电路,这样能比较直观地表达设计者的设计思想,并且易于修改。
EDA的相关介绍EDA的特点:EDA技术对电子系统设计方法的影响:传统的电路设计的方法是自低向上(Buttumup),即设计师根据设计要求首先选用合适的元器件,然后完成各个单元电路的设计、搭试、性能指标的测试,最后形成系统。
而基于EDA技术的设计方法是自顶向下(Top to Down),即首先从系统设计入手,在顶端进行功能方框图的划分和结构设计。
然后利用EDA 软件进行设计的验证、仿真以及PCB布局布线等工作[12]。
硬件描述语言:硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连接形式。
EDA的另一个特点体现在大规模可编程逻辑器件PLD(Programmable Logic Devices)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。
PLD最早出现在20世纪70年代初,其后经历了PROM、PLA、PAL、GAL等几个发展阶段。
80年代中期,美国Xilin公司首先推出了现场可编程门陈列(FPGA)器件。
90年代初,美国Lattice公司又推出了在系统可编程大规模集成电路(ispLSI)。
现通常将高集成度的可编程逻辑器件谶纬复杂可编程逻辑器件(CPLD)。
VHDL硬件描述语言VHDL(Very high speed integrated circuit Hardware Description Language)硬件描述语言从高于逻辑级的抽象层次上描述硬件的功能、信号连接关系及定时关系。
VHDL 的设计流程如下图。
图1 VHDL设计流程VHDL语言是对逻辑电路进行描述的高级语言,它与其他高级语言相比既有相同之处,也有其自身特点:1.VHDL是工业标准的文本格式语言VHDL已成为一种工业标准。
设计者、EDA工具的供应商以及芯片生产厂家,都要遵循这一标准。
该语言是一种文本格式的语言,ASIC的设计者在设计电路时,就像编写其他高级语言一样,用文字来表达所要设计的电路,这样能比较直观地表达设计者的设计思想,并且易于修改。
2.VHDL能同时支持仿真和综合VHDL语言是一种能够支持系统仿真的语言。
事实上,ASIC成功的关键在于生产前的设计,而保证设计正确性的主要手段就是系统仿真。
目前在大部分的EDA工具中,都有支持VHDL 语言仿真的工具。
这样,设计者在ASIC生产前就能够知道设计的正确与、系统的的性能如何等关键问题。
VHDL不仅仅是一种仿真语言,它的所有语句有相当一部分是不支持综合的,也就是说EDA 工具无法根据所描述的VHDL语言产生出电路;但其中的可综合语句足以描述一个大而完整的系统。
目前所有的高层次综合工具所支持的综合语句,都是IEEE标准的一个子集。
因此,VHDL语言可以有两种完全不同的描述,一种是基于仿真的描述,它可以使用VHDL 语言定义的各种语句,这类程序主要适用于编写测试基准程序和各种仿真模型的工程师使用,另外一种就是用于生成具体电路的可综合描述。
它只能使用VHDL中的可综合子集。
它主要适用于从事电路设计的工程师使用。
3.VHDL是一种并发执行的语言我们知道,几乎所有的高级语言的执行都是顺序的,而VHDL语言在仿真过程中的执行是并行的。
这种特性是符合实际逻辑电路的工作过程的。
4.VHDL支持结构化设计和top-down设计方法VHDL语言是一种结构化的语言,它提供的语句可以完成多层次结构结构的描述,所以VHDL 语言可以支持结构化的设计。
结构化设计就是将一个系统划分为多个模块,而每个模块又可以继续划分为更多的子模块。
这样就可以采用top-down的设计方法,就是从系统整体要求出发,自上而下的逐步将系统内容细化,最后完成系统的整体设计。
5.VHDL的描述与工艺无关设计者在利用VHDL描述时并不需要关心电路最终将在哪种工艺上实现,EDA工具可以将VHDL源代码映射到不同的工艺床上,提高了设计的可重用性。
6.支持多风格的描述方法VHDL不仅支持行为级的描述,而且支持数据流及结构描述。
前言电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等。
而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。
VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。
目录1.概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。
讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。
2.设计要求本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。
设计所要实现的功能为:1 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。
2 数码验证:开锁时输入密码后,拨动 RT 键使其为高电平,而CHANGE 为低电平检测,密码正确时开锁,输出LOCKOPEN 灯灭,LOCKCLOSE 灯亮,表示开锁成功。
3 错误显示:当密码输入错误时,LOCKOPEN 灯亮,LOCKCLOSE 灯灭,表示开锁失败。
4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT 为低电平时,可改变密码。
5 密码清除:按下REST 可清除前面的输入值,清除为“888”。
3.总体框图1)设计方案:电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。
作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。
拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。
数字电子密码锁的显示信息电路可采用LED 数码显示管和液晶屏显示两种。
液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED 数码管。
根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。
整个密码锁系统的总体总体框图如图 3.1所示。
图3.1电子密码锁系统总体框图4.电子密码锁的波形仿真 4.1电子密码锁的设计流程使用Quartus Ⅱ进行电子密码锁设计的流程为 1.编写VHDL 程序(使用Text Editor)(见附录); 2.编译VHDL 程序(使用Compiler);3.仿真验证VHDL 程序(使用Waveform Editor , Simulator);4.进行芯片的时序分析(使用Timing Analyzer);5.安排芯片管脚位置(使用Floorplan Editor);6.下载程序至芯片(使用Programmer)。
5.功能模块5.1 输入模块1)功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。
2)输入模块与仿真图形单脉冲控制如图5.1如下图图5.1上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。
四位串行输入并行输出寄存器如下图5.1.2图5.1.2上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位3)程序的输入在文本区内输入程序,程序如下:单脉冲信号控制puls.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY puls ISPORT (PUL,M:IN STD_LOGIC;Q:OUT STD_LOGIC);END puls;ARCHITECTURE BEHA VE OF puls ISSIGNAL TEMP:STD_LOGIC;BEGINPROCESS(M)BEGINIF M'EVENT AND M='1' THENIF PUL='1' THENTEMP<='1';ELSE TEMP<='0';END IF;END IF;END PROCESS;Q<=TEMP;END BEHA VE;4位串行输入并行输出寄存器shifter.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY shifter ISPORT(din:IN STD_LOGIC;reset,CLK: IN STD_LOGIC;qout: buffer STD_LOGIC_VECTOR(0 TO 3) );END shifter;ARCHITECTURE act OF shifter ISBEGINPROCESS(CLK)V ARIABLE q:STD_LOGIC_VECTOR(0 TO 3);BEGINIF reset='0' THENq:=(others=>'0');ELSEif clk'event and clk='1' thenq(3):=q(2);q(2):=q(1);q(1):=q(0);q(0):=din;END IF;END IF;qout<=q;END PROCESS;END architecture act;5.2 控制模块1)功能介绍开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。
当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。
当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。
按下REST可清除前面的输入值,清除为“888”。
2)控制模块与仿真图形输入译码器图5.2.1,如下图图5.2.2上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示0~9。
表5-2输入译码的真值表输入输出D C B A Y1 Y2 Y3 Y4 字形0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 1 10 0 1 0 0 0 1 0 20 0 1 1 0 0 1 1 30 1 0 0 0 1 0 0 40 1 0 1 0 1 0 1 50 1 1 0 0 1 1 0 60 1 1 1 0 1 1 1 71 0 0 0 1 0 0 0 81 0 0 1 1 0 0 1 9表5-2总功能控制模块图5.2.3,如下图图5.2.3当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen 为低电平,而lockclose为高电平。