(完整word版)电子密码锁设计
- 格式:doc
- 大小:328.03 KB
- 文档页数:16
电子密码锁设计
1 设计任务及要求
初始条件:计算机、Max+plusⅡ、EDA实验箱。
主要任务与要求:设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1~K10分别代表数字1,2,…,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。
提高部分:为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。
2 EDA简介
EDA技术是在电子CAD技术基础上发展起来的通用软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA 设计可分为系统级、电路级和物理实现级。物理级设计主要指IC版图设计,一般由半导体厂家完成;系统级设计主要面对大型复杂的电子产品;而一般民用及教学所涉及基本是电路级设计。我们常用的EDA软件多属于电路级设计。
电路初级设计工作,是在电子工程师接受系统设计任务后,首先确定设计方案,并选择合适的元器件,然后根据具体的元器件设计电路原理图,接着进行第一次仿真。其中包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析等。这一次仿真主要是检验设计方案在功能方面的正确性。
仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线,有条件的还可以进行PCB后分析。其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反馈回电路图,进行第二次仿真,也称作后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。
EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:multiSIM7(原EWB 的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。
3实验原理及电路图
在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。密码锁要达到的功能为:
1、密码输入:每按下一个键,要求在数码管上显示,并依次左移;
2、密码删除:每删除一位,数码管上的显示右移一位,在左边空出的位补充零;
3、密码设置:当四位密码输入完毕,按下设置功能键进行设置;
4、密码检验:输入密码,按下检验键。
为达到密码锁的以上功能,可将电子密码锁分为以下几个模块:密码锁输入电路、密码锁控制电路、LED输出显示电路。总原理图如下
图1 密码锁设计总原理图
4 各模块电路设计及功能实现
4.1 密码锁输入模块
密码锁输入模块由时序产生电路、键盘扫描电路、键盘译码电路和按键存储电路组成。
1.时序产生电路
产生电路中使用的三种不同频率的工作脉冲波形,即系统时钟脉冲、弹跳消除取样信号和键盘扫描信号。
2.键盘扫描电路
扫描电路的作用是提供键盘扫描信号,扫描信号变化的顺序依次为1110-1101-1011-0111-1110……依序地周而复始。
3.键盘译码电路
上述键盘中的按键分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除键、上锁键和解锁键等。数字按键主要是用来输入数字的,但是键盘所产生的输出是无法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。
4.按键存储电路
因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个扫描完毕后的结果记录下来。
图2 按键位置与数码关系
4.2 密码锁控制电路
密码锁的控制电路是整个电路的控制中心,包括密码删除、修改与检验,其控制作用主要体现在以下方面:
1.数字按键输入的响应控制
a.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按下一个数字时,
显示器上的数字必须左移一位,以便将新的数字显示出来。
b.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。
c.由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。
2.功能按键输入的响应控制
a.清除键:清除所有的输入数字,即作归零动作。
b.上锁键:按下此键时可将密码锁的门上锁(上锁前必须预先设定一个四位的数字密码)。
c.解除键:按下此键会检查输入的密码是否正确,若密码正确无误则解锁。
本设计的密码锁控制电路如下图所示:
图3 密码锁控制电路
其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密码端口, clk时钟输入端口, bcd[3..0]为数字输入端口,bcd16[15..0]为16位输出端口,lock密码锁状态显示端口。
在此电路中每输一位数,密码在数码管上左移一位。设置删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。
设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。
设置密码锁状态信号lock, lock=0表示锁未开,lock=1表示锁开,同时设置关锁信号close,按下close,则锁关闭。
设置密码检验信号check,在lock=0下从数据开关书去四位开锁数字,按下check,若数据等于设置的密码或万能密码,则lock=1。
4.3 输出显示电路
BCD 译码、动态扫描电路如图4所示。