1、按下此键可将密码锁上锁。(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。2功能模块整体结构设计作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路 和密码锁显示电路。根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求,整个电子密码锁系统的总体组成框图如图2.1所示。(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘 译码电路等几个小的功能电路。(2)密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激 活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门 锁电路)
2、等几个小的功能电路。(3)七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱 动编码。显示电路BCD至七段译码电路图2.1 数字电子密码锁系统总体框图图2.2是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码 电路、按键数据缓存器,加上外接的一个3X4矩阵式键盘组成。键盘扫描信号图2.2电子密码锁的输入电路框图3各模块详细设计3.1输入电路(1) 时序产生电路本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲 (它是系统内部所有时钟脉冲的源头,且其频率最高 )、弹跳消除取样信号、键盘扫描信号。(2) 键盘扫描电路扫描电路的作用是用来提供键盘扫描信号
3、(表4.1中的KY3KYO)的,扫描 信号变化的顺序依次为1110- 1101- 1011-0111- 1110.依序地周而复始。(3) 键盘译码电路上述键盘中的按键可分为数字按键和文字按键, 每一个按键可能负责不同的功能,例如清除数码、退位、激活电锁、开锁等,详细功能参见表 2.3。表2.3 键盘参数表扫描位置KY3K Y0键盘输出KX2 KX0对应键盘按键键盘译码输出实现按键功能11100111F=0001数码输入1012F=00101103F=001111014F=01005F=01016F=011010117F=01118F=1000(4)弹跳消除电路弹跳消除电路的实现原理如图1.6所
4、示,先将键盘的输入信号 DN做为电 路的输入信号,CLK是电路的时钟脉冲信号,也就是取样信号, D_IN经过两级 D触发器延时后再使用RS触发器处理。D_INCLKD_OUT图2.6弹跳消除电路的内部实现原理图此处RS触发器的前端连接和非门的处理原则是:(1)因为一般人的按键速度至多是 10次/秒,亦即一次按键时间是100 ms,所以按下的时间可估算为50 ms。以取样信号CLK的周期为8 ms计, 则可以取样到6次。对于不稳定的噪声,在4 ms以下则至多抽样一次。(3)在触发器之前,接上 AND-NOT之后,SR的组态如表1.2所示。表2.2 RS触发器真值表SRD-OUT不变(5)按键存储
5、电路因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一 个按键存储电路,将整个键盘扫描完毕后的结果记录下来。 按键存储电路可以使 用移位寄存器构成。(6)密码锁输入电路模块框图输入电路引脚图如下图所示,图中 CLK_1K为系统原始时钟脉冲(1 kHz)KEY_IN为键盘按键输入,CLK_SCAN为键盘扫描序列输出,DATA_N :数字输 出功能,DATA_F :功能输出,FLAG_N为数字输出标志,FLAG_F为功能输出(上锁及开锁)标志,CLK_CTR是控制电路工作时钟信号,CLK_DEBOUNCE 是去抖电路工作时钟信号,大约125 Hz 。图2.7.密码输入模块框图3.2控
6、制模块密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按 键输入的响应控制。(1)数字按键输入的响应控制1) 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新 按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。2) 假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或 者按清除键清除所有输入的数字,再重新输入四位数。3) 由于这里设计的是一个四位的电子密码锁, 所以当输入的数字键超过四个 时,电路不予理会,而且不再显示第四个以后的数字。(2)功能按键输入的响应控制控制功能如下:1) 清除键:清除所有的输入数字,即做归零动作。2) 激活电
7、锁键:按下此键时可将密码锁的门上锁。 (上锁前必须预先设定一个四位的数字密码。3) 解除电锁键:按下此键会检查输入的密码是否正确,若密码 正确无误则开门。图2.8电子密码锁的三种模式及关系(3)密码控制模块图模块引脚如下图所示:图中 DATA_N3.O : 4位行输入.DATA_N3.0:为4位列扫描输出,FLAG_N和FLAG_F则对应ENLOCK实现清除/上锁功能, CLK为全局时钟信号,DATA_BCD15.0为输出16位BCD码,经译码器后转换 为4位密码输出。图2.9.密码控制模块图3.3显示模块密码锁显示电路的设计比较简单,这里直接采用四个 4-7译码器来实现。BCD-七段显示译码
8、器(74LS48) 1)输入:8421BCD码,用A3 A2 A1 A0 表 示(4位)。2)输出:七段显示,用 Ya Yg表示(7位)图中A3.0为按键输入在经过去抖电路后的的 BCD码的高4位输入数值, 经过4-7译码器译码后输出09之间的数值,因为输入为16位的BCD码,而每 一个译码器仅4位输入,故一共需要4个译码器来实现密码锁显示电路的设计。 译码器引脚如下图所示:DECL7S A3.0LED7S6.0in st5图2.10.七段译码器输入输出引脚图4逻辑仿真与时序仿真的实现1)将各个模块连接在一起实现。将前面各个设计好的功能模块进行整合, 可得到一个完整的电子密码锁系统的整体组装设
9、计原理图,如图1.8所示:n 0K.1KWJNI2.01图3.1密码锁的整体组装设计原理2)各个模块VHDL源程序及其仿真波形图(1)键盘输入去抖电路的VHDL源程序(附仿真图)-DEBOUNCING .VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY ALTERA;USE ALTERA.MAXPLUS2.ALL;ENTITY DEBOUNCING ISPORT(D_IN, CLK: IN STD_LOGIC;DD1, DD0, QQ1, QQO : OUT STD_LOGIC;D_OUT, D_OUT1: OUT STD_LOGIC );
10、END ENTITY DEBOUNCING ;ARCHITECTURE ART OF DEBOUNCING ISCOMPONENT DCFQ ISPORT(CLK, CLRN, PRN, D:Q: OUT STD_LOGIC);END COMPONENT DCFQ;SIGNAL VCC, INV_D : STD_LOGIC ;SIGNAL Q0, Q1 :SIGNAL D1, D0 :BEGINVCC = 1;INV_D CLK, CLRN = INV_D, PRN = VCC, D =VCC ,Q = QO);U2: QO, PRN =VCC , Q= Q1);PROCESS (CLK)IF
11、 CLKEVENT AND CLK= THENDO = NOT Q1;D1 = DO;END IF ;END PROCESS ;DDO DD1 = D1; QQ1 = Q1; QQ0 = Q0;D_OUT = NOT (D1 AND NOT DO);D_OUT1 = NOT Q1 ;END ARCHITECTURE ART;-DCFQ.VHDENTITY DCFQ ISEND ENTITY DCFQ ;ARCHITECTURE ART OF DCFQ ISPROCESS (CLK, CLRN, PRN)IF CLRN=0 AND PRN=Q=ELSIF CLRN=ELSIF CLKQ =D;对上述去抖电路源程序用quartus7.2进行时序仿真,得到仿真图如下:图中输出信号QQ0, QQ1, D_OUT1,DD0,DD1是为便于仿真时观察中间结果而增加的观测点的输出,可以在程序中去掉, CLK为时钟脉冲信号,当检测到
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1