课程设计(论文)基于VHDL的电子密码锁的设计.doc
《课程设计(论文)基于VHDL的电子密码锁的设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于VHDL的电子密码锁的设计.doc(20页珍藏版)》请在三一办公上搜索。
1、摘要FPGA/VHDL是近几年集成电路中发展最快的产品。由于FPGA性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,FPGA市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。本文介绍的VHDL密码锁应具有如下功能:密码预先存入寄存器中,开锁时,输入密码存入另一寄存器中,当按下“确定”键时,启动比较器,比较两个寄存器中的内容,当结果相同时开锁;当结果不同时不开锁。用户
2、需要修改密码时,先开锁,再按“设定密码”,清除预先存入的密码,通过键盘输入新的2位十进制码,按“确定”完成。关键词:VHDL,密码锁,矩阵目录摘要1目录2一、 设计要求3二 电路组成3三 功能电路的设计41、总体设计框图42、键盘接口电路43时序产生电路64键盘扫描电路75键盘消抖电路86键盘译码电路107按键存储电路13(1)SISO串行输入/串行输出14(2)SIPO-串行输入/并行输出15(3)PISO-并行输入/串行输出16(4)PIPO-并行输入/并行输出178密码设置和比较模块189电锁控制电路设计19(1)数字按键输入部分19(2)功能键输入部分19(3)三种工作模式19附件1:
3、程序清单20一、 设计要求设计一个简单的数字电子密码锁,密码为6位。功能1、 密码输入:每按下一个键,要求在数码管上显示,并依次左移;2、密码清除:清除密码输入,并将输入置为”000000”;3、密码修改:将当前输入设为新的密码;4、上锁和开锁。二 电路组成为达到以上功能,可将电子密码锁分为以下几个模块:1、键盘接口电路键盘矩阵、键盘扫描、键盘消抖、键盘译码及按键存储。2、电锁控制电路:数字按键输入、存储及清除。功能按键的设计。密码清除、修改与存储。电锁的激活与解除。3、输出显示电路BCD 译码、动态扫描电路。三 功能电路的设计1、总体设计框图2、键盘接口电路矩阵式键盘工作原理:矩阵式键盘是一
4、种常见的输入装置,在计算机、电话、手机、微波炉等各工电子产品中被广泛应用。如图所示为一34 矩阵式键盘。矩阵式键盘以行、列形式排列,图中为4 行3 列,键盘上的每一个按键盘其实是一个开关电路,当某键被按下时,该按键所对应的位置就呈现逻辑0 的状态,键盘的扫描可以以行扫或列扫方式进行,图中为行扫方式,KEYR3KEYR0 为扫描信号,其中的某一位为0 即扫描其中的一行,具体见表1-1.键盘扫描信号KEYR3 与第一行相连,KEYR2 与第二行相连,依此类推。很显然,扫描信号的变化顺序为:0111、1011、1101、1110,周而复始。在扫描的过程中,当有键按下时,对应的键位就为逻辑0状态,从而
5、从KEYC2.0 读出的键值相应列为0.具体情况如表1-2 所示:若从KEYC2.0 读出的值全为1 时,表示没有键被按下,则不进行按键的处理。如果的键被按下,则将KEYC2.0 读出的送至键盘译码电路进行译码。表1-2 键盘扫描与其对应的键值的关系时序产生电路:时序电路的产生:在一个系统的设计中,往往需要多种时钟信号,最为方便的方法是利用一个自由计数器来产生各种需要的频率。本电路需要:系统主时钟、消抖取样时钟和动态扫描时钟。3时序产生电路有如下VHDL 程序,请分析其输出结果:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGI
6、C_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY free_counter ISPORT (CLK : IN STD_LOGIC ;CLK_A : OUT STD_LOGIC ;CLK_B : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ;END free_counter ;ARCHITECTURE a OF free_counter ISSIGNAL Q : STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS (CLK)BEGINIF CLKEVENT AND CLK = 1 THE
7、NQ = Q + 1;END IF;END PROCESS;CLK_A = Q(1) ;CLK_B = Q(4 DOWNTO 3) ;END a ;分析:首选信号Q 建立一个9 位自由计数器,对输入主时钟进行降频处理;使用CLK_A=Q(1)语句,取得一个脉冲波形,对主时钟进行2 分频,其值为0、1、0、1;使用CLK_B=Q(4 DOWNTO 3)语句,取得一脉冲序列,依次为00、01、10、11、00.;4键盘扫描电路目标:提供键盘扫描信号,即表1-1 中的KEYR3.0,变化顺序依次为0111、1011、1101、1110.。依次重复出现。程序清单:LIBRARY ieee;USE ie
8、ee.std_logic_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY scan ISPORT (CLK : IN STD_LOGIC ;CLK_SCAN : OUT STD_LOGIC_VECTOR (3 downto 0);END scan ;ARCHITECTURE a OF scan ISSignal S : STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL Q: STD_LOGIC_VECTOE(3 DOWNTO 0);BeginPROCESS (Cl
9、k)BeginIF CLKEvent AND CLK=1 thenQ = Q+1;S :=Q(3 DOWNTO 2);END IF;END PROCESS;-排错!SCAN_OUT= 1110 WHEN S=0 ELSE1101 WHEN S=1 ELSE1011 WHEN S=2 ELSE0111 WHEN S=3 ELSE1111;END a ;说明:程序中,S 信号是用来产生扫描信号的四个状态,Q 是为了对输入主时钟进行降频处理。5键盘消抖电路因为按键大多是机械式开关,在开关切换的瞬间会在接解点出现来回弹跳的现象,其现象可用图1-2表示:由图可见,虽然只是按了一次键,实际产生的按键信号却
10、不只跳动一次,经过取样信号的检查后,将会造成误码判,认为是按了两次键。如果调整取样频率,可以发现抖现象得到了改善。按键信号:取样信号:取样结果:调整取样频率后的情况如下:程序清单:LIBRARY 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, qq0 : OUT STD_LOGIC ;d_out,d_out1 : OUT STD_LOGIC);END debouncing
11、 ;ARCHITECTURE a OF debouncing ISsignal vcc, inv_d : std_logic ;signal q0, q1 : std_logic ;signal d1, d0 : std_logic ;BEGINvcc = 1 ;inv_d vcc , q = q0 , clk = clk, clrn = inv_d , prn = vcc);dff2 : dff PORT MAP (d =vcc , q = q1, clk = clk, clrn = q0 , prn = vcc);process (clk)beginif clkevent and clk=
12、1 thend0 = not q1;d1 = d0;end if ;end process ;dd0 = d0; dd1 = d1; qq1 = q1; qq0 = q0;d_out = not (d1 and not d0);d_out1 = not q1 ;END a;6键盘译码电路从前面所述的键盘扫描电路的输出可以看出,扫描得到的信号规律性不强,例如数字键主要用来输入数字,但键盘扫描输出无法拿来直接使用,必须对其进行译码才能使用。如表所示,只要使用casewhen 或when else 语句,便可完成设计。键盘译码程序清单:LIBRARY ieee;USE ieee.std_logic_
13、1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;-*ENTITY KEYBOARD_DEC1 ISPORT (clk : IN STD_LOGIC ;CLK_KEYBOARD : IN STD_LOGIC_VECTOR (1 downto 0);C: IN STD_LOGIC_VECTOR (2 downto 0); -key code after debounceout_numb : OUT STD_LOGIC_VECTOR(3 downto 0); - for numb. keyout_func
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 VHDL 电子 密码锁 设计
链接地址:https://www.31ppt.com/p-3993448.html