四位电子密码锁设计剖析

合集下载

4位数字密码锁的设计

4位数字密码锁的设计

4位数字密码锁的设计
4位数字密码锁是一种比较常见的安全锁,可以应用于日常生活,如保险箱、抽屉等
物品,用以保护一些隐私物品,也有可以用在某些重要管理场所中。

由于比较简单,通常
被广泛使用。

1、首先,4位数字密码锁的外壳表面一般是由硬质金属或硬质塑料制成,采用了单重质量设计,保证更加坚固可靠,用于避免被他人拆卸改装和刮伤等情况。

2、其次,4位数字密码锁设有锁体按钮,按钮可以设置为永久锁死,也可以设置一次锁死。

只有输入正确的4位数字密码才可以解锁,这样就可以避免不安全因素,提高安全性。

3、此外,锁体中装有一个电路板,用于防止锁被轻易开锁,增加锁的安全性。

例如,当用户输入了三次错误的密码之后,电路板就会被自动锁死,直到指定的时间才能解锁。

4、最后,4位数字密码锁一般具有双向加锁功能,可以锁住保险箱或抽屉内部的两侧,增强财产安全。

总体而言,4位数字密码锁设计的功能丰富,安全性高,不需要复杂的技术才可以快
速操作,所以受到了很多消费者的青睐。

四位数字密码锁

四位数字密码锁

数字电路基础实验设计报告班级:521姓名:李世龙学号:2010052106设计题目:四位数字密码锁指导老师:张光普四位密码锁一设计任务:通过组合逻辑电路来实现四位密码锁功能。

当输入正确的密码时LED灯亮但蜂鸣器不响,输入错误密码时LED灯不亮但蜂鸣器响。

当关闭密码锁开关时无论输入什么样的密码LED灯都亮蜂鸣器都响。

密码的输入由开关的闭合与断开控制高低电平进行密码的输入。

二设计原理:开关J1,J2, J3,J4通过接低电平或者接入高电平进行密码的输入,J5为密码锁的开关当它接入高低电平来控制密码锁是否工作。

其他的门电路来实现密码锁转换功能。

真值表J5 J1 J2 J3 J4 LEDBUZZER0 ×××× 1 11 0 0 0 0 0 11 0 0 0 1 0 11 0 0 1 0 0 11 0 0 1 1 011 0 1 0 0 0 11 0 1 0 1 0 11 0 1 1 0 0 11 0 1 1 1 0 11 1 0 0 0 0 11 1 0 0 1 0 11 1 0 1 0 0 11 1 0 1 1 0 11 1 1 0 0 101 1 1 0 1 0 11 1 1 1 0 0 11 1 1 1 1 0 1三测量和调试结果:当J5接入电平密码锁处于非工作状态无论输入密码是什么LED灯都会亮起,蜂鸣器会一直响。

当J5接入高电平时密码锁处于正常工作状态,当输入正确的密码1100时即J1,J2接入高电平J3,J4接入低电平时LED灯会亮但蜂鸣器不会响,当输入其他密码时均为错误密码LED灯不亮蜂鸣器会响。

按照设计原理图接好电路后发现输入正确的密码LED灯会亮,但输入错误的密码和密码锁处于非工作状态时蜂鸣器不响。

通过对电路的检查发现蜂鸣器的正负接反了重新改正电路,电路正常工作设计任务完成四参考文献【1】阎石.数字电子技术基础.第五版.北京:高等教育出版社。

四位密码锁电路课程设计报告

四位密码锁电路课程设计报告

四位密码锁电路课程设计报告一、设计要求设计一种四位密码锁电路,需要具备以下功能:1. 开关控制:设有一个开关,可以开启或关闭密码锁电路。

2. 设置密码:密码为四位数字,可以自由设置。

3. 输入密码:密码通过数码管实时显示,可以输入四位数字的密码。

4. 锁定/解锁:输入正确的密码后,可以解锁,否则锁定密码锁。

5. 报警提示:在输入错误密码超过三次的情况下,会有报警提示。

二、电路设计1. 功能分析要实现以上要求的四位密码锁设计,可以将电路分为以下部分:1.1 时钟信号控制器:使用定时器生成一个,50ms的定时器中断来产生时钟信号,控制键盘扫描和密码输送。

1.2 数码管驱动:使用74LS47电路进行数码管动态扫描驱动。

同时,用4094低频同步移位寄存器输出数码管所显示的数字。

1.3 锁控制电路:使用继电器电路来实现锁的控制。

1.4 按键输入电路:使用74LS74 D触发器和IP3386A电位器来实现按键的输入。

1.5 密码比较电路:使用四路与非门来进行密码的比较操作。

1.6 报警提示:使用蜂鸣器进行声音提示。

2. 详细设计2.1 时钟信号控制器时钟信号控制器由XTAL时钟电路、定时器电路和键盘扫描电路组成。

2.1.1XTAL时钟电路XTAL时钟电路的工作原理是在石英晶体的两端加了一对金属片,当晶体被振动时,金属片之间产生的压电效应会生成一个稳定的频率和幅度的交变电压信号,这个信号的频率稳定高,精度高。

因此本电路选用4MHZ的外接石英晶体。

2.1.2 定时器电路定时器电路主要由1个555定时器芯片构成。

555定时器芯片是一种多功能集成电路,主要有两种工作方式:单稳态和多稳态。

本电路采用555定时器来实现一个50ms定时器。

2.1.3 键盘扫描电路键盘采用4×3的矩阵键盘,采用行列扫描方式进行扫描。

用74LS74 D触发器将键盘的行信号和处理器的时钟信号连接,通过对D触发器读写的方式来实现行信号的输入和输出。

基于单片机的四位电子密码锁的设计

基于单片机的四位电子密码锁的设计
//#define Busy 0x80//用于检测LCM状态字中的Busy标识
#define w 4//定义密码位数
sbit lcd1602_rs=P2^7;
sbit lcd1602_rw=P2^6;
sbห้องสมุดไป่ตู้t lcd1602_en=P2^5;
sbit wxbz=P3^6;
sbit Scl=P3^4;//24C02串行时钟
(1)密码输入、显示及开锁功能;
(2)密码重置(两次输入旧密码正确后,再两次输入新密码无误则修改成功);
(3)上锁功能;
(4)声光提示(蜂鸣器和发光二极管);
(5)错误报警、输入次数任意更改(0-9次);
(6)液晶屏省电/正常模式任意切换;
(7)产生随机密码并可一键保存;
(8)输入密码的显示/隐藏任意切换;
第2章 硬件电路设计
图2-1-1 AT89S52最小工作系统
1、时钟电路:
单片机工作的时间基准,决定单片机工作速度。时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。AT89S51单片机时钟频率范围:0—33MHz。本设计晶振选择频率为12MHZ,电容选择30pF如图(3-4)。经计算得单片机工作胡机器周期为:
电子密码锁的设计与总结报告
摘要:
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。
本次设计使用ATMEL公司的AT89S51单片机为芯片主体,采用AT24C02为掉电存储器的芯片。这种芯片稳定性高,成本低,还能扩展很多功能。如红外探测技术,指纹识别技术,语音识别技术,图像识别技术等。这些扩展的技术国外发展的比较迅速,有些已经投入使用。本设计没有采用这些扩展。其主要具有如下功能:

四位数字密码锁设计

四位数字密码锁设计

电子科技大学数字电路课程设计报告题目:保险箱用四位数字代码锁院系:专业:学号:学生姓名:指导教师:保险箱用四位数字代码锁一.设计要求:设计一个保险箱用的4位数字代码锁,该锁有规定的地址代码A、B、C、D4个输入端和一个开箱钥匙孔信号E的输入端,锁的代码由实验者自编。

当用钥匙开箱时,如果输入的4个代码正确,保险箱被打开;否则,电路将发出警报(可用发光二极管亮表示)。

具体要求:1)写出改组合逻辑电路的分析和设计方法;2)参考有关资料画出原理图,找出要使用的芯片;3)画出真值表以验证是否真确;4)使用Verilog HDL语言进行仿真。

二.设计方案:1.该组合逻辑电路的分析和设计方法:本设计方案中我采用多路复用器,2-4译码器,LED灯和或门等器件来完成设计。

用2个74x151多路复用器扩展为16-2多路复用器,题目中的地址代码A、B、C、D4个输入端作为扩展的多路复用器的地址端,D0-D8作为数据端。

开箱钥匙孔信号E作为2-4decoder的使能端。

设计开锁的正确代码为0101,当用钥匙开锁(即2-4decoder的使能端有效)时,如果正确输入开锁密码:0101,则输出Y为逻辑高电平,Y’为逻辑低电平,锁被打开,而LED灯不会亮(即不会报警);如果输入的密码错误或者钥匙孔信号无效,则输出Y为逻辑低电平,Y’为逻辑高电平,锁无法打开,逻辑高电平Y’驱动LED灯亮,产生报警效果。

2.设计原理图:(以下电路图为用Quartus II综合后截屏所得)总体逻辑电路图2-4译码器逻辑电路图151多路复用器逻辑电路图D C B A LATCH LED0 0 0 0 0 10 0 0 1 0 10 0 1 0 0 10 0 1 1 0 10 1 0 0 0 10 1 0 1 1 00 1 1 0 0 10 1 1 1 0 11 0 0 0 0 11 0 0 1 0 11 0 1 0 0 11 0 1 1 0 11 1 0 0 0 11 1 0 1 0 11 1 1 0 0 11 1 1 1 0 1假设用钥匙开锁(即钥匙孔信号E有效)时的真值表4.Verilog HDL语言仿真:程序代码:module e2_4decoder(i,en,y);input en;input [1:0] i;output [3:0] y;reg [3:0] y;always @(i or en)beginif(en)case(i)0:y=4'b0001;1:y=4'b0010;2:y=4'b0100;3:y=4'b1000;endcaseelse y=4'b0000;endendmodulemodule mutiplexer16_1(a,b,c,en,d,y,y_l);input a,b,c,en;input [7:0] d;output y,y_l;reg y,y_l;always @(a,b,c,en)beginif(en==0)if(c==0&b==0&a==0) y=d[0];else if(c==0&b==0&a==1) y=d[1];else if(c==0&b==1&a==0) y=d[2];else if(c==0&b==1&a==1) y=d[3];else if(c==1&b==0&a==0) y=d[4];else if(c==1&b==0&a==1) y=d[5];else if(c==1&b==1&a==0) y=d[6];else y=d[7];else y=0;y_l=!y;endendmodulemodule liuyong(A,B,C,D,set,LED,LATCH);wire [3:0] y;wire [1:0] i;input A,B,C,D;input [15:0] set;output LED,LATCH;assign i[1]=0;assign i[0]=D;e2_4decoder u1(i,1,y);mutiplexer16_1 m1(A,B,C,!y[0],set[7:0],y1,y1_l);mutiplexer16_1 m2(A,B,C,!y[1],set[15:8],y2,y2_l); or (LATCH,y1,y2);not (LED,LATCH);endmodule以下为仿真得到的时序图:。

四位数字密码锁的设计

四位数字密码锁的设计

EDA 课程设计报告书课题名称 四位数字密码锁的设计 姓 名学 号 院 系 专 业 指导教师年 月 日※※※※※※※※※ ※※※※ ※※※※※※※※※※※级学生EDA 课程设计设计任务及要求:(1)设计任务:本课程设计要求设计的数字密码锁密码为4位,由密码锁输入电路、码锁控制电路、密码锁处理电路、显示电路四大部分组成,将各电路组合起来,构成了一个完整的电子密码锁。

(2)设计要求:①、密码输入:每按一个数字键,就输入一个数值,且将在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一位。

②、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”。

③、密码修改:按下此键时将目前的数字设定成新的密码。

④、激活电锁:按下此键可将密码锁上锁,红色LED灯将闪烁一次。

⑤、解除电锁:按下此键会检查输入的密码是否正确,若绿色LED亮则表示密码正确,密码锁将解锁。

指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日四位数字密码锁的设计1 设计目的随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。

2 设计的主要内容和要求设计一个简单的数字电子密码锁,密码为 4 位。

要求具备如下功能:(1)如果输入数字键,第一个数字会从数码管的最右端开始显示,此后每按下一个数字键,数码管上的数字必须往左移动一格,以便将新的数字显示出来。

(2)本密码锁为四位密码锁,当输入的数字超过四个时,不会显示第四个以后的数字。

(3)按下密码清零键,清除所有输入的数字,清除成为“0000”,即做归零动作。

(4)按下解锁键,检查输入的密码是否正确,若解锁指示灯(绿色LED灯)闪烁一次,即表示密码正确(开锁)。

基于VHDL4位电子密码锁的设计

基于VHDL4位电子密码锁的设计

理工大学本科实验报告题目:基于VHDL 4位电子密码锁的设计课程名称:数字电路课程设计学院(系):电子信息与电气工程专业:电子英强班级:学生:学号:完成日期:2013.7.8成绩:2013 年7 月08 日题目:基于VHDL 4位电子密码锁的设计1 设计要求○1电子密码锁为4位8421BCD码,多于4位,密码只取前4位。

○2在输入密码错误,给出一个错误信号,有三次输入机会,若三次密码都输入错误,则给出一个报警信号,此后只能由密码管理员取消报警信号。

○3在输入密码正确的情况下,可以再次设定密码。

○4每次输入一个密码,将显示在7段数码管上,并依次左移。

○5每次输入密码的时候,按取消(cancel)键可以取消这次密码的输入,课重新输入4位密码。

2 设计分析及系统方案设计在实验室DE2开发板的条件下,考虑到key键只有4个,可以用switch开关来实现密码输入模块,用switch[9]~switch[0] 来实现数字9~0的输入,并通过译码模块将其转化为8421BCD码,由8421BCD码来驱动7段数码管作为密码锁的显示模块。

每按一个键,产生一个上升沿,给4个数码管做时钟,实现没输入一个数左移一位的效果。

为了实现密码输入多于4位,可以构造一个模为4的计数器来控制只取前4位密码。

共有三次输入密码的机会,可以构造一个模为3的计数器来控制。

密码比较模块:当按下确定键(yes)键,则将输入的密码和置密码进行比较。

密码输入模块:当输入密码正确时,再输入密码,利用重置密码键(set_psw)直接将其赋值给置的密码psw即可实现。

LED 显示模块,用来显示密码输入的正确与否。

若输入密码与置密码一致,则锁打开,输出一个高电平给LEDG ,绿灯亮,密码错误则输出一个高电平给LEDR ,红灯亮。

综合上述分析,本系统的硬件部分主要由密码锁输入译码模块、密码锁显示模块、密码锁控制模块、密码比较和重置模块和LED 显示模块五个部分组成。

4位数字密码锁的设计

4位数字密码锁的设计

1技术指标用与非门设计一个4位或多位代码的数字锁,要求如下:A: 设计一个保险箱用的多位代码数字锁,比如4位代码ABCD四个输入端和一个开锁用的钥匙插孔输入端E,当开箱时(E=1),如果输入代码(例如ABCD=1010)与设定的代码相同,则保险箱被打开,即输出端Z=1,否则电路发出报警信号:B: 进行电路仿真,并说明其工作原理。

2方案比较方案一:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、D3 Proteus软件介绍Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。

Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。

Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE 仿真;ARES PCB设计。

四位数字的电子锁电路数电课程设计

四位数字的电子锁电路数电课程设计

四位数字的电子锁电路设计1 四位数字的电子锁设计1.1电路原理系统框图图1 电路原理框图1.2 方案的比较1.2.1方案一总电路图:图2 方案一总电路图原理说明:由数字开关与译码器输入密码,按键输入触发接成环形计数器的移位寄存器,计数器记录密码输入个数来和控制各锁存器时钟端来使显示稳定,四位锁存器时钟开关按下,74LS175存储密码,之后4个锁存器依次检测四个等于信号的输出,若依次为一,则正确,否则错误。

计数器控制一次输入密码个数最多为四,超过则错误。

密码比较使用74LS85四位数值比较器级联,只能依次输入正确密码触发74ls74给信号输出正确密匙,输出结果驱动由传输门控制密码子正确是的开锁显示,正确密码则led灯亮解锁,反之蜂鸣器发出警报.1.1.2方案二总原理图:图3 方案二的总电路图原理说明:如上电路图所示,由数字开关与译码器输入密码,分配器和锁存器分配数据显示在数码管上,计数器记录密码输入个数来控制数据分配和控制各锁存器时钟端来使显示稳定,四位锁存器时钟开关按下,74LS175存储当前,密码比较使用74LS85四位数值比较器级联,输出结果驱动由传输门控制密码子正确是的开锁显示,以及密码错误的蜂鸣器报警。

1.3方案的选择两个方案相同之处:使用了编码器及反相器作为密码输入部分,用与非门进行电路输入错误信号是的封锁,密码检测部分都用了74ls85比较器用来对二次密码的检测和比较。

两方案制作都需要一定量芯片,制作成本较高;不同之处:方案一具备完备功能,满足实验全部要求,线路中用了网络标号做线路连接,使电路图简单美观,输入部分用了移位寄存器对输入信号移位已输入四位密码;方案二初步功能虽具备,但电路封锁后仍可改变末尾密码,有弊端,且整个电路图接线复杂,难制作出实物,用的是数据分配器对输入密码进行分配,74ls175对信号进行多次储存,计算复杂。

综合比较两方案,选择方案一为佳。

2整体设计方案的分析2.1输入单元电路电路图示:图4 输入单元电路图原理说明:信号输入数J1开关,经74ls147编码器及反相器向储存器传输转化为二进制数,同时有方向加载个八位与非门及74ls194移位寄存器进行封锁及移位,74ls161计数器计数对数字输入信号进行计数,开关space对寄存器预置数,初始值为1000,开关w打开切断寄存器清除端低电平,输出低电平,不进行数字移位而由检测装置移位检测。

四位数字密码锁的设计

四位数字密码锁的设计

EDA 课程设计报告书课题名称 四位数字密码锁的设计 姓 名学 号 院 系 专 业 指导教师年 月 日※※※※※※※※※ ※※※※ ※※※※※※※※※※※级学生EDA 课程设计设计任务及要求:(1)设计任务:本课程设计要求设计的数字密码锁密码为4位,由密码锁输入电路、码锁控制电路、密码锁处理电路、显示电路四大部分组成,将各电路组合起来,构成了一个完整的电子密码锁。

(2)设计要求:①、密码输入:每按一个数字键,就输入一个数值,且将在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一位。

②、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”。

③、密码修改:按下此键时将目前的数字设定成新的密码。

④、激活电锁:按下此键可将密码锁上锁,红色LED灯将闪烁一次。

⑤、解除电锁:按下此键会检查输入的密码是否正确,若绿色LED亮则表示密码正确,密码锁将解锁。

指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日四位数字密码锁的设计1 设计目的随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。

2 设计的主要内容和要求设计一个简单的数字电子密码锁,密码为 4 位。

要求具备如下功能:(1)如果输入数字键,第一个数字会从数码管的最右端开始显示,此后每按下一个数字键,数码管上的数字必须往左移动一格,以便将新的数字显示出来。

(2)本密码锁为四位密码锁,当输入的数字超过四个时,不会显示第四个以后的数字。

(3)按下密码清零键,清除所有输入的数字,清除成为“0000”,即做归零动作。

(4)按下解锁键,检查输入的密码是否正确,若解锁指示灯(绿色LED灯)闪烁一次,即表示密码正确(开锁)。

四位密码锁电路课程设计报告

四位密码锁电路课程设计报告

四位密码锁电路课程设计报告密码锁是现代社会中非常普遍的安全保障设备,它可以通过输入正确的密码来解除锁定。

在本次课程设计中,我们将使用数字电子技术设计一个四位密码锁电路。

二、设计原理密码锁电路的设计可以分为四个部分:输入模块、比较模块、控制模块和显示模块。

输入模块:密码锁的输入模块通常采用矩阵键盘。

我们将使用一个4x4的矩阵键盘,其中每个按键都有一个唯一的行列值。

比较模块:比较模块的作用是将输入的密码与预设的密码进行比较,只有当两者相同时,密码锁才能解锁。

在本次课程设计中,我们将使用74LS181芯片来实现比较模块。

控制模块:控制模块的作用是控制电路的工作状态,包括判断是否解锁、控制锁的状态等。

我们将使用AT89C51单片机作为控制模块。

显示模块:显示模块的作用是显示当前密码锁的状态,包括输入的数字以及是否解锁。

在本次课程设计中,我们将使用数码管作为显示模块。

三、硬件设计1. 矩阵键盘矩阵键盘使用横排4个针脚和竖排4个针脚,共计8个针脚。

我们将针脚分别接到P0口和P2口,并使用4个输出口和4个输入口来扫描键盘。

2. 74LS181芯片74LS181芯片是一种4位全加器,可以将两个4位二进制数进行加减运算,并输出运算结果。

在本次课程设计中,我们将使用74LS181芯片来实现比较模块。

3. AT89C51单片机AT89C51单片机是一款8位CMOS微控制器,具有丰富的接口功能。

在本次课程设计中,我们将使用AT89C51单片机作为控制模块。

4. 数码管数码管是一种数字显示器件,可以显示0~9的数字。

在本次课程设计中,我们将使用共阳数码管,将其8个针脚分别接到P1口和P3口。

四、软件设计1. 锁定状态当密码锁处于锁定状态时,数码管显示“0000”,这表示当前密码尚未输入。

当用户按下一个按键时,单片机将扫描键盘输入并将其保存到一个缓冲区中,之后再将其显示在数码管上。

2. 输入状态当用户输入了四个数字后,单片机将把缓冲区中的数字与预设的密码进行比较。

数字电子密码锁设计

数字电子密码锁设计

数字电子密码锁课程设计报告一、设计要求:设计一个保险箱用的4位数字代码锁,该锁有规定的地址代码A、B、C、D4个输入端和一个开箱钥匙孔信号E的输入端,锁的密码由实验者自编。

当用钥匙开箱时,如果输入的4个代码正确,保险箱被打开;否则,电路将发出警报(可用发光二极管亮表示)。

二、设计内容:1、设计分析对输入的地址A、B、C、D的值与对应的保险箱的4位密码进行比较,如果输入值与密码相等,则输出“Y=1”,此时密码锁打开,否则输出“Y=0”。

且输出“Y=0”的时候电路发生警报,即二极管发光。

对输入与密码的比较有两种方式,可以直接用异或门进行比较,也可以用数值比较器进行比较,开箱钥匙信号E作为使能端,当E=1时,有正确的输出,E=0时,电路无有效输出。

2、设计原理图及芯片使用数值比较器CT74LS85芯片实现a)芯片资料:CT74LS85,位4位二进制比较器,其工作原理为:两个输入二进制数和,进行比较时从高位到低位逐一进行比较,如,当时,A>B;当时,A<B,以此类推。

当且仅当,,,时,A=B。

此时输出。

芯片中I为使能端控制输出的有效性。

b)用74LS85实现密码锁逻辑原理图:下图为74LS85的功能表:3、真值表设置密码锁的密码为则,由原理图可知,使用异或门逻辑与使用数值比较器CT74LS85所设计的电路实现相同的功能,故两者真值表均相同,为:4、电路图:5、VHDL仿真TITLE "Top-level file for the 7485 macrofunction. Chooses a device-family optimized implementation.";FUNCTION p7485 (a[3..0], b[3..0], agbi, albi, aebi)RETURNS (agbo, albo, aebo);FUNCTION f7485 (a[3..0], b[3..0], agbi, albi, aebi)RETURNS (agbo, albo, aebo);PARAMETERS(DEVICE_FAMILY);INCLUDE "aglobal.inc";SUBDESIGN 7485(a[3..0] : INPUT = VCC;b[3..0] : INPUT = VCC;agbi : INPUT = VCC;albi : INPUT = VCC;aebi : INPUT = VCC;agbo : OUTPUT;albo : OUTPUT;aebo : OUTPUT;)VARIABLEIF (FAMILY_FLEX() == 1) GENERATEsub : f7485;ELSE GENERATEsub : p7485;END GENERATE;BEGINIF (USED(a0)) GENERATEsub.a0 = a0;END GENERATE;IF (USED(a1)) GENERATEsub.a1 = a1;END GENERATE;IF (USED(a2)) GENERATEsub.a2 = a2;END GENERATE;IF (USED(a3)) GENERATEsub.a3 = a3;END GENERATE;IF (USED(b0)) GENERATEsub.b0 = b0;END GENERATE;IF (USED(b1)) GENERATEsub.b1 = b1;END GENERATE;IF (USED(b2)) GENERATEsub.b2 = b2;END GENERATE;IF (USED(b3)) GENERATEsub.b3 = b3;END GENERATE;IF (USED(agbi)) GENERATEsub.agbi = agbi;END GENERATE;IF (USED(albi)) GENERATEsub.albi = albi;END GENERATE;IF (USED(aebi)) GENERATEsub.aebi = aebi;END GENERATE;agbo = sub.agbo;albo = sub.albo;aebo = sub.aebo;END;6、结果分析由真值表可以看出,当设定密码为Key(1010)时,当且仅当开箱钥匙孔信号E输入有效、地址ABCD输入等于为设定密码Key(1010)时,输出有效开箱信号,打开密码锁;当钥匙孔信号E=0输入无效时,输出Y和报警信号W信号均无效为;当钥匙孔信号E=1有效,但输入地址ABCD与设定密码Key不相符时,输出开锁信号Y=0无效,且报警信号W=1(即接入LED二极管发亮报警)。

4位数字密码锁的设计讲解

4位数字密码锁的设计讲解

电子技术综合课程设计报告设计题目:用与非门设计一个4位代码的数字锁专业班级: --------- 学生姓名: ---学生学号: ----指导教师: -设计时间: 2016-6-20 ∽ 7-11、课程设计任务、要求:设计一个保险箱用4位代码数字锁,如果输入代码与设定的代码(1101)相同,则保险箱被打开,绿色指示灯亮,错误则红色指示灯亮并发出声音报警。

2、课程设计目的、意义:1.通过课程设计巩固、深化和扩展理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。

2.运用所学数字电路技术的知识设计一个4位数字的代码锁,并能够通过计算,得到该电路需要的元器件型号和参数值大小;3.学习并使用仿真软件 protues 经行模拟仿真,熟悉元件库和各种仪器的使用,作图并进行调试,能够最终模拟出最符合要求的设计图。

4.让我们能够通过运用所学知识设计电路来模拟出实际生活中的一些常见的器件,将知识和运用联系起来。

5.可以培养并锻炼我们的动手实践的能力、查阅手机资料的能力、独立思考分析解决问题的能力以及团结合作的能力,以便在以后的学习工作和生活中,能够更好地分析解决真实遇到的问题。

3、设计题方案比较、论证方案一:用4个异或门连接输入端,并分别于反相器连接,再相与。

当输入密码与设置密码相同时,电路输出为高电平,发光二极管不亮,当输入密码与设置密码不相同时,电路输出为低电平,发出报警,发光二极管亮。

其电路图如图3.1图3.1 方案一的电路图方案二:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、D四个输入端的电平的高低,进而控制输出电平的高低以及报警信号的工作。

当输入端与设置的密码相符时,则输出为高电平,二极管亮,否则输出为低电平,并且发出报警,即蜂鸣器发出响声,至此完成电路的设计。

其电路图如图3.2如图3.2 方案二的电路图方案比较论证:由于第一个方案中利用RV2、R5、C4、PNP型三极管、R6使第一块芯片的电压控制得到连续变化的电压,进而使第二块芯片产生多变的频率;虽符合题目的要求,但所用器件以及电路图相比方案一复杂,所以选择淘汰。

毕业设计(论文)-基于FPGA的四位电子密码锁

毕业设计(论文)-基于FPGA的四位电子密码锁

基于FPGA的四位电子密码锁摘要随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。

电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。

目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。

在实际应用中,由于程序容易跑飞,系统的可靠性能较差。

本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。

用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。

由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。

因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。

本文采用EDA技术,利用Quartus II工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片FPGA芯片实现。

关键词:电子密码锁;FPGA;硬件描述语言;EDAFour FPGA-based electronic lockABSTRACTWith the development of electronic technology, electronic password lock with burglar alarm and other functions replacing less password and poor security mechanical code lock is an inevitable trend. compared electronic password lock with ordinary mechanical locks, it has many unique advantages :confidentiality, and security in nature, do not use the key, remember password can unlock it etc .Most electronic password locks we used now is based upon SCM technology ,SCM is its mainly device ,and the creating of encoding and decoding devices is the fashion of Software mode. In practical application, the reliability of the system may be worse because of easy running fly of the programme.This paper mainly expatiates a design method of electronic password lockbased upon Field Programmable Gate Array device. We use FPGA devices to construct system , all of the algorithm entirely achieved by the hardware circuit , because of FPGA has the function of ISP , when the design needs to be changed We only need to change the control and interface circuit of FPGA,EDA tools are used to download the updated design to FPGA without changing the design of the external circuit , this greatly enhance the efficiency of the design .Therefore , we use FPGA to empolder the digital system has not only high reliability but also extremely convenient of upgrading and improvement .In this paper ,we use EDA technology , Quartus II platform and hardware description language designing an electronic password lock ,and it achieved through an FPGA chip.Key words:electronic password lock;FPGA;hardware description language;EDA目录摘要 (I)ABSTRACT (Ⅱ)1 绪论 (1)1.1国内外现状及其发展 (1)1.2电子密码锁的系统简介 (2)1.3系统设计要求 (2)1.4本课题的研究目的和意义 (3)2FPGA与VHDL硬件描述语言 (4)2.1FPGA的相关介绍 (4)2.2VHDL硬件描述语言 (6)2.2.1 VHDL语言的基本结构 (6)3电子密码锁的设计与实现 (8)3.1电子密码锁设计要求 (8)3.2总体设计思想 (8)3.3子模块的设计思想及实现 (9)3.3.1输入模块的设计与实现 (9)3.3.2控制电路设计与实现 (13)3.3.3显示模块设计与实现 (17)3.3.4电子密码锁的系统实现 (18)4电子密码锁的时序仿真 (19)4.1电子密码锁的设计流程 (19)4.2系统主要模块的仿真 (19)总结 (23)结束语 (24)参考文献 (25)附录 (26)1 绪论1.1 国内外现状及其发展随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。

实验报告四位数电子密码锁

实验报告四位数电子密码锁

四位数电子密码锁一,实验目的1.学习查找相关资料,并对小型项目开发有一定的认识;2.掌握能进行模块化设计的能力;3.学会对各部分电路,进行讨论、说明与仿真验证,最后在整合起来。

二,硬件要求1、拨位开关。

2、FPGA主芯片:EP1K30QC208。

3、LED显示模块。

4、4*4键盘。

5、七段数码管三,实验原理通过对4×4键盘进行扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。

键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。

同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。

获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配。

两功能键:在开锁状态时,一个用于清除数字,一个用于激活电锁。

在上锁状态,一个用于清除,一个用于解除电锁。

四、实验内容及步骤1、编写4*4数字密码锁的VHDL代码。

2、用MaxPlusII对其进行编译仿真。

3、在仿真确定无误后,选择芯片ACEX1K EP1K30QC208。

4、给芯片进行管脚绑定,在此进行编译。

5、根据自己绑定的管脚,在实验箱上对键盘接口、显示接口和FPGA之间进行正确连线。

6、给目标板下载代码,在4×4键盘输入键值,观看实验结果。

五、程序代码及说明LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;LIBRARY altera; ----这是利用库编译成的去拌电路。

4位数字密码锁的设计

4位数字密码锁的设计

1技术指标用与非门设计一个4位或多位代码的数字锁,要求如下:A:设计一个保险箱用的多位代码数字锁,比如4位代码ABCD四个输入端和一个开锁用的钥匙插孔输入端E,当开箱时(E=1),如果输入代码(例如ABCD=1010)与设定的代码相同,则保险箱被打开,即输出端Z=1,否则电路发出报警信号: B: 进行电路仿真,并说明其工作原理。

2方案比较方案一:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、3Proteus软件介绍Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。

Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

此系统受益于15年来的持续开发,被《电子世界》在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。

Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARES PCB设计。

四位电子密码锁设计剖析

四位电子密码锁设计剖析

高级电子线路实验报告题目:基于FPGA的四位电子密码锁设计院(系):信息与通信学院专业:学生姓名:学号:2015 年 6 月18 日基于FPGA的的四位电子密码锁设计摘要本文主要介绍了一种运用可编程逻辑器件(FPGA)技术来编程实现电子密码锁的设计方法。

在整个系统设计实现中采用FPGA器件作为控制器,继而了解密码锁系统的总体流程、各个模块的功能与接口的分配。

基于FPGA,使用VHDL语言编写模块程序,再通过Quartus II 集成开发环境下进行设计、综合与仿真。

要求用Verilog HDL语言实现系统中的各个模块功能,并且能够仿真,验证本次设计四位密码锁的功能。

每按下一个数字键,就输入一个数值,并显示该数值,当按下密码更改键时会将目前的数字设定成新的密码。

当按下激活电锁键的时候可以将密码锁上锁。

当按下解除电锁键时会检查输入的密码是否正确,密码正确即开锁。

电子密码锁由键盘扫描模块、分频模块、密码计数模块、比较器模块、存储模块、显示模块和控制模块七大部分组成。

通过硬件描述,验证了整个设计的正确性以及系统的完整性。

关键词:可编程逻辑器件;电子密码锁;硬件描述;时序仿真引言本设计利用QuartusⅡ工作平台硬件描述语言,设计一种电子密码锁,并通过用FPGA 芯片实现。

用VHDL语言使用自顶向下的方法对系统进行了描述,并在FPGA芯片上实现。

设计充分利用了FPGA的资源可编程特性,可高效率的对系统进行升级与改进。

设计的密码锁可设置任意密码,比一般的四位密码锁具有更高的安全可靠性,因此,采用FPGA 开发的数字系统,不仅具有很高的工作可靠性,其升级与改进也极其的方便,应用前景十分宽广。

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高,因此导致了电子行业的蓬勃发展。

随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都获得了大大的提高。

4位数字密码锁的设计

4位数字密码锁的设计

1技术指标用与非门设计一个4位或多位代码的数字锁,要求如下:A:设计一个保险箱用的多位代码数字锁,比如4位代码ABCD四个输入端和一个开锁用的钥匙插孔输入端E,当开箱时(E=1),如果输入代码(例如ABCD=1010)与设定的代码相同,则保险箱被打开,即输出端Z=1,否则电路发出报警信号:B:进行电路仿真,并说明其工作原理。

2方案比较方案一:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、D四个输入端的电平的高低,进而控制输出电平的高低以及报警信号的工作。

当输入端与设置的密码相符时,则输出为高电平,二极管亮,否则输出为低电平,并且发出报警,即蜂鸣器发出响声,至此完成电路的设计。

其电路图如图2.1方案二:用4个异或门连接输入端,并分别于反相器连接,再相与。

当输入密码与设置密码相同时,电路输出为高电平,发光二极管不亮,当输入密码与设置密码不相同时,电路输出为低电平,发出报警,发光二极管亮。

其电路图如图6.13Proteus软件介绍Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件。

Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

四位二进制电子密码锁的设计

四位二进制电子密码锁的设计

一、设计任务
四位二进制电子密码锁的设计
二、设计条件
本设计基于学校实验室的环境,根据实验室提供的实验条件来完成设计任务,实验室为该设计提供的仪器设备和主要元器件如下
EEL—69模拟、数字电子技术实验箱一台
集成运算放大器实验插板一块
直流稳压电源一台
双踪示波器一台
数字万用表一块
主要元器件
同步加法计数器74LS161、74LS00、74LS02、导线等
(EEL—69模拟、数字电子技术实验箱上有喇叭、三极管以及芯片的插座;集成运算放大器实验插板上有不同参数值的电阻和电容,可任意选用)
三、设计要求
①密码锁可以输入4位二进制密码,每输入一次后需按确认键确认。

②若输入的密码正确,则绿灯显示亮。

③若密码输入不正确,且连续超过3次,则红灯亮。

④可修改密码。

四、设计内容
1.电路原理图(含管脚接线)
右边部分是四位二进制的比较电路,判断四位二进制码时候相等,161起到了计数的作用,计算输入错误的次数,当超过三次时,不停的load1111,也就是保证了当超过三次的时候,红灯一直亮着。

当输入对了密码的时候,按下确定键,绿灯将亮,并且把计数器清零。

确定键起到了屏蔽的作用,同时也是计数脉冲的信号。

2.计算与仿真分析
当输入密码对了以后,绿的的等将在按下的时候亮起,松开后灭了。

当密码错了后,绿灯一直不亮,但是红灯因为初始条件的不定和测试条件的原因,电平也是不确定的
3.元器件清单
23个与非门:7400(6个)
2个或非门7402(1个)
1个74161。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高级电子线路实验报告题目:基于FPGA的四位电子密码锁设计院(系):信息与通信学院专业:学生姓名:学号:2015 年 6 月18 日基于FPGA的的四位电子密码锁设计摘要本文主要介绍了一种运用可编程逻辑器件(FPGA)技术来编程实现电子密码锁的设计方法。

在整个系统设计实现中采用FPGA器件作为控制器,继而了解密码锁系统的总体流程、各个模块的功能与接口的分配。

基于FPGA,使用VHDL语言编写模块程序,再通过Quartus II 集成开发环境下进行设计、综合与仿真。

要求用Verilog HDL语言实现系统中的各个模块功能,并且能够仿真,验证本次设计四位密码锁的功能。

每按下一个数字键,就输入一个数值,并显示该数值,当按下密码更改键时会将目前的数字设定成新的密码。

当按下激活电锁键的时候可以将密码锁上锁。

当按下解除电锁键时会检查输入的密码是否正确,密码正确即开锁。

电子密码锁由键盘扫描模块、分频模块、密码计数模块、比较器模块、存储模块、显示模块和控制模块七大部分组成。

通过硬件描述,验证了整个设计的正确性以及系统的完整性。

关键词:可编程逻辑器件;电子密码锁;硬件描述;时序仿真引言本设计利用QuartusⅡ工作平台硬件描述语言,设计一种电子密码锁,并通过用FPGA 芯片实现。

用VHDL语言使用自顶向下的方法对系统进行了描述,并在FPGA芯片上实现。

设计充分利用了FPGA的资源可编程特性,可高效率的对系统进行升级与改进。

设计的密码锁可设置任意密码,比一般的四位密码锁具有更高的安全可靠性,因此,采用FPGA 开发的数字系统,不仅具有很高的工作可靠性,其升级与改进也极其的方便,应用前景十分宽广。

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高,因此导致了电子行业的蓬勃发展。

随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都获得了大大的提高。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

1 总体方案设计1.1 方案论证方案一:采用数字电路控制。

利用数字逻辑电路,实现对锁的电子控制,突破了传统的机械锁的单一性、保密性低、易撬性的缺点,数字电子密码锁具有保密性高、使用灵活性好、安全系数高的优点。

虽然采用数字密码锁电路的好处是设计简单,但是由于其实纯电路实际,在系统运行时,延时会比较严重。

方案二:通过单片机实现。

现在一种新的方案就是采用一种以AT89S51为核心的单片机控制方案。

虽然有灵活的设计和丰富的IO端口,但是单片机运行的缺点是程序运行时容易出现跑飞现象。

通过以上比较显然单片机方案有较大的活动空间,不但能实现所要求的功能,而且能在很大程度上扩大功能,并可以方便的对系统进行升级。

但是由于所学知识不能将其有效运用,现有环境不能满足,而且以单片机为核心的密码锁有一定的不足之处,在运行时会产生PC指针错误,因此提出了第三种方案。

方案三:利用FPGA设计数字密码锁。

FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,是一种超大规模集成电路,具有对电路可重配置能力。

通常FPGA都有着上万次的重写次数,也就是说现在的硬件设计和软件设计一样灵活、方便。

相对于基于单片机技术的电子密码锁,用FPGA器件来构成系统,可靠性提高,并且由于FPGA具有的现场可编程功能,使得电子密码锁的更改与升级更为方便简单。

通过以上比较描述,本设计采用基于FPGA的数字密码设计方案。

1.2 基于FPGA的数字密码锁系统流程图根据所要实现的数字密码锁的功能,设计出所要完成的的系统流程,系统设计的流程图如3.1所示。

图3.1详细的描述了一个数字密码锁所要完成的功能,开始时,首先要对密码锁系统进行复位初始化,将所要设置的密码首先存入到存储模块当中。

然后进行键盘输入,键盘输入分为密码输入和功能输入,如果是密码输入就要把输入的密码与预置的密码进行比较,如果相同则开锁,不相同则报警,而其中密码的个数由计数器限制;如果是功能输入,则看是什么功能,本设计主要设计了四个功能:设置密码键、退出键、清零键和关锁键,密码锁会根据所要求的功能进行相应的操作。

如果是其他的不与功能相对应的键输入,密码锁将进行系统复位初始化阶段,重新开始操作。

图3.1系统流程图3.3 基于FPGA的数字密码锁总体框图通过数字密码锁系统结构的分析,我们知道通用的数字密码锁主要由八个部模块组成:分频模块、键盘扫描模块、比较模块、计数模块、寄存模块、存储模块、显示模块和控制模块。

根据系统流程图的设计以及各个模块之间的逻辑关系将得到系统总体框图,如图3.2所示。

图3.2数字电子密码锁系统总体框图键盘扫描模块:设定数字键0—9,以及功能键;分频模块:设定系统时钟CLK的频率,对其分频,分别作为按键检测时钟和LED控制器扫描时钟;密码计数模块:统计所输密码位数;比较器模块:比较所输两数是否相等;比较结果寄存器模块:存储比较器模块的结果;存储模块:存储所设置的密码;显示模块:显示所输数字;控制模块:根据分析的数字密码结果,控制单元的算法。

2 系统详细设计2.1 分频模块设计分频模块的主要功能是所给频率转化成系统所需频率。

通常数字电路中的分频操作是采用计数来进行。

就是利用一个自由计数器来产生各种需要的频率,也就是先建立一个N 位计数器,N的大小根据电路的需求来决定,N的值越大,电路可以分频的次数就越多,这样就可以获得更大的频率变化,以便提供多种不同频率的时钟信号。

本密码系统所设计的分频模块是执行十分频功能的模块,其目的是为了得到频率为时钟频率十分之一的clk_scan。

主要程序如下所示。

if(clk'event and clk='1') thenif(cnt=cnt'high)thencnt <= 0;elsecnt <= cnt+1;end if;end if;process(cnt,clk)beginif(clk'event and clk='1')thenif(cnt>cnt'high/2)thenclk_scan<='1';elseclk_scan<='0';end if;end if;end process;分频模块源代码编译后所生成的示意图如图4.1所示。

图4.1分频模块示意图分频模块的输入输出管脚及代表的意义如下表所示。

表4.1 分频模块输入输出变量定义输入端子 clk 输入时钟信号 输出端子clk_scan输出时钟信号源程序编译以后,建立仿真波形,所得功能仿真波形如图4.2所示。

图4.2 分频模块功能仿真波形图图中输入的时钟频率clk 是1亿赫兹(1/10ns),经过程序编译以后,输出的波形是clk_scan 为1千万赫兹(1/10ns),符合十分频的要求。

2.2 键盘扫描模块设计行列式键盘又叫做矩阵式键盘【4】。

用带有I/O 口的线组成行列结构,按键设置在行列的交点上。

本次试验用到的是4×4的行列结构键盘,可以构成16个按键。

这样,当按键数量平方增长是,I/O 口只是线性增长,这样就可以节省I/O 口。

行列式键盘的原理如图4.3所示。

key_col{0..3} 上拉电阻key_row{3…0}图 4.3 行列式键盘的原理按键设置在行列线交叉点,行、列线分别连接到按键开关的两端。

列线通过上拉电阻接+5V 的电压,即列线的输出被嵌位在高电平状态。

判断按键中有无键按下时通过行线输入扫描信号,然后从列线读取到状态实现的。

其CDEF8 9 A B 4 5 6 7 012 3方法是依次给行线送低电平,检查列线的输入。

如果列线信号全为高电平,则代表低电平所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。

部分程序如下所示。

process(temp,scan_en)begin if scan_en = '0' thencase temp iswhen "11101110" => key_code_reg<="00000";key_out_reg <="0000000000000001" ;temp_num <='1'; temp_function<='0';when "11101101" => key_code_reg<="00001";key_out_reg <="0000000000000010" ;temp_num <='1';temp_function<='0';when "11101011" => key_code_reg<="00010";key_out_reg <="0000000000000100" ;temp_num <='1';temp_function<='0';…设行扫描信号为key_row{3…0},列线按键输入信号key_col{0..3}与按键位置的关系如表4.2所示。

表4.2 行扫描信号、列线按键输入信号与按键位置的关系键盘扫描模块源代码编译后所生成的示意图如图4.4所示。

clk_scan key_col[3..0]key_row[3..0] key_code[3..0] key_out[15..0]key_presskey_numkey_f uncKey PadScaninst图4.4键盘扫描模块示意图键盘扫描模块的输入输出管脚及代表的意义如下图所示。

表4.3键盘扫描模块输入输出变量定义输入端子clk_scan 时钟扫描信号key_col[3..0] 键盘列扫描输出端子key_row[3..0] 键盘行扫描key_code[3..0] 键值输出key_out[15..0]键盘按键one-hot码输出key_press 有键按下key_num 数字键key_func 功能键源程序编译以后,建立仿真波形,所得功能仿真波形如图4.5所示。

相关文档
最新文档