电子密码锁设计 开题报告

时间:2024.4.13

        毕业设计开题报告

电子密码锁的设计与实现

姓    名  

院(系)   

专业年级  

学   号     

指导教师   

职    称    

起止时间  


第二篇:电子密码锁设计


电子密码锁设计

1 设计任务及要求

初始条件:计算机、Max+plusⅡ、EDA实验箱。

主要任务与要求:设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1~K10分别代表数字1,2,?,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。

提高部分:为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。

2 EDA简介

EDA技术是在电子CAD技术基础上发展起来的通用软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA 设计可分为系统级、电路级和物理实现级。物理级设计主要指IC版图设计,一般由半导体厂家完成;系统级设计主要面对大型复杂的电子产品;而一般民用及教学所涉及基本是电路级设计。我们常用的EDA软件多属于电路级设计。

电路初级设计工作,是在电子工程师接受系统设计任务后,首先确定设计方案,并选择合适的元器件,然后根据具体的元器件设计电路原理图,接着进行第一次仿真。其中包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析等。这一次仿真主要是检验设计方案在功能方面的正确性。

仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线,有条件的还可以进行PCB后分析。其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反馈回电路图,进行第二次仿真,也称作后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。

EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:multiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。

3实验原理及电路图

在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。密码锁要达到的功能为:

1、密码输入:每按下一个键,要求在数码管上显示,并依次左移;

2、密码删除:每删除一位,数码管上的显示右移一位,在左边空出的位补充零;

3、密码设置:当四位密码输入完毕,按下设置功能键进行设置;

4、密码检验:输入密码,按下检验键。

为达到密码锁的以上功能,可将电子密码锁分为以下几个模块:密码锁输入电路、密码锁控制电路、LED输出显示电路。总原理图如下

电子密码锁设计

图1 密码锁设计总原理图

4 各模块电路设计及功能实现

4.1 密码锁输入模块

密码锁输入模块由时序产生电路、键盘扫描电路、键盘译码电路和按键存储电路组成。

1.时序产生电路

产生电路中使用的三种不同频率的工作脉冲波形,即系统时钟脉冲、弹跳消除取样信号和键盘扫描信号。

2.键盘扫描电路

扫描电路的作用是提供键盘扫描信号,扫描信号变化的顺序依次为1110-1101-1011-0111-1110??依序地周而复始。

3.键盘译码电路

上述键盘中的按键分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除键、上锁键和解锁键等。数字按键主要是用来输入数字的,但是键盘所产生的输出是无法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。

4.按键存储电路

因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个扫描完毕后的结果记录下来。

电子密码锁设计

图2 按键位置与数码关系

4.2 密码锁控制电路

密码锁的控制电路是整个电路的控制中心,包括密码删除、修改与检验,其控制作用主要体现在以下方面:

1.数字按键输入的响应控制

a.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按下一个数字时,

显示器上的数字必须左移一位,以便将新的数字显示出来。

b.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。

c.由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。

2.功能按键输入的响应控制

a.清除键:清除所有的输入数字,即作归零动作。

b.上锁键:按下此键时可将密码锁的门上锁(上锁前必须预先设定一个四位的数字密码)。 c.解除键:按下此键会检查输入的密码是否正确,若密码正确无误则解锁。

本设计的密码锁控制电路如下图所示:

电子密码锁设计

图3 密码锁控制电路

其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密码端口, clk时钟输入端口, bcd[3..0]为数字输入端口,bcd16[15..0]为16位输出端口,lock密码锁状态显示端口。

在此电路中每输一位数,密码在数码管上左移一位。设置删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。

设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。

设置密码锁状态信号lock, lock=0表示锁未开,lock=1表示锁开,同时设置关锁信号close,按下close,则锁关闭。

设置密码检验信号check,在lock=0下从数据开关书去四位开锁数字,按下check,若数据等于设置的密码或万能密码,则lock=1。

4.3 输出显示电路

BCD 译码、动态扫描电路如图4所示。

电子密码锁设计

图4 输入显示电路

输出显示电路通过一个二进制计数器对数码管进行片选,片选为0,输入的第0~3位在第一个数码关上显示;片选为1输入的第4~7位在第二个数码关上显示,片选为2输入的第8~11位在第三个数码关上显示,片选为3输入的第12~15位在第四个数码关上显示,进而实现数码管的动态显示。

通过开关编码电路将开关电平转换成数据1,2?9,0, 将转换成的数输入到密码锁控制电路,之后输出到数码管动态显示电路。

5 系统仿真

5.1波形仿真图形

在进行编程的过程中,对每一模块都要进行波形仿真。键盘模块、控制模块、动态显示模块的波形仿真图分别如图5、图6、图7所示。

电子密码锁设计

图5 编码器仿真波形

电子密码锁设计

图6 控制电路仿真波形

电子密码锁设计

图7 动态现实仿真波形

5.2 结果分析

在图5中可知,输入“001”、“002”、“004”、“008”、“010”、“020”、“040”、“080”、“080”、“100”、“200”分别表示选择开关k1、k2、..k9、k10,输出数据1,2,3?9,0,从波形中我们可以看出这是符合。图6所示,输入密码“6520”后按Close,Lock=“1”表示关锁,再次输入“6520”按Check,密码锁打开Lock=“0”。图7中,C-display计数到“0”、“1”、“2”、“3”时,SELOUT分别为“1110”、“1101”、“1011”、“0111”,表示片选第0、1、2、3个数码显示管,符合设计要求。

6实验程序及流程图

根据设计原理分析,本设计为三个模块:开关编码模块、控制模块、动态显示模块。设计的总结构图为图8所示。

电子密码锁设计

图8设计结构图

6.1 输入开关编码程序

library ieee; ---定义实体 use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity tra is

port( n:in std_logic_vector(9 downto 0); ---定义按键输入端口 sout:out std_logic_vector(3 downto 0)); ----定义编码输入端口 end tra;

architecture at of tra is -----定义结构体 signal temp:std_logic_vector(3 downto 0);

begin

process(n)

begin

case n is ----输入键编码 when "0000000001"=>temp<="0001";

when "0000000010"=>temp<="0010";

when "0000000100"=>temp<="0011";

when "0000001000"=>temp<="0100";

when "0000010000"=>temp<="0101";

when "0000100000"=>temp<="0110";

when "0001000000"=>temp<="0111";

when "0010000000"=>temp<="1000";

when "0100000000"=>temp<="1001";

when "1000000000"=>temp<="0000";

when others=>temp<="1111";

end case;

end process;

sout<=temp;

end at;

6.2 密码锁控制模块流程图及程序

电子密码锁设计

图9控制模块流程图

程序代码为:

library ieee; ----定义实体 use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity art is

port( set,check,close,back,clk:in std_logic; --- set密码设置信号, check 密码检验信号, ---close 关锁信号back密码删除信号, clk时钟信号 dn:in std_logic_vector(3 downto 0);

sout:out std_logic_vector(15 downto 0); ---16位输入信号 lock:out std_logic); ---设置密码锁状态信号 end art;

architecture at of art is -----定义结构体 signal ch:std_logic;

begin

process(clk,dn) --定义进程变量 variable lock_1:std_logic;

variable acc:std_logic_vector(15 downto 0);

variable temp1,temp2,temp3,temp4:std_logic_vector(3 downto 0);

begin

ch<=not(dn(0) and dn(1) and dn(2) and dn(3)); ---设置按键输入上升沿 lock_1:='0';

if clk'event and clk='1' then

if ch='1' then -----密码左移显示 temp4:=temp3;

temp3:=temp2;

temp2:=temp1;

temp1:=dn;

end if;

end if;

if back='1' then ----密码删除右移显示 temp1:=temp2;

temp2:=temp3;

temp3:=temp4; temp4:="0000";

lock_1:='0';

end if;

end if;

if set='1' then -----密码设置 acc:=temp4&temp3&temp2&temp1;

lock_1:='0';

end if;

if check='1' then ----密码校验 if acc=temp4&temp3&temp2&temp1 then lock_1:='1';

elsif temp4="1000" and temp3="1000" and temp2="1000" and temp1="1000" then

lock_1:='1';

end if;

end if;

if close ='1' then

lock_1:='0'; ----密码锁的关闭 temp1:="0000"; temp2:="0000"; temp3:="0000"; temp4:="0000";

end if;

end if;

sout<=temp4&temp3&temp2&temp1;

lock<=lock_1;

end process;

end at;

6.3 数码管的动态显示流程图及程序

电子密码锁设计

图10 数码管动态显示流程图

程序代码为: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity leds is -----定义实体 port(din:in std_logic_vector(15 downto 0); ----16输入信号 clk:in std_logic; ---时钟信号 con: buffer std_logic_vector(1 downto 0);

led7:out std_logic_vector(6 downto 0); ---七段数码管输入信号 sn:out std_logic_vector(2 downto 0)); ----数码管七段译码信号 end leds;

architecture he of leds is -----定义结构体 signal db:std_logic_vector(3 downto 0); begin process(clk,din)

begin

if clk'event and clk='1' then

con<=con+1; ----数码管的片选计数 end if;

if(con="00") then ---片选为0,0~3位显示 db<=din(3 downto 0);

sn<="000";

elsif(con="01") then ----片选为1,4~7位显示 db<=din(7 downto 4);

sn<="001";

elsif(con="10") then ---片选为2,8~11位显示 db<=din(11 downto 8);

sn<="010";

elsif(con="11") then ----片选为3,12~15位显示 db<=din(15 downto 12);

sn<="011";

end if;

case db is ----数码管的译码 when "0000"=>led7<="0111111";

when "0001"=>led7<="0000110";

when "0010"=>led7<="1011011";

when "0011"=>led7<="1001111";

when "0100"=>led7<="1100110";

when "0101"=>led7<="1101101";

when "0110"=>led7<="1111101";

when "0111"=>led7<="0000111";

when "1000"=>led7<="1111111";

when "1001"=>led7<="1101111"; when others=>led7<="0000000";

end case;

end process;

end he;

7心得体会

通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。

作为学习自动化专业的学生,应该熟练掌握各种电路编辑软件,作为专业必需的技能,即将踏入社会的时候,更加要求我们有这方面的基础。随着电子技术的飞速发展,各种新型电子器件和集成电路应用越来越广泛,电子系统的功能越来越强大,电路图也越来越复杂,印刷电路板的走线越来越复杂和精密。计算机的应用使得我们对各种复杂的电路设计工作变得简单一些,使得更好更复杂的电路得以实现。电子设计自动化(Electronics Design Automates,即EDA)工具的集成设计环境,电子设计软件Max + PLUS II 软件等的运用使得设计电路更加方便。

通过这次课程设计,我感觉到不会的知识还有很多,还有很多软件、硬件知识需要去学习,在今后的学习生活中,一定充分利用时间,不断充实自己。

8 参考文献

[1]高有堂 《EDA技术及应用实践》 清华大学出版社。2006

[2]林敏,方颖立 《VHDL数字系统设计与高层次综合》 电子工业出版社。2002

[3]王锁平 《电子设计自动化(EDA)教程》 电子科技大学出版社。 2000

[4]潘送等编著 《EAD技术使用教程》 科学出版社。2002

[5]谭会生,瞿遂春 《EAD技术综合应用实例与分析》 西安电子科技大学出版社。2004

更多相关推荐:
电子密码锁设计报告

设计说明书课程名称单片机技术设计题目基于51单片机的电子密码锁院部电子信息与电气工程学院学生姓名马亚林学号专业班级12通信工程专升本指导教师丁莹亮20xx年05月17日课程课程设计任务书设计以单片机AT89C5...

密码锁课程设计报告

1引言11电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作从而控制机械开关的闭合完成开锁闭锁任务的电子产品它的种类很多有简易的电路产品也有基于芯片的性价比较高的产品现在应用较广的电子密码锁是以芯...

电子密码锁设计报告

电子技术课程设计题目名称:电子密码锁重庆大学电气工程学院20XX年6月电子密码锁摘要:本文的电子密码锁是利用数字电子技术中基于JK触发器的锁存电路实现主电路的密码的修改和检测功能,再通过555定时器和一些基本的…

电子密码锁课程设计报告最终版 2

课程设计综合实验报告20xx20xx年度第1学期名称题目院系班级学号学生姓名指导教师设计周数成绩日期20xx年1月13日一目的与要求1目的11课程设计是教学中必不可少的重要环节通过课程设计巩固深化和扩展学生的理...

电子密码锁课程设计报告

电子密码锁一引言随着人们生活水平的提高人们对自己的生活有了越来越高的要求贵重物品也越来越多而传统的机械安全锁由于其构造的简单被撬被盗事件在我们身边经常发生使我们的财产以及人身安全存在很大的安全隐患这致使我们寻求...

基于单片机的电子密码锁设计_单片机课程设计报告

单片机密码锁课程设计报告湖南师大本科生课程设计目录1引言12设计要求23硬件电路设计331设计方案的选择332主要元器件简介433硬件系统结构84程序设计135总结15参考文献16附件一电路原理图及作品实物图1...

电子密码锁 总结报告 李超 电气09-3班

基于单片机的电子密码锁设计TheDesignofElectronicPassword-lockwithSCM第一章课题任务基于51单片机的简易电子密码锁一、实现功能:1、设置6位密码,密码通过键盘输入,若密码正…

电子密码锁毕业设计开题报告

湖北理工学院毕业设计论文开题报告湖北理工学院毕业设计论文开题报告题目基于单片机的超市储物柜密码锁的设计学院专业名称电子信息工程学号20xx40210122学生姓名叶文指导教师章磊20xx年1月8日湖北理工学院毕...

电子密码锁设计 开题报告 - 副本

大学信息工程学院本科毕业论文设计开题报告1选题意义单片机亦称单片机微电脑或单片微型计算机它是把中央处理器CPU随机存取存储器RAM只读存储器ROM输入输出端口IO等主要计算机功能部件都集成在一块集成电路芯片上的...

基于单片机的多功能电子密码锁设计(毕业论文).doc

沈阳理工大学学士学位论文1引言11电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作从而控制机械开关的闭合完成开锁闭锁任务的电子产品它的种类很多有简易的电路产品也有基于芯片的性价比较高的产品现在应...

基于单片机的电子密码锁设计开题报告

基于单片机的电子密码锁设计开题报告一毕业论文代写课题背景和意义在日常的生活和工作中住宅与部门的安全防范单位的文件档案财务报表以及一些个人资料的保存多以加锁的办法来解决若使用传统的机械式钥匙开锁人们常需携带多把钥...

优秀单片机课程设计《电子密码锁报告》

基于单片机控制的电子密码锁摘要本系统由单片机系统矩阵键盘LED显示和报警系统组成系统能完成开锁超时报警超次锁定管理员解密修改用户密码基本的密码锁的功能除上述基本的密码锁功能外还具有调电存储声光提示等功能依据实际...

电子密码锁设计报告(26篇)