电子电路课程设计密码锁(满分实验报告)解析

合集下载

电子锁实验报告

电子锁实验报告

电子密码锁设计设计任务及要求分析设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1~K10分别代表数字1,2,…,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。

可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。

用一位输出电平的状态代表锁的开闭状态。

根据题目要求,本次设计包括键盘输入电路的设计,输出显示电路的设计,密码控制电路。

其中输出显示电路包括数码管显示电路和密码锁开关状态显示电路。

方案比较及认证在本次设计中,我们使用的Altera公司的FPGA芯片EPF10K10LC84-3。

由于采用VHDL 语言设计,使用FPGA 实现,因而体积小,功耗低、性能特别灵活,稍加修改就可以改变密码的位数和输入密码的次数,因而升级和维护都很方便,而且容易做成ASIC 芯片,具有较好的应用前景。

但由于结构还比较简单,有待进一步完善。

系统原理阐述在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。

为达到密码锁的以上功能,可将电子密码锁分为以下几个模块进行设计:按键输入电路:2、密码控制电路:包括密码删除、修改与检验。

3、输出显示电路。

其中,最为关键的是密码控制电路即主电路的设计。

可以为主电路分配如下管脚:其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密码端口, clk时钟输入端口, dn[3..]为数字输入端口,lock密码锁状态显示端口。

在此电路中每输一位数,密码在数码管上左移一位。

设制删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。

设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。

设置密码锁状态信号lock, lock=0表示锁未开,lock=1表示锁开,同时设置关锁信号close,按下close,则锁关闭。

实习报告电子密码锁设计

实习报告电子密码锁设计

实习报告:电子密码锁设计一、实习背景及目的随着科技的不断发展,电子产品在日常生活中扮演着越来越重要的角色。

电子密码锁作为一种安全技术防范产品,具有安全性高、成本低、功耗低、易操作等优点,已广泛应用于家庭、办公室、银行等领域。

本次实习旨在了解并掌握电子密码锁的设计原理,提高自己在电子技术方面的实际操作能力。

二、实习内容与过程1. 了解电子密码锁的原理电子密码锁的核心部分是密码控制器,它通过接收键盘输入的密码,与设定的密码进行比较,根据比较结果控制电路或芯片的工作。

在本实习中,我们采用51单片机作为密码控制器,通过矩阵键盘输入密码,利用数码管显示密码输入情况。

2. 设计电路图根据实习要求,设计电子密码锁的电路图。

电路主要包括51单片机、矩阵键盘、数码管、报警电路、电源等部分。

矩阵键盘用于输入密码,数码管用于显示密码输入情况,报警电路用于提示密码错误,电源为整个电路提供稳定的电压。

3. 编写程序使用C语言编写程序,实现电子密码锁的功能。

程序主要包括主函数、键盘扫描函数、数码管显示函数、报警函数等。

主函数负责初始化硬件设备,循环调用键盘扫描函数,接收并显示密码输入情况。

键盘扫描函数用于检测矩阵键盘按键状态,数码管显示函数负责在数码管上显示输入的密码,报警函数则在密码错误时发出报警。

4. 调试与优化在Proteus仿真软件中进行电路仿真,调试程序。

在仿真过程中,发现键盘输入与数码管显示部分存在问题,通过修改程序代码,解决了这些问题。

同时,对程序进行优化,提高了运行效率。

5. 实物焊接与测试根据电路图,购买元器件,进行实物焊接。

焊接完成后,对电子密码锁进行测试,验证其功能是否符合预期。

在测试过程中,发现报警功能存在问题,经过排查,发现是报警电路部分出现问题,重新焊接后,问题得到解决。

三、实习收获与体会通过本次实习,我对电子密码锁的设计原理和实际操作有了更深入的了解。

在设计过程中,我学会了如何根据实际需求,运用所学知识,设计出符合要求的电路图和程序。

华北电力大学-电力电子综合实验-电子密码锁课设实验报告

华北电力大学-电力电子综合实验-电子密码锁课设实验报告

课程设计(综合实验)报告名称:电子技术综合实验题目:电子密码锁院系:电气与电子工程学院班级:学号:学生姓名:指导教师:设计周数: 1成绩:日期:2012 年1 月6 日电子密码锁一、课程设计的目的与要求锁是人们生活中的常用物品。

本设计题目要求用电子器件设计制作一个密码锁,使之在输入正确的代码时,输出开锁信号推动执行机构动作;并用红灯亮、绿灯灭表示关锁,而绿灯亮、红灯灭表示开锁。

1)在锁的控制电路中储存一个可修改的4位代码作为密码,当输入代码和锁的密码相等时,进入开锁状态使锁打开。

2)从第一个按钮触动之后的5秒内若未将锁打开,则电路进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。

二、设计内容1.系统整体框架系统应包括输入开关电路、输入锁存电路、密码修改电路、密码存储电路、比较电路、定时电路、显示电路、音响电路等。

通过所输入的密码与实际密码的比较,进行开锁、亮灯或报警等相关操作。

总体设计原理方框图如下所示:2.设计的总体思想根据设计的要求,设计的总体思想及设计顺序为:1)设计密码设定及密码输入电路。

在本过程中,主要使用了74194芯片以及开关电路。

为了使得该密码锁有实际意义,就必须要使密码的总数足够多,从来使解锁难度大大增加,而提高密码锁的安全性。

为了达到这一目的,主要想到了如下3种方案:a)设置闲置的开关,从而起到干扰作用。

如最终版所示,一共在密码输入端设计了12个开关,其中4个开关有实际意义,而其他8个开关闲置。

当然,无论按下这12个开关中的哪个,都会触发5秒计时。

这种方案实现起来比较简单。

在密码输入端以及设置端只各需要一片194芯片。

但是该方案有点违背密码的意义,而是用选择哪4个,来区分。

b)密码输入和设置端分别使用两片194芯片,从而使得密码数量变多。

如修改版所示。

这个方案比较符合密码的要求。

但是电路却会复杂的多。

c)外部用多个开关共同控制内部的密码输入开关。

这个方案实现起来整体和a相似,固没有另外在连电路。

密码锁的实验报告

密码锁的实验报告

6.2ns
Байду номын сангаас
90mW
3ns
3ns
75mW
54LS00/74LS00 9ns
10ns
9mW
四2输入与非门除了74LS00外还有 COMS 系列 CD4011
74ls04
04 为六组反相器,共有 54/7404、54/74H04、54/74S04、54/74LS04四种线路结 构形 式,其主要电特性的典型值如下:
(3)仿真图:
(4)硬件实物照片(没有实物的可以省去)
(5)元件清单
型号 74ls85 74ls00 74ls04 发光二极管 六脚开光 四脚开关 1k 电阻 电路板
数量 2 1 1 2 8 8 16 1
3、设计的心得和不足:
通过对74ls00、74ls04、74ls85的引脚功能、真值表的分析、并设计其原理图,且利用电子电 路计算机进行仿真使得学习研究电子技术变得更加简单、直观,学习效果进一步提高,带动了学习 的积极性。
1246534212
课程小组成员: 许俊伟
姜鑫磊
2014 年 4 月 计算机与信息工程学院
班级 : 物联网 122
数字密码锁
设计报告
小组成员学号 : 124634238 124634212
指导教师: 张婧婧
小组成员姓名 : 许俊伟 姜鑫磊
1、设计电路的工作原理及功能描述: (1)系统能够完成输入2位的密码并实现密码的存储功能。 (2)系统可以设置修改密码功能。 (3)密码输入正确、有误均有指示灯显示,并利用电磁继电器模拟开锁。 2、4、设置当前密码的显示部分,用于用户检测。课程设计的主要内容:
00 为四组 2 输入端与非门(正逻辑),共有 54/7400、54/74H00、54/74S00、54/74LS00 四种线路结构形式,其主要电特性的典型值如下:

电子密码锁实验报告

电子密码锁实验报告

电子密码锁实验报告一,实验目的1.进一步巩固和加深理论课基本知识的理解,提高综合运用所学知识的能力。

2.能根据需要选择参考书,查阅资料,通过独立思考,深入钻研有关问题。

3.学会自己独立分析问题、解决问题。

4学习定时器时间计时处理、按键扫描及LED数码管显示的设计方法。

5.根据设计任务及要求利用实验平台上单片机及其外围元器件,设计符合功能的电子密码锁。

二,实验要求设计要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。

2:可以自行设定或删除8位密码,能够掉电保存。

3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。

三,实验基本原理1.键盘接口必须具有去抖动、按键识别基本功能。

(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。

抖动的持续时间与键的质量相关,一般为5—20mm。

所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。

去抖问题可通过软件延时或硬件电路解决。

(2)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。

常用的方法有行扫描法和线反转法两种。

行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。

线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。

2.利用键盘扫描原理分别设4×4矩阵键盘组成0-9数字键及确认键和删除键,通过0—9数字键设定8位密码和删除键删除密码,利用存储器的永久存储特性将设定的密码存于存储器中,再次重启程序时,能从存储器中读取出来,从而实现掉电保存。

电子电路课程设计密码锁(满分实验报告)解析

电子电路课程设计密码锁(满分实验报告)解析

密码锁设计报告摘要:本系统是由键盘和报警系统所组成的密码锁。

系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。

关键字:数字密码锁 GAL16V8 28C64 解锁与报警1目录:一、系统结构与技术指标1、系统功能要求 (4)2、性能和电气指标 (5)3、设计条件 (5)二、整体方案设计1、密码设定 (6)2、密码判断 (6)3、密码录入和判断结果显示 (6)4、系统工作原理框面 (7)三、单元电路设计1、键盘录入和编码电路图 (8)2、地址计数和存储电路 (12)3、密码锁存与比较电路 (12)24、判决与结果显示电路 (14)5、延时电路 (15)6、复位 (17)7、整机电路图 (19)8、元件清单 (19)四、程序清单1、第一片GAL (21)2、第二片GAL (23)五、测试与调整1、单元电路测试 (25)2、整体指标测试 (26)3、测试结果 (26)六、设计总结1、设计任务完成情况 (27)2、问题及改进 (27)3、心得体会 (28)3一、系统结构与技术指标1.系统功能要求密码锁:用数字键方式输入开锁密码,输入密码时开锁;如果输入密码有误或者输入时间过长,则发出警报。

密码锁的系统结构框图如下图所示,其中数字键盘用于输入密码,密码锁用于判断密码的正误,也可用于修改密码。

开锁LED1亮表示输入密码正确并开锁,报警LED2亮表示密码有误或者输入时间超时。

开锁green 键盘密码锁错误red42.性能和电气指标2.1 开锁密码为8位十进制数字,由按键输入,按“确认”键后,输入的数字有效。

2.2 输入的8位数字与预设的密码相同时开锁,用绿灯亮,红灯灭表示。

数据有误时或输入的密码时间过长即报警,红灯亮。

2.3 输入的数字间隔时间小于或等于15s。

超过时限则报警,同时电子锁复位。

2.4 具有手动、自动复位功能。

3. 设计条件3.1 电源条件:稳压电源提供+5V电压。

实验四 电子密码锁的设计

实验四 电子密码锁的设计

实验四电子密码锁的设计一、实验任务及要求设计一个通用电子密码锁,其具体功能要求如下:(1)数码输入:每按下一个数字健,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。

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

(3)密码更改:按下此键时会将目前的数字设定成新的密码。

(4)激活电锁:按下此键可将密码锁上锁。

(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。

二、设计原理1、接口设计根据系统功能,具体输入输出接口设计如图3-7-1所示。

LockKEYIN[11..0]ENLOCKCLKLED_DATA[15..0]RST图3-7-1电子密码锁输入输出接口图输入信号:CLK是1KHz的时钟信号,KEYIN[11..0]是模拟键盘输入信号,RST是清零输入信号。

输出信号:ENLOCK是上锁指示灯(点亮代表已上锁)。

LED_DATA[15..0]是密码显示输出,直接接在七段数码管上显示。

2、系统构成通用电子密码锁一般由三个部分组成:数字密码输入部分、密码锁控制部分和密码锁显示部分。

数字密码输入部分一般用键盘加防抖动电路和键盘译码电路组成。

这里结合SE-3实验箱,采用十二路开关来模拟0~9十个数字和加锁按钮、解锁按钮。

输入部分由输入译编码器组成,用四位信号来模拟十二个数字信号。

密码锁控制部分包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路,密码核对,解锁电路等。

该部分由加/解锁和密码输入两个进程组成。

密码锁显示模块由七段数码管译码器组成,将要显示的BCD码转换为数码管的七段显示码。

系统总体结构框图如图3-7-2所示。

图3-7-2电子密码器结构图3、VHDL参考程序如下:(1)密码输入电路:KEYBOARD.VHD--KEYBOARD.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYKEYBOARDISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);DA TA_N:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:OUTSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:OUTSTD_LOGIC);ENDENTITYKEYBOARD; ARCHITECTUREARTOFKEYBOARDISSIGNALN,F:STD_LOGIC_VECTOR(3DOWNTO0); SIGNALFN:STD_LOGIC;BEGINDA TA_N<=N;DA TA_F<=F;FLAG_N<=FN;PROCESS(CLK,KEYIN)BEGINIFCLK'EVENTANDCLK='1'THENCASEKEYINISWHEN"100000000000"=>N<="0000";--0 WHEN"010*********"=>N<="0001";--1 WHEN"001000000000"=>N<="0010";--2 WHEN"000100000000"=>N<="0011";--3 WHEN"000010000000"=>N<="0100"; --4 WHEN"000001000000"=>N<="0101";--5 WHEN"000000100000"=>N<="0110";--6 WHEN"000000010000"=>N<="0111";--7 WHEN"000000001000"=>N<="1000";--8 WHEN"000000000100"=>N<="1001";--9 WHENOTHERS=>N<="1111";ENDCASE;ENDIF;IFCLK'EVENTANDCLK='1'THENCASEKEYINIS WHEN"000000000010"=>F<="1010";--*LOCK WHEN"000000000001"=>F<="0101";--#_UNLOCK WHENOTHERS=>F<="0000";ENDCASE;ENDIF;ENDPROCESS;FN<=NOT(N(3)ANDN(2)ANDN(1)ANDN(0)); ENDARCHITECTUREART;(2)密码锁控制电路:CTRL.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYCTRLISPORT(DATA_N:INSTD_LOGIC_VECTOR(3DOWNTO0); DA TA_F:INSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:INSTD_LOGIC;CLK:INSTD_LOGIC;RST:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYCTRL; ARCHITECTUREARTOFCTRLiSSIGNALACC,REG:STD_LOGIC_VECTOR(15DOWNTO0); SIGNALNC:STD_LOGIC_VECTOR(2DOWNTO0); SIGNALQA,QB:STD_LOGIC;BEGINPROCESS(FLAG_N,RST)ISBEGINIFRST='1'THENACC<="0000000000000000";NC<="000";ELSEIFFLAG_N'EVENTANDFLAG_N='1'THENIFNC<4THENACC<=ACC(11DOWNTO0)&DA TA_N;NC<=NC+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,DATA_F,NC)ISBEGINIF(CLK'EVENTANDCLK='1')THENIFNC=4THENIF(DATA_F="1010")THENREG<=ACC;QA<='1';QB<='0';ELSIF(DATA_F="0101")THENIFREG=ACCORACC="1000100010001000"THENQA<='0';QB<='1';ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENLOCK<=QAANDNOTQB;DA TA_BCD<=ACC;ENDARCHITECTUREART;(3)总程序:LOCK.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLOCKISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);RST:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));END;ARCHITECTUREXOFLOCKISCOMPONENTKEYBOARDISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);DA TA_N:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:OUTSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTCTRLISPORT(DATA_N:INSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:INSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:INSTD_LOGIC;CLK:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;RST:INSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDCOMPONENT;SIGNALDAT_N,DAT_F:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALFLA_N:STD_LOGIC;BEGINU1:KEYBOARDPORTMAP(CLK,KEYIN,DAT_N,DA T_F,FLA_N);U2:CTRLPORTMAP(DAT_N,DA T_F,FLA_N,CLK,ENLOCK,RST,DATA_BCD);END;三、设计说明与建议1.用SE-3实验箱上的按键S1~SC作为输入信号,具体引脚分配建议:数字键KEYIN2~KEYIN11(36~41、45~48)、解锁键KEYIN0(34)、加锁键KEYIN1(35)、复位键(49)、时钟输入脚CLK(20)。

电子密码锁实验报告

电子密码锁实验报告

密码锁实验报告一,实验目的1. 学习8051定时器时间计时处理、跑马灯、按键扫描及LED数码管显示的设计方法。

2. 设计任务及要求利用实验平台上8个LED数码管,按键,跑马灯实现设置密码,密码锁的功能二,实验要求基本要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。

2:可以自行设定或删除8位密码。

3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。

三,实验基本原理利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20。

为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

四,实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

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

密码锁设计报告摘要:本系统是由键盘和报警系统所组成的密码锁。

系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。

关键字:数字密码锁 GAL16V8 28C64 解锁与报警1目录:一、系统结构与技术指标1、系统功能要求 (4)2、性能和电气指标 (5)3、设计条件 (5)二、整体方案设计1、密码设定 (6)2、密码判断 (6)3、密码录入和判断结果显示 (6)4、系统工作原理框面 (7)三、单元电路设计1、键盘录入和编码电路图 (8)2、地址计数和存储电路 (12)3、密码锁存与比较电路 (12)24、判决与结果显示电路 (14)5、延时电路 (15)6、复位 (17)7、整机电路图 (19)8、元件清单 (19)四、程序清单1、第一片GAL (21)2、第二片GAL (23)五、测试与调整1、单元电路测试 (25)2、整体指标测试 (26)3、测试结果 (26)六、设计总结1、设计任务完成情况 (27)2、问题及改进 (27)3、心得体会 (28)3一、系统结构与技术指标1.系统功能要求密码锁:用数字键方式输入开锁密码,输入密码时开锁;如果输入密码有误或者输入时间过长,则发出警报。

密码锁的系统结构框图如下图所示,其中数字键盘用于输入密码,密码锁用于判断密码的正误,也可用于修改密码。

开锁LED1亮表示输入密码正确并开锁,报警LED2亮表示密码有误或者输入时间超时。

开锁green 键盘密码锁错误red42.性能和电气指标2.1 开锁密码为8位十进制数字,由按键输入,按“确认”键后,输入的数字有效。

2.2 输入的8位数字与预设的密码相同时开锁,用绿灯亮,红灯灭表示。

数据有误时或输入的密码时间过长即报警,红灯亮。

2.3 输入的数字间隔时间小于或等于15s。

超过时限则报警,同时电子锁复位。

2.4 具有手动、自动复位功能。

3. 设计条件3.1 电源条件:稳压电源提供+5V电压。

3.2 可供选择的元器件如表1-1所示型号名称及功能74374 锁存器28C64 EEPROM 存贮器7485 4位比较器74161 4位二进制计数器74164 8位移位寄存器GAL16V8 可编程逻辑器件F555 定时器74123 可重触发器表1-1 器件单门电路、电阻、电容以及发光二极管自定。

二、整体方案设计1密码设定按照自己的学号设定密码,将密码预先存如28c64芯片中。

我的学号是10001823,写入28c64中的数据为01 0A 0A 0A 01 08 02 032密码判断通过4为比较器对预先存如的密码及手动在键盘上输入的密码逐个进行比较,把结果送入8为移存器进行结果判别3密码录入和判别结果显示6每输入一位密码,比较器就比较一次,并且把结果送如移存器进行移存,8位的比较结果送到GAL,判决是否正确,并开锁或报警。

设定密码时,每输入一位,计数器加一。

4系统工作原理框图整体方案如下:7三、单元电路设计1. 键盘录入和编码电路图由于键盘有0~9,而ROM中数据以十进制存储,则要将案件进行10进制到2进制的转换。

使用可编程逻辑器件GALl16V8,电路非常简单,连线少,比较实用。

将按键编号和输出四位二进制码相对应,列出真值表(表3-1)。

序号按键D0 D1 D2 D30 A0 1 0 1 01 A1 0 0 0 12 A2 0 0 1 03 A3 0 0 1 14 A4 0 1 0 05 A5 0 1 0 186 A6 0 1 1 07 A7 0 1 1 18 A8 1 0 0 09 A9 1 0 0 1根据真值表,用CUPL语言写出逻辑关系:D3=A0#A8#A9;D2=A4#A5#A6#A7;D1=A0#A2#A3#A6#A7;D0=A1#A3#A5#A7#A9;电路设计:每个键按下,产生一个高电平脉冲,并把按下的数字键译码输出9锁存时序图4. 判决与结果显示经过7485,只能比较密码的1位,使用移存器就能将比较结果先储存,经过8个脉冲周期后同时输出。

为节约GAL16V8的I/O 口,可使用一片7485,先将5位比较结果处理,剩下的三位接到GAL,再比较。

在密码全部输入后,要按下“确认”键,则GAL判断密码是否正确。

数据经7485等后,数据到达74164时,数据有一定的延时。

假如74164的时钟=CP,当第一的CP到来时,第一位的比较结果还没从7485出来,即第一位锁进的不是第一位的比较结果。

所以,1417图 3-6-2 74123工作时序在复位后,OT=0,开始输入后,当间隔时间小于15s 时,OT=1,当间隔时间大于15s 时,OT=0。

由于74123受控制较弱,所以在实际链接电路的时候增加了一块74161做触发器,使得触发稳定切周期不变。

6、复位复位功能包括手动复位和自动复位。

手动复位:清除输入密码,将所有寄存器归零。

则将74161、74164、74123、7474的清零端全部接在一起,复位键(RS )按下,GAL 清零端CLR 输出一个低电平脉冲,方程为:CLR=!RS 。

自动复位:如解锁完毕(即密码输入完成后,按下“ENT ” ),开锁或报警后,所有寄存器清零。

若将方程写成CLR=!ENT,此时是组合逻辑输出,一按下“ENT”,就复位了,此时报警结果还没输出,74164全零输入,则肯定会报警,失去密码锁判断的意义。

所以复位一定在正确解锁后开始,可以借助GAL内部的触发器来完成这个功能:CLR.D=!ENT。

GAL的时钟任为555的输出时钟,几hz的脉冲。

则在开锁后几百ms后复位,开锁是个瞬时动作即可。

为方程式的简洁,复位方程可表示为:CLR.D=!(ENT#RS),此时手动复位稍有延迟(ms级),在实际应用中,延时是完全可以忽略的。

187、整体电路8、所用元件清单本设计除了老师建议的一些芯片,我还使用了少量其他数字芯片,完成了要求外的一些指标,使用的芯片如下:19型号名称及功能数量74374 锁存器 128C64 EEPROM 存贮器 17485 4位比较器 174161 4位二进制计数器 274164 8位移位寄存器 1GAL16V8 可编程逻辑器件 2F555 定时器 1按键开关输入密码 274123 可重触发器 1LED发光二极管显示译码是否成功 1电容、电阻、导线若干,面包板一块。

20电子电路课程设计报告2121四、程序清单设计中使用2片GAL16V8,第一片主要用于译码,第二片主要用于控制。

1.第一片GAL功能:键盘解码,产生时序电路需要的CP及CP2管脚连接及命名:cp KEY0 KEY1 KEY2 KEY3 KEY4 KEY5 KEY6 KEY7 GND VCC OUT4 OUT3 OUT2 OUT1 CP1 KEY9 KEY8 CP2 GND电子电路课程设计报告2222Name : GAL23;Date : 2012-11-28;Revision : 1.3 ;Designer : ZHUZI;Company : NJUPT;/******INPUT********/PIN[1,11,12,15]=[CP,!OE,CP2,CP1];PIN[2,3,4,5,6,7,8,9,13,14]=[KEY0,KEY1, KEY2, KEY3 KEY4, KEY5, KEY6, KEY7, KEY8, KEY9];/******OUTPUT******/PIN[16,17,18,19]=[OUT1,OUT2,OUT3,OUT4];/******EQUATIONS*****/OUT4=KEY0#KEY8#KEY9;OUT3=KEY4#KEY5#KEY6#KEY7;OUT2=KEY0#KEY2#KEY3#KEY6#KEY7;OUT1=KEY1#KEY3#KEY5#KEY7#KEY9;CP.D=OUT1#KEY0#KEY2#KEY4#KEY6#KEY8;CP2=!CP;电子电路课程设计报告2323 /******END ****/2.第2片GAL功能:处理密码比较结果、延时判断处理、控制28C64的读写操作、开锁和报警输出、电路复位管脚连接及命名:Name : GAL23; Date : 2012-11-29; Revision : 1.3 ; Designer : ZHUZI;CP D1 D2 D3 D4 D5 D6 D7 D8 OTVCC RED GREEN RENTER RST DELAY OECompany : NJUPT;/******INPUT********/PIN[1,11]=[CP,!OE];PIN[2,3,4,5,6,7,8,9]=[D1,D2,D3,D4,D5,D6,D7,D8];PIN 12=DELAY;PIN 14=RENTER;PIN 13=RST;PIN 10=OT;/******OUTPUT******/PIN 15=GREEN;PIN 16=RED;/******EQUATIONS*****/Q=D1&D2&D3&D4&D5&D6&D7&D8GREEN.D=Q&ENTER;RED.D=!Q&ENTER/******END ****/24五、测试与调整1.单元测试10进制数字输入测试:先复位,再按住数字键,用示波器检测第一片GAL的19~16脚,打开1号开关即KEY0,检测到D0D1D2D3=0101,则译码正确,以此类推,输入0~9,GAL输出全部测试正确。

CP脉冲测试:将CP接到示波器一个通道观察,在有键按下时,观察到脉冲。

由低电平跳变至高电平,且cp1与cp2相反密码比较测试:1. 复位后,依次输入正确密码(10001823),用示波器观察第一片7485的第6脚,若全为高,则正确,8位密码输入完毕后,测试74164的移存输出脚,若全为1,则正确。

2. 输入错误密码1001822,7485在输入错误密码后,输出为0,且8位输入完毕后,74164的输出管脚中,第三脚为0,其余为1。

则电路没有问题。

25延时判断测试:1.用示波器观察74123的输出管脚第13脚,复位时,输出为0,当有键按下,输出跳变为1,并保持。

15秒内无键按下,则输出跳变为0,在15秒内有键按下,则输出一直保持高电平。

则延时电路没有问题。

2整体测试1.按下“复位”键,看到数码管立即显示为0,用示波器测试74161、74164、74123的输出端全为低电平。

说明手动复位功能正常。

2.输入正确密码10001823后,按下“ENT”,看到绿灯亮,输入错误密码07040400后,按下“ENT”,看到红灯亮。

说明密码判断正确。

3.复位后,按下第一位密码0,不再按任何键,15秒后,红灯亮。

相关文档
最新文档