数字逻辑系统课程设计报告电子密码锁.doc

上传人:laozhun 文档编号:3944281 上传时间:2023-03-28 格式:DOC 页数:16 大小:115KB
返回 下载 相关 举报
数字逻辑系统课程设计报告电子密码锁.doc_第1页
第1页 / 共16页
数字逻辑系统课程设计报告电子密码锁.doc_第2页
第2页 / 共16页
数字逻辑系统课程设计报告电子密码锁.doc_第3页
第3页 / 共16页
数字逻辑系统课程设计报告电子密码锁.doc_第4页
第4页 / 共16页
数字逻辑系统课程设计报告电子密码锁.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数字逻辑系统课程设计报告电子密码锁.doc》由会员分享,可在线阅读,更多相关《数字逻辑系统课程设计报告电子密码锁.doc(16页珍藏版)》请在三一办公上搜索。

1、数字逻辑系统课程设计报告课 题: 电子密码锁 专 业: 电子信息工程技术 班 级: B1311 学 号: 姓 名: 设计时间:2015年3月23日-27日评定成绩: 指导教师: 目 录一、 设计内容与要求1. 设计内容2. 设计要求二、 方案设计1. 程序与仿真波形2. 顶层仿真模块原理图三、 实现与测试四、 分析与总结 参考文献 一.设计内容与要求1、设计六位密码(每位均可以是09任意数字)的电子密码锁,用四个拨码开关(k1k4)输入,并通过七段数码管显示输入密码。2、密码验证:按键设置验证开始,输入密码后, 密码正确时开锁,绿灯亮,红灯灭,表示开锁成功;当密码输入错误时,绿灯灭,红灯亮,表

2、示开锁失败。3、密码更改:密码验证正确后可以更改,并设置按键控制更改密码功能。4、密码清除:密码输入过程中可以清除,并重新输入。5、初始密码:预设初始密码为123456二. 方案设计1. 总体模块设计通过拨码输入密码,送到密码校验电路,如果校验正确开锁,并执行显示在LED灯上,同时密码校验正确可以进行密码修改。密码修改电路拨码输入密码校验电路执行电路开锁电路2. 顶层文件设计本设计采用EDA技术和VHDL语言设计了一种按键输入密码并数码管回显,当输入正确密码时轰动绿灯亮、红灯熄灭表示开锁,而当输入错误密码时,红灯亮、绿灯熄灭表示关锁。根据系统设计要求,系统设计采用自顶向下的设计方法。顶层设计采

3、用原理图设计方式,系统的整体组装设计原理图如图2所示。它由拨码输入、寄存器、密码比较和显示灯四个模块组成。其顶层文件设计如图:3.各功能模块的具体实现(1)拨码输入模块拨码输入模块包括设置密码并读取、输入密码、系统复位功能。该模块中我们设置了6个按键,各个按键的功能分别为:按键1、2、3、4分别对应4位二进制密码输入、键5为密码确认键、键6为系统复位和密码读取按键。如图:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity a is

4、port (k1,k2,k3,k4,k5:in std_logic; k_out:out std_logic_vector(3 downto 0); q:buffer std_logic_vector(2 downto 0);end;architecture bhv of a isbegin process(k5) begin if k5event and k5=1 then if q101 then q=q+1 ; else q=000; end if ; k_out=k1&k2&k3&k4; end if ; end process; end bhv;(2)寄存器用两个寄存器,每个寄存器存

5、入6个二进制数,每个寄存器的输入和输出各6个。b2寄存器为存入拨码输入的6个二进制数,b1寄存器为存入密码的6个二进制数,并在b1中加入初始密码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity b1 isport ( d1,d2,d3,d4,d5,d6 :in std_logic_vector(3 downto 0); q:in std_logic_vector(2 downto 0); q1,q2,q3,q4,q5,q6 : out std_logic_vector(3 downto

6、 0);end;architecture bhv of b1 issignal qq1,qq2,qq3,qq4,qq5,qq6:std_logic_vector(3 downto 0);beginprocess (q) begin if q101 then qq1=0001; qq2=0010; qq3=0011; qq4=0100; qq5=0101; qq6=0110; qq1=d1 ; qq2=d2 ; qq3=d3 ; qq4=d4 ; qq5=d5 ; qq6=d6; end if;end process ;q1=qq1;q2=qq2;q3=qq3;q4=qq4;q5=qq5;q6=

7、qq6;end bhv;b2寄存器library ieee;use ieee.std_logic_1164.all;entity b2 isport (q:in std_logic_vector(2 downto 0); d1,d2,d3,d4,d5,d6 :in std_logic_vector(3 downto 0); q1,q2,q3,q4,q5,q6 : out std_logic_vector(3 downto 0);end;architecture bhv of b2 isbeginprocess (q) begin if q=000 then q1=d1; elsif q=001

8、 then q2=d2; elsif q=010 then q3=d3; elsif q=011 then q4=d4; elsif q=100 then q5=d5; else q6=d6; end if;end process ;end bhv;(3)密码比较模块把2个寄存器里的二进制数进行比较,如图library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity c is port (c1,c2,c3,c4,c5,c6:in std_logic_vector(3 downto 0); m1,m2

9、,m3,m4,m5,m6:in std_logic_vector(3 downto 0); s_out :out std_logic); end;architecture bhv of c isbeginprocess(c1,m1,c2,m2,c3,m3,c4,m4,c5,m5,c6,m6)begin if c1=m1 then if c2=m2 then if c3=m3 then if c4=m4 then if c5=m5 then if c6=m6 then s_out=1; else s_out=0; end if; end if; end if; end if; end if; e

10、nd if;end process; end bhv;(4)显示模块本设计要求输入正确密码时,绿灯亮、红灯熄灭;当输入错误密码时,5S后红灯亮绿灯灭LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity f isport( s1,s2,s3,s4,s5,s6: IN STD_LOGIC_vector(3 downto 0); q:in STD_LOGIC_VECTOR(2 DOWNTO 0); cout: buffer std_log

11、ic_vector(2 downto 0); dig:buffer std_logic_vector(5 downto 0); DEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );end;architecture one of f is begin process(q) begin if q=000 then coutDEL=s1; digDEL=s2; digDEL=s3; digDEL=s4; digDEL=s5; digDEL=s3; dig null; end case; end process; end one;LED七段数码管library ieee;u

12、se ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity d isport( keyin:in std_logic_vector(3 downto 0); cout:in std_logic_vector(2 downto 0); keyout:out std_logic_vector(6 downto 0); end d;architecture one of d is begin process(keyin) begin if cout keyout keyout keyout keyout keyout keyout keyout keyout keyout keyout keyout=null; end case; end if; end process;end one;密码锁输入模块的仿真三.分析与总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号