数字逻辑系统课程设计报告-电子密码锁.doc_第1页
数字逻辑系统课程设计报告-电子密码锁.doc_第2页
数字逻辑系统课程设计报告-电子密码锁.doc_第3页
数字逻辑系统课程设计报告-电子密码锁.doc_第4页
数字逻辑系统课程设计报告-电子密码锁.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字逻辑系统课程设计报告课 题: 电子密码锁 专 业: 电子信息工程技术 班 级: b1311 学 号: 姓 名: 设计时间:2015年3月23日-27日评定成绩: 指导教师: 目 录一、 设计内容与要求1. 设计内容2. 设计要求二、 方案设计1. 程序与仿真波形2. 顶层仿真模块原理图三、 实现与测试四、 分析与总结 参考文献 一.设计内容与要求1、设计六位密码(每位均可以是09任意数字)的电子密码锁,用四个拨码开关(k1k4)输入,并通过七段数码管显示输入密码。2、密码验证:按键设置验证开始,输入密码后, 密码正确时开锁,绿灯亮,红灯灭,表示开锁成功;当密码输入错误时,绿灯灭,红灯亮,表示开锁失败。3、密码更改:密码验证正确后可以更改,并设置按键控制更改密码功能。4、密码清除:密码输入过程中可以清除,并重新输入。5、初始密码:预设初始密码为123456二. 方案设计1. 总体模块设计通过拨码输入密码,送到密码校验电路,如果校验正确开锁,并执行显示在led灯上,同时密码校验正确可以进行密码修改。密码修改电路拨码输入密码校验电路执行电路开锁电路2. 顶层文件设计本设计采用eda技术和vhdl语言设计了一种按键输入密码并数码管回显,当输入正确密码时轰动绿灯亮、红灯熄灭表示开锁,而当输入错误密码时,红灯亮、绿灯熄灭表示关锁。根据系统设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图设计方式,系统的整体组装设计原理图如图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 isport (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)寄存器用两个寄存器,每个寄存器存入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 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=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 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,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; end 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_logic_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;use 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 o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论