基于VHDL语言的电子密码锁的设计最终定稿.doc
文本预览下载声明
基于VHDL语言的电子密码锁设计
组长:李 柳 201254080308
组员:刘永兴 201254080201
邝七月 201254080209
庄美琳 201254080303
王常汉 201154080121
系统的原理设计
(1)数码输入:每按下一个数字键,就输入一个数值,并在显示器的最右方显示该数,同时将先前输入的数依次左移一位。
(2)数码清除:按下此键会清除前面所有的输入值,成为“0000”。
(3) 激活电锁:按下此键可将密码锁上锁。
(4) 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。
作为电子密码锁的输入电路,可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。虽然机械式键盘存在一些诸如机械产生的弹跳消除问题和机械部分的接触等问题,但是和触摸式的4×3键盘相比,机械式键盘具有低成本、可靠性高、构成电路简单、技术成熟和应用广泛等特点,因此将其应用到通用数字电子密码锁中还是比较适宜的。本设计中采用一个4×3的通用数字机械键盘作为该设计的输入设备。
数字电子密码锁的显示信息电路可采用LED数码管显示和液晶屏幕显示两种。液晶屏幕显示具有高速显示、高可靠性、易于扩展和升级等优点,但是普通液晶显示屏存在亮度低、对复杂环境的适应能力差等缺点,在低亮度的环境下还需要加入其他辅助的照明设备,驱动电路设计相对复杂,因此本设计的显示电路仍使用通用的LED数码管。
根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求,密码锁结构框图
图4-1 密码锁结构框图键盘:??????????? 用户对系统输入密码,采用×3数字机械式键盘实现显示器:????????? 用来显示输入的密码,用4个LED数码管实现
时钟脉冲器:???用来产生方波信号
控制部分核心部分,实现分频、内部逻辑数字比较、数据存储、译码等功能
图4-2 电子密码锁系统总体框图
密码锁输入电路的设计
图4-4是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,加上外接的一个4×3矩阵式键盘组成。
图4-4 密码锁的输入电路框图
1.矩阵式键盘的工作原理
矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。图4-5是一个4×3矩阵式键盘的面板配置图,其中数字0~9作为密码数字输入按键,“*”作为“上锁”功能按键,“#”作为“解锁/清除”功能按键(输入数字小于4位时按下此键表示清除键,输人数字等于4位时表示解锁键)。
图4-5 4×3矩阵式键盘的面板配置
键盘上的每一个按键其实就是一个开关电路,当某键被按下时,该按键的接点回呈现0的状态,反之,未被按下时呈现逻辑1的状态。扫描信号由KY3~KY0进入键盘,变化的顺序依次为1110—1101—1011—0111—1110。每一次扫描一排,依次地周而复始,例如现在的扫描信号为1011,代表目前正在扫描7、8、9这一排的按键,如果这排当中没有按键被按下的话,则由KX2~KX0读出的值为111;反之当7这个按键被按下的话,则由KX2~KX0读出的值为011。
根据上面所述原理,我们可得到各按键的位置与数码关系如表4-1所示。
表4-1 按键位置与数码关系
KY3~KY0 1110 1110 1110 1101 1101 1101 1011 1011 1011 0111 0111 0111 KX2~KX0 011 101 110 011 101 110 011 101 110 011 101 110 按键号 1 2 3 4 5 6 7 8 9 * 0 # 若从KX2~KX0读出的值皆为1时,代表该列没有按键被按下,则不进行按键译码的动作,反之,如果有按键被按下时,则应将KX2~KX0读出的值送至译码电路进行编码。
2.密码锁输入电路各主要功能模块的设计
(1) 时序产生电路
本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。
当一个系统中需要使用多种操作频率的脉冲波形时,最方便的方法之一就是利用一个自由计数器来产生各种需要的频率。也就是先建立一个N位计数器,N的大小根据电路的需求决定,N的值越大,电路可以分频的次数
显示全部