课程设计-电子密码锁.doc_第1页
课程设计-电子密码锁.doc_第2页
课程设计-电子密码锁.doc_第3页
课程设计-电子密码锁.doc_第4页
课程设计-电子密码锁.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

目录目录 第 1 章 系统设计要求1 第 2 章 系统设计方案 2 2.1 电子密码锁输入电路的设计 .2 2.1.1 矩阵式键盘的工作原理 .3 2.1.2 密码锁输入电路各主要功能模块的设计.3 2.2 密码锁控制电路的设计4 2.2.1 数字按键输入的响应控制 .4 2.2.2 功能按键输入的响应控制.4 2.3 密码锁显示电路的设计 .4 2.4 电子密码锁的三种模式关系 .4 第 3 章 模块分析 6 3.1 密码锁输入模块 .6 3.1.1 密码锁输入模块的 vhdl 源程序6 3.1.2 密码锁输入模块的原理图.8 3.1.3 密码锁输入模块的仿真.8 3.2 密码锁控制模块 .8 3.2.1 密码锁控制模块的 vhdl 源程序8 3.2.2 密码锁控制模块的原理图10 3.2.3 密码锁控制模块的仿真10 3.3 密码锁译码模块 11 3.3.1 密码锁译码模块的 vhdl 源程序.11 3.3.2 密码锁译码模块的原理图11 3.4 密码锁系统 12 3.4.1 系统整体组装设计原理图12 第 4 章 设计总结 .14 参考文献15 sopc/eda 综合课程设计电子密码锁 1 第第 1 章章 系统设计要求系统设计要求 设计一个具有较高安全性和较低成本的通用电子密码锁,其具体功能要求如下: 1. 数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出 该数值,同时将先前输入的数据依序左移一个数字位置。 2. 数码清除:按下此键可清除前面所有的输入值,清除成为“0000” 。 3. 密码更改:按下此键时会将目前的数字设定成新的密码。 4. 激活电锁:按下此键可将密码锁上锁。 5. 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。 设计者 2 第第 2 章章 系统设计方案系统设计方案 作为电子密码锁的输入电路,可供选择的方案有数字机械式键盘和触摸式数字键盘等 多种。 根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求, 整个电子密码锁系统的总体组成框图如图 2-1 所示。 图 2-1 电子密码锁系统总体框图 2.1 电子密码锁输入电路的设计电子密码锁输入电路的设计 图 2-2 是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码电 路、按键数据缓存器,加上外接的一个 34 矩阵式键盘组成。 sopc/eda 综合课程设计电子密码锁 3 图 2-2 密码锁的输入电路框图 2.1.1 矩阵式键盘的工作原理 矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、电话、 手机、微波炉等各式电子产品上已经被广泛应用。图 2-3 是一个 34 矩阵式键盘的面板 配置图,其中数字 09 作为密码数字输入按键,*作为“上锁”功能按键,#作为“解锁/ 清除”功能按键。 图 2-3 34 矩阵式键盘的面板配置 2.1.2 密码锁输入电路各主要功能模块的设计 1. 时序产生电路时序产生电路 本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内 部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。 2. 键盘扫描电路键盘扫描电路 扫描电路的作用是用来提供键盘扫描信号(表 4.1 中的 ky3ky0)的,扫描信号变化的 顺序依次为 11101101101101111110依序地周而复始。 设计者 4 3. 键盘译码电路键盘译码电路 上述键盘中的按键分为数字按键和文字按键,每一个按键可能负责不同的功能,例如 清除键、上锁键和解除键等。数字按键主要用来输入数字的,但是键盘所产生的输出是无 法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须 有按键译码电路来规划每个按键的输出形式,以便执行相应的动作。 4. 按键存储电路按键存储电路 因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储 电路,将整个键盘扫描完毕后的结果记录下来。 各按键的位置与数码关系如表 2.1 所示。 表 2.1 按键位置与数码关系 按键位置000000010101 输出信号001101010110001101010110 按键号123456 按键位置010101111111 输出信号001101010110001101010110 按键号789*0# 2. 2 密码锁控制电路的设计密码锁控制电路的设计 密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入 的响应控制。 2. 2. 数字按键输入的响应控制 1. 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数 字时,显示器上的数字必须左移一格,以便将新的数字显示出来。 2. 假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除 键清除所有输入的数字,再重新输入四位数。 3.由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路 不予理会,而且不再显示第四个以后的数字。 .功能按键输入的响应控制 1. 清除键:清除所有的输入数字,即做归零动作。 2. 激活电锁键:按下此键时可将密码锁的门上锁。(上锁前必须预先设定一个四位的 数字密码。) 3. 解除电锁键:按下此键会检查输入的密码是否正确,若密码正确无误则解锁。 2.3 密码锁显示电路的设计密码锁显示电路的设计 密码锁显示电路的设计比较简单,这里直接采用四个 4-7 译码器来实现。 2.4 电子密码锁的三种模式关系电子密码锁的三种模式关系 电子密码锁存在三种模式:输入文字模式、上锁工作模式和开锁工作模式。这三种模 式有一定的关系相对应,对应关系如下图。 sopc/eda 综合课程设计电子密码锁 5 图 2-4 电子密码锁的三种模式及关系 设计者 6 第第 3 章章 模块分析模块分析 3.1 密码锁输入模块密码锁输入模块 密码锁输入电路主要是产生时钟脉冲信号和按键输入信号。 3.1.1 密码锁输入模块的 vhdl 源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity sr is port ( clk_1k: in std_logic; key_in: in std_logic_vector ( 2 downto 0); data_n: out std_logic_vector ( 3 downto 0); data_f: out std_logic_vector ( 3 downto 0); flag_n: out std_logic; flag_f: out std_logic; cqd: out std_logic; ksel: out std_logic_vector ( 3 downto 0); csr: out std_logic_vector ( 1 downto 0); end sr; architecture art of sr is signal c_qd: std_logic; signal c_sr: std_logic_vector ( 1 downto 0); signal n,f: std_logic_vector ( 3 downto 0); signal fn,ff: std_logic; signal sel: std_logic_vector ( 3 downto 0); signal q: std_logic_vector ( 5 downto 0); signal c: std_logic_vector ( 2 downto 0); begin data_n n n n n n n n n n n n f f f enlock mimain setinnull; end case; elsif(mimain= 1)then if acc = reg then enlockdout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7= “0000000“; end case; end process; end architecture art; 3.3.2 密码锁译码模块的原理图 图 3-5 密码锁译码模块的原理图 设计者 12 3.3.3 密码锁译码模块的仿真 图 3-6 密码锁译码模块的仿真图 上述仿真图输入为键盘按键数,通过七段数码管相应的显示出来。从上图可以看出, 当 bcd 数码输入(data_bcd)为“09”时,则在七段译码输出(dout7)相应为 “09” ,如此循环往复。 3.4 密码锁系统密码锁系统 由输入、控制和译码三个模块组成的密码锁系统,可以实现密码输入、密码清除、密 码更改、密码上锁和密码解除等多种功能。 3.4.1 系统整体组装设计原理图 将前面各个设计好的功能模块进行整合,可得到一个完整的电子密码锁系统的整体组 装设计原理图,如图 3-7 所示。 图 3-7 系统整体组装设计原理图 通过上图的系统整体组装设计原理图进行编译可以生成图 3-8 的系统原理图。 sopc/eda 综合课程设计电子密码锁 13 图 3-8 系统原理图 3.4.2 电子密码锁整个系统的仿真 图图 3-93-9 密码锁整个系统的仿真密码锁整个系统的仿真 电子密码锁整个系统的仿真可以实现以下功能:设置新密码(初始密码为 0000) 、上 锁(enlock 有效) 、解锁但密码输入错误(enlock 有效)和解锁且密码输入正确(enlock 无效) 。四个七段数码管 seg_sm1、seg_sm2、seg_sm3 和 seg_sm4 分别显示“0-9”十个数 字中的不同数。 设计者 14 第第 4 章章 设计总结设计总结 通过这次的课程设计,理论加上实践,使我对 eda 有了更深刻的认识,尤其是对 fpga/cpld 硬件原理的理解,各种程序认识,也纠正了自己以前很多不对的看法,当然在 设计的过程中,我们也遇到了很多困难,在查阅了大量的书籍资料之后,对这次设计有了 一个整体的认识,做出了初步的原理图,然后经过反复的调试后,逐步修改,尽量使其性 能达到完美。这个过程是最困难的过程,也是我收获最大的过程,使自己的实验动手能力 有了进一步的提高。在课程设计过程中

温馨提示

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

评论

0/150

提交评论