EDA电子密码锁课程设计文档推荐

上传人:粗**** 文档编号:135282176 上传时间:2020-06-14 格式:PDF 页数:25 大小:567.90KB
返回 下载 相关 举报
EDA电子密码锁课程设计文档推荐_第1页
第1页 / 共25页
EDA电子密码锁课程设计文档推荐_第2页
第2页 / 共25页
EDA电子密码锁课程设计文档推荐_第3页
第3页 / 共25页
EDA电子密码锁课程设计文档推荐_第4页
第4页 / 共25页
EDA电子密码锁课程设计文档推荐_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《EDA电子密码锁课程设计文档推荐》由会员分享,可在线阅读,更多相关《EDA电子密码锁课程设计文档推荐(25页珍藏版)》请在金锄头文库上搜索。

1、概述 在当今社会中 人们对于隐私的保护和对物品安全的重视程度与 日俱增 因此 使用了现代电子技术的电子密码锁便有了广泛的应用 前景 本次所设计的电子密码锁 能够实现该六位十进制并行密码保 护 当输入的密码与锁内密码一致时 绿灯亮 开锁 当输入的密码 与锁内的密码不一致时 红灯亮 不能开锁 密码锁的密码可由用户 自行设置 并可在液晶显示屏上显示所输入的密码 为人们的财产 信息安全提供了可靠地保障 本次设计基于VHDL 语言 对并行六位电子密码锁进行设计 并 对设计过程进行了详细描述 采用VHDL语言进行电子密码锁的设计 可使设计工作简洁直观 快速实现既定功能 电子密码锁在对财产安 全保护等方面都

2、有着重要作用 应用前景非常广泛 开锁代码为六位 十进制数 当输入代码的位数和位值与锁内给定的密码一致 且按规 定程序开锁时 方可开锁 并点亮开锁指示灯 否则 系统进入 错 误 状态 并发出报警信号 开锁程序由设计者确定 并要求锁内给 定的密码是可调的 且预置方便 保密性好 并行数字锁的报警方式 是点亮指示灯 并使喇叭鸣叫来报警 直到按下复位开关 报警才停 止 此时 数字锁又自动进入等待下一次开锁的状态 一 设计主要内容 密码锁串行输入几位十进制数字口令 输入口令全部正确即开锁并有绿灯显示 口令输入最大次数3 次 要求在完全输入六位之后进行判断口令正确 与否 输入 3 次之后还不能开锁 进入死锁

3、状态并报警 有相应的显示功能 开锁后能再次上锁 二 系统设计方案 作为通用电子密码锁 主要由三个部分组成 数字密码输入电路 密码锁控制电路和密码锁显示电路 1 密码锁输入电路包括时序产生电路 键盘扫描电路 键盘译码 电路等几个小的功能电路 2 密码锁控制电路包括按键数据的缓冲存储电路 密码的清除 存 储 激活电锁电路 寄存器清除信号发生电路 密码核对 数值比较电 路 解锁电路 开 关门锁电路 等几个小的功能电路 3 密码显示电路主要是在液晶显示屏显示输入的数值 密码锁输入电路的设计 是电子密码锁的输入电路框图 由键盘扫描电路 弹跳 消除电路 键盘译码电路 按键数据缓存器 加上外接的一个4 4

4、矩阵式键盘组成 图 1 1密码锁的输入电路框图 1 矩阵式键盘的工作原理 矩阵式键盘是一种常见的输入装置 在日常的生活中 矩阵式键盘在计算机 电话 手机 微波炉等各式电子产品上已经被 广泛应用 图 1 2是一个 3 4矩阵式键盘的面板配置图 其中数字 0 9 作为密码数字输入按键 图 1 2 4 4 矩阵式键盘的面板配置 789 4 56 2 3 1 0 弹跳消除 电路 键 盘译码 电路 按 键 数据 缓存器 键 盘 输入 按 键 数据 键盘扫描电路 键盘扫描信号 工作时钟脉冲信号 789 4 56 1 23 0 KC2 KC1 KC0 1110 1101 1011 0111 KR3 00 K

5、R2 01 KR1 10 KR0 11 密码锁输入电路各主要功能模块的设计 1 时序产生电路 本时序产生电路中使用了三种不同频率的工作脉冲波形 系统时钟脉冲 它是系统内部所有时钟脉冲的源头 且其频率最高 弹跳消除取样信号 键盘扫描信号 2 键盘扫描电路 扫描电路的作用是用来提供键盘扫描信号的 扫描信号变 化的顺序依次为1110 1101 1011 0111 1110 依序地周而复 始 3 弹跳消除电路 由于本设计中采用的矩阵式键盘是机械开关结构 因此在开 关切换的瞬间会在接触点出现信号来回弹跳的现象 对于电子密码锁 这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入 从而影 响到密码锁操作的

6、正确性 从图 1 3 中可以观察出弹跳现象产生的原因 虽然只是按下按 键一次然后放掉 然而实际产生的按键信号却不止跳动一次 经过取 样信号的检查后 将会造成误判断 以为键盘按了两次 如果调整抽 样频率 如图所示 可以发现弹跳现象获得了改善 图 1 3 弹跳现象产生错误的抽样结果 图 1 4 调整抽样频率后得到的抽样结果 4 键盘译码电路 上述键盘中的按键可分为数字按键和文字按键 每一个 按键可能负责不同的功能 例如清除数码 退位 激活电锁 开锁等 5 按键存储电路 因为每次扫描会产生新的按键数据 可能会覆盖前面 的数据 所以需要一个按键存储电路 将整个键盘扫描完毕后的结果 抽 样 结 果 抽

7、样 信 号 按 键 信 号 抽 样 结 果 抽 样 信 号 按 键 信 号 记录下来 按键存储电路可以使用移位寄存器构成 图 1 5 输入电路仿真波形图 密码锁控制电路的设计 密码锁的控制电路是整个电路的控制中心 主要完成对 数字按键输入和功能按键输入的响应控制 1 数字按键输入的响应控制 1 如果按下数字键 第一个数字会从显示器的最右端 开始显示 此后每新按一个数字时 显示器上的数字必须左移一格 以便将新的数字显示出来 2 假如要更改输入的数字 可以按倒退按键来清除前 一个输入的数字 或者按清除键清除所有输入的数字 再重新输入六 位数 3 由于这里设计的是一个六位的电子密码锁 所以当 输入的

8、数字键超过四个时 电路不予理会 而且不再显示第六个以后 的数字 功能按键输入的响应控制 1 清除键 清除所有的输入数字 即做归零动作 2 激活电锁键 按下此键时可将密码锁的门上锁 上 锁前必须预先设定一个六位的数字密码 3 解除电锁键 按下此键会检查输入的密码是否正确 若密码正确无误则开门 图 1 5 电子密码锁的三种模式及关系 输入文字模式 开始输入六位数字 在输入过程中可能 用到删除键 开锁工作模式 检查输入的密码是否 有效 核对输入的密码是否 有效 都正确后解除电锁 上锁工作模式 密码锁激活上锁 密码锁显示电路的设计 密码锁显示电路的设计比较复杂 这里直接采用12864 液 晶屏进行显示

9、 密码锁的整体组装设计 将前面各个设计好的功能模块进行整合 可得到一个 完整的电子密码锁系统的整体组装设计原理图 如图1 6 所示 图 1 6 密码锁的整体组装设计原理图 系统扩展思路 1 本系统基本达到作为数字密码锁的绝大部分功能 但 还有许多不足或需完善的地方 比如说采用4 4 的通用机 械键盘受到键盘数量的限制 在很大的程度上限制了其功能 的扩展 设计外围电路 系统用方波信号源 直流工作电源 可要求设计制作整个系统 包括PCB的制作 实验收获 课程设计是培养学生综合运用所学知识 发现 提出 分析和解 决实际问题 锻炼实践能力的重要环节 是对学生实际工作能力的具 体训练和考察过程 随着科学

10、技术发展的日新月异 FPGA已经成为 当今计算机应用中空前活跃的领域 在生活中可以说无处不在 因此 作为二十一世纪的大学来说掌握eda 的开发技术是十分必要的 回顾此次课程设计 我感慨颇多 的确 从理论到实践 在很长 的一段时间里 可以说是苦多于甜 但确实学到了很多东西 不仅可 以巩固以前学到的知识 还学到许多没学过的知识 通过此次课程设 计 使我了解了理论与实际结合的重要性 只有理论知识是远远不够 的 在设计的过程中 发现自己以前学习的知识理解不够深刻 掌握 不够牢固等等 通过这次课设之后 一定要把以前学习的知识温故知 新 这次的课设终于完成 通过老师的细心讲解 我解决了很多问题 在这里 感

11、谢老师的细心指导 同时对于帮助我的同学 也表示衷心 感谢 附录 液晶显示程序 library ieee use clock lcd disp is generic divide to 100k integer 500 port clk in std logic DATAIN in std logic vector 31 downto 0 din in INTEGER RANGE 15 DOWNTO 0 rw rs e lcd rst out std logic lcd data out std logic vector 7 downto 0 end clock lcd disp archite

12、cture tcl of clock lcd disp is signal mima std logic vector 31 downto 0 000000 signal clk 100k std logic signal clkout std logic signal temp std logic vector 7 downto 0 type state is s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s 23 s24 s25 s26 s27 s28 s29 s30 s3

13、1 signal current s state type data buffer is array 0 to 15 of std logic vector 7 downto 0 type data buffer1 is array 0 to 7 of std logic vector 7 downto 0 signal time std logic vector 23 downto 0 signal disp time data buffer1 x 31 x 32 x 3a x 33 x 34 x 3a x 35 x 36 constant data buf0 data buffer x 2

14、0 x 20 x bb x aa 华科武昌分校80 x bf x c6 x ce x e4 x b2 x fd x b7 x d6 x d0 x a3 x 20 x 20 constant data buf1 data buffer x 20 x 20 x b5 x e7 电子密码锁90 x d7 x d3 x c3 x dc x c2 x eb x cb x f8 x 20 x 20 x 20 x 20 constant data buf2 data buffer x 20 x 20 x c7 x eb x ca x e4 x c8 x eb 请输入密码 88 x c3 x dc x c2

15、x eb x 3a x 20 x 20 x 20 constant data buf3 data buffer x 20 x 20 x d6 x d8 x d0 x c2 x ca x e4 重新输入 x c8 x eb x 20 x 20 x 20 x 20 x 20 x 20 constant data buf4 data buffer x 20 x 20 x bd x e2 x cb x f8 x b3 x c9 解锁成功 x b9 x a6 x 20 x 20 x 20 x 20 x 20 x 20 constant data buf5 data buffer x 20 x 20 进入

16、死锁状态 x bd x f8 x c8 x eb x cb x c0 x cb x f8 x d7 x b4 x cc x ac x 20 x 20 constant data buf6 data buffer x 20 x 20 x bd x e2 x cb x f8 x b3 x c9 x b9 x a6 x 21 x 20 x 20 x 20 x 20 x 20 begin U1 divclk1 port map clk clk 100k process clk variable cnt integer range 0 to divide to 100k begin if clk event and clk 1 then cnt cnt 1 if cnt divide to 100k then cnt 0 end if if cnt divide to 100k 2 then clk 100k 0 else clk 100k 1 end if end if end process div 1Hz process clk variable cnttemp integer range

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

当前位置:首页 > 大杂烩/其它

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