电子密码锁上传文档

上传人:我** 文档编号:115930568 上传时间:2019-11-15 格式:DOC 页数:21 大小:2.37MB
返回 下载 相关 举报
电子密码锁上传文档_第1页
第1页 / 共21页
电子密码锁上传文档_第2页
第2页 / 共21页
电子密码锁上传文档_第3页
第3页 / 共21页
电子密码锁上传文档_第4页
第4页 / 共21页
电子密码锁上传文档_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《电子密码锁上传文档》由会员分享,可在线阅读,更多相关《电子密码锁上传文档(21页珍藏版)》请在金锄头文库上搜索。

1、EDA 技术课程设计报告 设计题目: 电子密码锁设计 专业班级: 11 电子信息工程(2)班 学生姓名: 张 蕾 学 号: 指导教师: 陈初侠 电子密码锁设计 2 完成日期:2013 年 12 月 19 日 目目 录录 引引 言言1 1 设计任务及设计要求设计任务及设计要求1 1.1 设计任务1 1.2 设计要求2 2 设计总体思路设计总体思路2 2.1 设计方法选择2 2.2 程序设计语言选择及优点2 2.2.1 程序语言的选择2 2.2.1 VHDL 语言的选择 .3 3 各单元电路设计各单元电路设计3 3.1 密码输入模块3 3.1.1 密码输入模块的功能4 3.1.2 密码输入模块的程

2、序及模块图4 3.1.3 密码输入模块仿真波形图4 3.2 密码锁控制模块4 3.2.1 密码锁控制模块的功能4 3.2.2 密码锁控制模块的程序及模块图5 3.2.3 密码锁控制模块仿真波形图5 3.3 扫描显示模块6 3.3.1 扫描显示模块的功能6 3.3.2 扫描显示模块的程序及模块图6 3.3.3 扫描显示模块仿真波形图6 4 总电路设计总电路设计7 4.1 系统结构框图及其原理7 4.1.1 系统结构框图7 4.1.2 系统原理阐述7 4.2 密码锁硬件系统示意图8 4.3 总电路原理图8 5 设计调试体会与总结设计调试体会与总结10 5.1 设计调试体会10 5.2 设计总结11

3、 6 对此次设计的评价以及改进想法对此次设计的评价以及改进想法12 6.1 对本次设计自我评价12 6.2 对本设计的改进想法12 参考文献参考文献14 附附 录录15 附录 1 实验箱验证结果图片15 附录 2 程序清单16 1 密码输入模块代码16 电子密码锁设计 3 2 密码锁控制模块代码.16 3 扫描显示模块代码.18 引引 言言 随着可编程逻辑器件技术的发展,EDA 技术已广泛用于电子系统设计开发中。 EDA 技术已成为电子信息类专业人员必须掌握的一门重要技术。 EDA 技术是一门实践性很强的课程,其内容既有基本的逻辑行为的实现, 也有控制与传输功能的实现,更有复杂的算法实现。本次

4、课程设计将 VHDL 语言 的学习与数字电路的逻辑行为描述紧密结合,将 FPGA 内部电路的设计与外围硬 件电路紧密结合,重点介绍可编程逻辑器件对外常用外围电路的控制与通信的 设计原理与实现方法,努力使我们能在最短的时间内有效的掌握 EDA 技术中的 硬件电路知识与 VHDL 的编程方法,提高自身的工程实践能力。 在当今社会中,人们对于隐私的保护和对物品安全的重视程度与日俱增。因 此,使用了现代电子密码锁便有了广泛的应用前景。本次所设计的电子密码锁, 能够实现四位十进制并行密码保护,当输入的密码与设置密码一致按下检测键 时,密码锁状态显示信号 lock=1(LED 灯亮) ,表示锁开,并可在数

5、码管上显示 所输入的密码。为人们的财产、信息安全提供了可靠的保障。本文讲述了电子 密码锁的宫缩原理以及各个模块的功能,并讲述了所有部分的设计思路,对各 部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析, 到最后的总体电路图的分析。 1 1 设计任务及设计要求设计任务及设计要求 1.11.1 设计任务设计任务 本次设计问题可分为用密码输入模块、密码锁控制模块、扫描显示模块。 在密码输入模块中,对按键进行扫描,当有按键按下时,将对应的编码输入到 控制模块中,密码控制模块要完成密码输入、删除、设置、检验的功能,扫描 显示模块的功能是高频率的时钟脉冲对数码管按顺序扫描,动态显示密码。

6、 1.21.2 设计要求设计要求 设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共 4 位,用 数据开关 K1K10 分别代表数字 1、2、9、0,输入的密码用数码管显示, 最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上 的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位, 密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电 平的状态代表锁的开闭状态。为保证密码锁主人能打开密码锁,设置一个万能 密码,在主人忘记密码时使用。 设计所要实现的功能为: 密码输入:手动用拨位开关进行密码的输入,并在数码管上显示出该数值。 密码验证:开

7、锁时输入密码后,拨动拨位开关 k13 即 check 键为高电平, 此时,若密码锁状态显示信号 lock 灯亮,表示开锁成功,否则开锁失败。 密码删除:若有错误输入时,按下 k14 即 back 键可删掉最近一位要删除的 错误输入。 密码清楚:按下 k12 即 close 键就可以将数码管显示清除变为“0000”。 2 2 设计总体思路设计总体思路 2.12.1 设计方法选择设计方法选择 进行电子密码锁设计时首先可以把程序分成不同的模块分别进行程序设计, 一种是把程序分成密码输入模块、密码锁控制模块、扫描显示模块这三个部分; 另一种是把程序分成密码输入删除控制模块、寄存器模块、比较模块、扫描显

8、 示模块这四部分;而我选择前者。 2.22.2 程序设计语言选择及优点程序设计语言选择及优点 2.2.1 程序语言的选择 在进行各个模块的程序设计时,我们可以选择 VHDL 语言,使用 if 语句、 case 语句、进程完成密码锁的功能,也可以使用 Verilog HDL 中的 always 语 句、case 语句可以完成任务。在此,我们选择了 VHDL 完成设计任务。 2.2.1 VHDL 语言的选择 与其他硬件描述语言相比,VHDL 具有以下特点: 功能强大、设计灵活。VHDL 具有功能强大的语言结构,可以用简洁明确的 源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最

9、后可直接生成电路级描述。VHDL 支持同步电路、异步电路和随机电路的设计, 这是其他硬件描述语言所不能比拟的。VHDL 还支持各种设计方法,既支持模块 化设计,又支持层次化设计。 支持广泛、易于修改。由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语 言,目前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应 用奠定了基础。在硬件电路设计过程中,主要的设计文件是用 VHDL 编写的源代 码,因为 VHDL 易读和结构化,所以易于修改设计。 强大的系统硬件描述能力。VHDL 具有多层次的设计描述功能,既可以描述 系统级电路,又可以描述门级电路。而描述既可以采用

10、行为描述、寄存器传输 描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL 支持惯性延 迟和传输延迟,还可以准确地建立硬件电路模型。VHDL 支持预定义的和自定义 的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层 次的系统模型。 独立于器件的设计、与工艺无关。设计人员用 VHDL 进行设计时,不需要首 先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完 成后,可以用多种不同的器件结构来实现其功能。 很强的移植能力。VHDL 是一种标准化的硬件描述语言,同一个设计描述可 以被不同的工具所支持,使得设计描述的移植成为可能。 3 3 各单元电路设计各单

11、元电路设计 3.13.1 密码输入模块密码输入模块 3.1.1 密码输入模块的功能 当有一个按键按下时,就要有一个相对应的编码,由于密码要显示从 0 到 9,所以这个对应的二进制编码应该有四位。使用 case 语句,使之对应,将 10 位数据开关对应为 4 位的数字编码,当有超过 1 个开关按键按下时,对应” 1111”, 此次输入无效。 3.1.2 密码输入模块的程序及模块图 程序如附录二程序清单中 1 密码输入模块代码所示。 模块图如图 1 所示。 图 1 密码输入模块图 3.1.3 密码输入模块仿真波形图 对程序进行波形仿真,结果如图 2 密码输入模块仿真波形所示。 图 2 密码输入模块

12、仿真波形 输入“001” 、 “002” 、 “004” 、 “008” 、 “010” 、 “020” 、 “040” 、 “080” 、 “100” 、 “200”分别表示选择开关 k1、k2、k9、k10,输出数据 1,2,39,0,从 波形中我们可以看出这是符合。所以,以上程序是和密码锁的所需功能相符的。 3.23.2 密码锁控制模块密码锁控制模块 3.2.1 密码锁控制模块的功能 密码锁控制模块要完成密码输入、删除、设置、检验的功能。在开关按键 按下后显示到数码管上,如果有功能键按下,则执行功能键的功能。 3.2.2 密码锁控制模块的程序及模块图 程序如附录二程序清单中 2 密码锁控

13、制模块代码所示。 模块图如图 3 图 3 密码锁控制模块图 3.2.3 密码锁控制模块仿真波形图 对程序进行波形仿真,结果如图 4 密码锁控制模块波形所示。 图 4 密码锁控制模块波形 根据上图,在 200ns 时,按下 set 键,则此时把最近四个时钟周期的数字 设置为密码,即密码为 2013;在 520ns 时,按下 check 键,则把最近四个时钟 周期的数字输入,为 2013,与密码相同,则密码锁打开,lock 信号为高电平。 在 back 键按下后,7852(由于时间很短暂,无法在仿真波形上显示)变为 0785。这验证了密码锁控制模块的 set、check、back 的功能,完全能满

14、足要求, 这表明程序时正确的。 3.33.3 扫描显示模块扫描显示模块 3.3.1 扫描显示模块的功能 当数据传输到扫描显示模块时,将在数码管上动态显示。通过一个二进制 计数器控制扫描, 00则使片选信号为00 ,在第一个数码管上显示输入数 字的最后一位;01则使片选信号为01 ,在第二个数码管上显示数字,依 次类推,在二进制数为11后,重新开始计数,这样完成动态显示。动态扫 描的时钟信号频率要比较高。 3.3.2 扫描显示模块的程序及模块图 其程序如附录二 程序清单中 3 扫描显示模块代码所示。 模块图如图 5 所示。 图 5 扫描显示模块图 3.3.3 扫描显示模块仿真波形图 对程序进行波

15、形仿真,结果如图 6 扫描显示模块仿真波形所示。 图 6 扫描显示模块仿真波形 分析上图,sn 从 0 经 1、2 变为 3,反复如此,这是动态扫描时的顺序。从 左往右看,当 sn 为 0 时,对应的 din 为4000 ,则在第一个数码管上显示 0,其对应码为 3F;sn 为 1 时,din 为0010 ,则在第二个数码管上显示 1, 其对应码恰为 06;sn 为 2 时,din 为1258 ,在第三个数码管上显示 2,其对 应码为 5B;当 sn 为 3 时,din 为 3267,则在第三个数码管上显示 3,其对应码 4F,再往后验证,就可以发现仿真波形图是正确的。这表明这个程序所实现的

16、功能与我们所需要的功能一致,程序正确。 4 4 总电路设计总电路设计 4.14.1 系统结构框图及其原理系统结构框图及其原理 4.1.1 系统结构框图 此设计任务分为密码输入模块、密码锁控制模块、扫描显示模块。其结构 框图如图 7 所示。 图 7 系统结构框图 4.1.2 系统原理阐述 用编码器对数据开关 K1K10 的电平信号进行编码,时钟脉冲对开关进行扫 描,每输入一位数,数码管左移一位。 设置删除信号 back,每按一次,删除最后输入的数字,密码在数码管显示 右移一位,左边空处 0。 设置密码确认信号 set,在四位密码输入完毕后,按下 set,则将输入的四 位数字设为密码,同时数码管清零。 设置密码锁状态显示信号 lock。lock=0(LED 灭)表示锁未开,lock=1(LED 亮)表示锁开。 设置关锁信号 close,按下 close,则 lock=0(LED 灭),数码管清零。 设置密码检验信号 check ,在 lo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号