当前位置:文档之家› EDA电子密码锁毕业设计(论文)

EDA电子密码锁毕业设计(论文)

EDA电子密码锁毕业设计论文毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订教研室(或答辩小组)及教学系意见目录第1章概述 (3)第2章设计要求 (3)第3章总体框图 (4)第4章功能模块 (6)4.1 输入模块 (6)4.2 控制模块 (9)4.3 显示模块 (17)第5章总体设计电路图 (20)第6章设计心得体会 (22)参考文献 (24)第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数码管。

根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。

整个密码锁系统的总体总体框图如图1.1所示。

图3.1电子密码锁系统总体框图第4章功能模块4.1 输入模块1)功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。

2)输入模块与仿真图形单脉冲控制如图5.1如下图图5.1上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。

四位串行输入并行输出寄存器如下图5.2图5.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;4.2 控制模块1)功能介绍开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。

当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。

当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。

按下REST可清除前面的输入值,清除为“888”。

2)控制模块与仿真图形输入译码器图5.3,如下图图5.3上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示0~9。

表5-1输入译码的真值表输入输出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-1总功能控制模块图5.4,如下图图5.4当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen为低电平,而lockclose为高电平。

4选1选择器与扫描器图5.5,如下图图5.5如上图多路选择器可以从多组数据来源中选取一组送入目的地,在本设计中利用多路选择器做扫描电路来分别驱动输出装置,可以将低成本消耗,如上图当输入“819”时,在时钟地控制下qout将输出“819”,而与之对应的sel扫描对应的数码管。

在文本区内输入程序,程序如下:输入译码器KEY.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY KEY ISPORT(clk:IN STD_LOGIC;data:IN STD_LOGIC_VECTOR(3 DOWNTO 0); q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ENTITY KEY;ARCHITECTURE ART OF KEY ISBEGINPROCESS(clk,data)ISBEGINIF clk'EVENT AND clk='1' THENCASE data ISWHEN "0000"=>q<="0000";q1<="0000"; WHEN "0001"=>q<="0001";q1<="0001"; WHEN "0010"=>q<="0010";q1<="0010"; WHEN "0011"=>q<="0011";q1<="0011"; WHEN "0100"=>q<="0100";q1<="0100"; WHEN "0101"=>q<="0101";q1<="0101"; WHEN "0110"=>q<="0110";q1<="0110"; WHEN "0111"=>q<="0111";q1<="0111";WHEN "1000"=>q<="1000";q1<="1000"; WHEN "1001"=>q<="1001";q1<="1001";WHEN OTHERS=>q<="0000";q1<="0000";END CASE;END IF;END PROCESS;END ARCHITECTURE ART;总功能控制模块Eleclock.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Eleclock ISPORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK:IN STD_LOGIC;CHANGE,RT: IN STD_LOGIC;DB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC); END ENTITY Eleclock;ARCHITECTURE ART OF Eleclock ISCOMPONENT Key ISPORT(CLK:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END COMPONENT Key;SIGNAL ENABLE,C0,C1,S,ENABLE1:STD_LOGIC;SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINENABLE<=CHANGE AND(NOT RT);ENABLE1<=RT AND(NOT CHANGE);U0:KEY PORT MAP(CLK=>CLK,DATA=>NB,Q=>DB,Q1=>D_B);U1:KEY PORT MAP(CLK=>CLK,DATA=>NS,Q=>DS,Q1=>D_S);U2:KEY PORT MAP(CLK=>CLK,DATA=>NG,Q=>DG,Q1=>D_G); PROCESS(CLK,D_B,D_S,D_G) ISBEGINIF CLK'EVENT AND CLK='1' THENIF ENABLE='1' THENTB<=D_B;TS<=D_S;TG<=D_G;END IF;IF ENABLE1='1' THENIF ( TB<=D_B AND TS<=D_S AND TG<=D_G) THENLOCKOPEN<='1';LOCKCLOSE<='0';ELSELOCKOPEN<='0';LOCKCLOSE<='1';END IF;END IF;END IF;END PROCESS;END ARCHITECTURE ART;4选1选择器与扫描器sel.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sel ISPORT(QIN1,QIN2,QIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK,RST:IN STD_LOGIC;QOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END sel;ARCHITECTURE ART OF sel ISBEGINPROCESS(CLK,RST)V ARIABLE CNT:INTEGER RANGE 0 TO 2;BEGINIF (RST='0') THENCNT:=0;sel <="00000000";QOUT<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF CNT=2 THENCNT:=0;ELSECNT:=CNT+1;END IF;CASE CNT ISWHEN 0=>QOUT<=QIN1;sel <="11111110";WHEN 1=>QOUT<=QIN2;sel<="11111101";WHEN 2=>QOUT<=QIN3;sel<="11111011";WHEN OTHERS=>QOUT<="0000";sel<="11111111";END CASE;END IF;END PROCESS;END ARCHITECTURE ART;4.3 显示模块1)功能介绍将密码用BCD七段数码管显示2)显示模块与仿真波形图5.6,如下图图5.6上图将BCD码转化到七段译码电路上表5-2 BCD-七段数码管的真值表输入输出D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7字形0 0 0 0 1 1 1 1 1 1 0 00 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 0 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 0 1 1 1 1 1 60 1 1 1 1 1 1 0 0 0 0 71 0 0 0 1 1 1 1 1 1 1 81 0 0 1 1 1 1 0 0 1 1 9表5-2在文本区内输入程序,程序如下:Seg7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Seg7 ISPORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END Seg7;ARCHITECTURE ACT OF Seg7 ISBEGINLED<="1111110"WHEN num="0000"ELSE"0110000"WHEN num ="0001"ELSE"1101101"WHEN num ="0010"ELSE"1111001"WHEN num ="0011"ELSE"0110011"WHEN num ="0100"ELSE"1011011"WHEN num ="0101"ELSE"1011111"WHEN num ="0110"ELSE"1110000"WHEN num ="0111"ELSE"1111111"WHEN num ="1000"ELSE"1111011"WHEN num ="1001"ELSE"1110111"WHEN num ="1010"ELSE"0011111"WHEN num ="1011"ELSE"1001110"WHEN num ="1100"ELSE"0111101"WHEN num ="1101"ELSE"1001111"WHEN num ="1110"ELSE"1000111"WHEN num ="1111";END ACT;第5章总体设计电路图1)功能介绍将各个模块连接在一起实现。

相关主题