ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:94.61KB ,
资源ID:23901749      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23901749.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字逻辑系统课程设计报告 1.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字逻辑系统课程设计报告 1.docx

1、数字逻辑系统课程设计报告 1数字逻辑系统课程设计报告课 题: 电子密码锁 专 业: 电子信息工程技术 班 级: B1311 学 号: 21311060104 姓 名: 李文翔 设计时间: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;entit

4、y 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)寄存器用两个寄存器,

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

6、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=q

7、q5;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

8、 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);

9、 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

10、 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 s

11、td_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

12、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 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;密码锁输入模块的仿真三.分析与总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1