您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA课程设计报告报告-电子密码锁
..目录第1章概述.............................................................................................2第2章设计要求.........................................................................................2第3章总体框图.........................................................................................2第4章功能模块.........................................................................................44.1输入模块.........................................................................................44.2控制模块.........................................................................................74.3显示模块........................................................................................15第5章总体设计电路图..................................................................................17第6章设计心得体会....................................................................................19参考文献...............................................................................................20EDA密码锁课程设计第1章概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。第2章设计要求本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。设计所要实现的功能为:1数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。2数码验证:开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。3错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。4更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。5密码清除:按下REST可清除前面的输入值,清除为“888”。第3章总体框图1)设计方案:电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。拨码与按键和触摸式4*4键盘相比EDA密码锁课程设计简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图1.1所示。图3.1电子密码锁系统总体框图BCD七段译码显示电路拨码与按键单脉冲控制输入译码控制模块寄存器与清零信号发生电路数值比较器开/关锁电路三选一选择器扫描电路LED灯显示模块输入模块EDA密码锁课程设计第4章功能模块4.1输入模块1)功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。2)输入模块与仿真图形单脉冲控制如图5.1如下图EDA密码锁课程设计图5.1上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。四位串行输入并行输出寄存器如下图5.2图5.2上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位3)程序的输入在文本区内输入程序,程序如下:单脉冲信号控制puls.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYpulsISPORT(PUL,M:INSTD_LOGIC;Q:OUTSTD_LOGIC);EDA密码锁课程设计ENDpuls;ARCHITECTUREBEHAVEOFpulsISSIGNALTEMP:STD_LOGIC;BEGINPROCESS(M)BEGINIFM'EVENTANDM='1'THENIFPUL='1'THENTEMP='1';ELSETEMP='0';ENDIF;ENDIF;ENDPROCESS;Q=TEMP;ENDBEHAVE;4位串行输入并行输出寄存器shifter.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYshifterISPORT(din:INSTD_LOGIC;reset,CLK:INSTD_LOGIC;qout:bufferSTD_LOGIC_VECTOR(0TO3));ENDshifter;ARCHITECTUREactOFshifterISBEGINPROCESS(CLK)VARIABLEq:STD_LOGIC_VECTOR(0TO3);EDA密码锁课程设计BEGINIFreset='0'THENq:=(others='0');ELSEifclk'eventandclk='1'thenq(3):=q(2);q(2):=q(1);q(1):=q(0);q(0):=din;ENDIF;ENDIF;qout=q;ENDPROCESS;ENDarchitectureact;4.2控制模块1)功能介绍开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。按下REST可清除前面的输入值,清除为“888”。2)控制模块与仿真图形输入译码器图5.3,如下图EDA密码锁课程设计图5.3上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示0~9。表5-1输入译码的真值表输入输出DCBAY1Y2Y3Y4字形000000000000100011001000102001100113010001004010101015011001106011101117100010008100110019EDA密码锁课程设计表5-1总功能控制模块图5.4,如下图图5.4当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen为低电平,而lockclose为高电平。4选1选择器与扫描器图5.5,如下图EDA密码锁课程设计图5.5如上图多路选择器可以从多组数据来源中选取一组送入目的地,在本设计中利用多路选择器做扫描电路来分别驱动输出装置,可以将低成本消耗,如上图当输入“819”时,在时钟地控制下qout将输出“819”,而与之对应的sel扫描对应的数码管。在文本区内输入程序,程序如下:输入译码器EDA密码锁课程设计KEY.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYKEYISPORT(clk:INSTD_LOGIC;data:INSTD_LOGIC_VECTOR(3DOWNTO0);q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);q1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYKEY;ARCHITECTUREARTOFKEYISBEGINPROCESS(clk,data)ISBEGINIFclk'EVENTANDclk='1'THENCASEdataISWHEN0000=q=0000;q1=0000;WHEN0001=q=0001;q1=0001;WHEN0010=q=0010;q1=0010;WHEN0011=q=0011;q1=0011;WHEN0100=q=0100;q1=0100;WHEN0101=q=0101;q1=0101;WHEN0110=q=0110;q1=0110;WHEN0111=q=0111;q1=0111;WHEN1000=q=1000;q1=1000;WHEN1001=q=1001;q1=1001;WHENOTHERS=q=0000;q1=0000;ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTUREART;EDA密码锁课程设计总功能控制模块Eleclock.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYEleclockISPORT(NB:INSTD_LOGIC_VECTOR(3DOWNTO0);NS:INSTD_LOGIC_VECTOR(3DOWNTO0);NG:INSTD_LOGIC_VECTOR(3DOWNTO0);CLK:INSTD_LOGIC;CHANGE,RT:INSTD_LOGIC;DB:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DS:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DG:OUTSTD_LOGIC_VECTOR(3DOWNTO0);LOCKOPEN,LOCKCLOSE:OUTSTD_LOGIC);ENDENTITYEleclock;ARCHITECTUREARTOFEleclockISCOMPONENTKeyISPORT(CLK:INSTD_LOGIC;DATA:INSTD_LOGIC_VECTOR(3DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Q1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDCOMPONENTKey;SIGNALENABLE,C0,C1,S,ENABLE1:STD_LOGIC;SIGNALTB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3DOWNTO0);BEGINENABLE=CHANGEAND(NOTRT);ENABLE1=RTAND(NOTCHANGE);U0:KEYPORTMAP(CLK=CLK,DATA=NB,Q=
本文标题:EDA课程设计报告报告-电子密码锁
链接地址:https://www.777doc.com/doc-7857216 .html