课程设计电子密码锁(附原理图及pcb)

合集下载

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

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

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

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

关键字:数字密码锁 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电压。

电子技术课程设计报告电子密码锁

电子技术课程设计报告电子密码锁

电子技术课程设计报告电子密码锁电子技术课程设计报告设计课题:电子密码锁电子密码锁一、引言随着人们生活水平的提高,人们对自己的生活有了越来越高的要求,贵重物品也越来越多,而传统的机械安全锁由于其构造的简单,被撬被盗事件在我们身边经常发生,使我们的财产以及人身安全存在很大的安全隐患,这致使我们寻求更好的安全措施。

电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。

而且密码锁的形式多样,有声控密码锁,电子密码锁等,社会上大多使用电子按键密码锁。

本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安全工作,具有较高的安全系数。

要求电子器件设计制作密码锁的控制电路,使之在规定的时间内输入正确的密码时,输出信号以开启密码锁,否则报警电路报警。

本设计用红、绿LED指示关锁、开锁状态和报警状态。

二、设计任务1、密码锁控制器中存储一个4位代码,当锁按钮开关设置8位(其中只有4位有效)的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮表示开锁状态。

2、从第一个按钮触动后的15秒内若未能将锁打开,则报警电路发报警信号,同时用绿灯灭表示关锁状态。

3、要求性能可靠、操作简便。

4、密码锁控制器中存储的4位密码可以修改。

5、分析部件见工作原理,绘制电路图,进行仿真制作实物并撰写设计报告。

三、设计方案方案一:用开关控制可控硅整端口的电压变化即导通,按依次按下四个开关,其功能相当于给可控硅一个高电平触发,四个可控硅整流器依次导通,整条回路导通,发光二极管亮,而发光二极管亮即表示输入的密码为正确密码,电路达到密码锁开锁功能。

设计8位按键只有4位是正确的,如果按下4位伪码的其中一位即按下的其中一个或几个,控制报警电路可控硅导通。

此时开锁部分悬空,报警报警方案二;采用STC89C52单片机为芯片主体,采用AT24C08为掉电存储器的芯片,用单片机的P1口作为接4 ×4 键盘按键的检测按键,P0口实现数码管的按键显示,以及错误信息,单片可以进行位操作,P2口组成报警电路,密码修改电路和AT24C08的掉电保护等其他相关功能。

密码锁课程设计文档

密码锁课程设计文档

1 密码锁设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务设计一个具有特定功能的密码锁。

该密码锁上电或按键复位后能自动显示系统提示符“P .”, 进入准备工作状态。

该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。

1.2 设计课题总体方案介绍及工作原理说明(1)原始密码的设定,此密码是固定在程序存储器ROM 中,假设预设的密码为“88888888”共8位密码。

(2)密码的输入: 采用按键来完成密码的输入,输入时密码处于显示保密状态,输入八位密码后,自动结束输入,并判断其正确性 。

(3)密码若输入错误,显示输入错误提示信息,密码输入正确后,可以用键盘任意输入数字,若按下第十一个按键,则进入修改密码。

(4)密码修改:可以任意输入“0-9”中的八位数字作为密码,密码输入时处于保密显示状态,修改密码必修两次输入密码,八位密码输入结束确认后显示密码已保存。

电源.下载电路复位电路行列式键盘电路单片机晶振电路液晶显示电路存储电路图1 设计总电路框图2 密码锁硬件系统设计2.1 设计课题硬件系统各模块功能简单介绍此次课程设计是基于单片机控制的电子密码锁,结合主要设计条件,本设计由单片机系统、行列式键盘、液晶12864显示和AT24C02掉电保护系统组成,系统能完成开锁、错误显示、密码修改、掉电保护等功能,设计硬件系统如下: (1)单片机系统:此次课程设计采用以AT89S52单片机为核心的控制方案,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。

本次设计用单片机的P1口与行列式键盘相连,作为密码的输入。

P0口与LCD12864相连,来控制液晶显示屏。

(2)行列式键盘接口电路:此次课程设计采用行列式键盘,将按键的一端相连后接至单片机的P1口的低四位,把按键的另一端相连接到单片机P1口的高四位,用扫描法进行键盘扫描。

课程设计:电子密码锁(附原理图及PCB)

课程设计:电子密码锁(附原理图及PCB)

课程设计:电子密码锁(附原理图及PCB)电子密码锁摘要:本设计是通过判断输入密码正确与否从而控制相应电路工作,完成开锁、报警、锁定键盘等任务的电子密码锁。

它具有预设密码功能,超时报警功能,键盘锁定功能,错误提示功能等。

预设密码和输入密码是用两个八位的锁存器实现,密码判断是由数值比较器电路组成,超时报警功能是用NE555所构成的单稳态触发器实现,超时次数及密码错误次数由计数电路记录,而键盘锁定功能则是通过电路的逻辑关系巧妙控制锁存器的输出使能端实现的。

关键词:电子锁,密码锁,键盘锁定,报警电路Abstract:This design is to control the corresponding circuit by judging the password correctly or not work, do lock, alarm, lock the keyboard and other electronic combination lock. It has default password function, timeout alarm function, and key lock function, error function, etc. Default password and enter the password is to use two of the eight latch, password is consist of numeric comparator circuit, timeout alarm function is formed by using NE555 monostable trigger, timeout number and password error number recorded by counting circuit, and key lock function is through the logical relationship of the circuit can control the output of the latch makes the server-side implementation.Keywords:Electronic lock ,Combination lock,Keyboard lock, warning circuit.目录1 前言 (1)1.1 设计背景 (1)1.2 设计概述 (1)2 总体方案设计 (3)2.1 程序框图 (3)2.2 电路分析 (4)3 单元模块设计 (5)3.1 密码锁存电路 (5)3.2 密码判断电路 (7)3.3 计数器电路 (8)3.4 计时器电路 (9)3.5电路参数的计算及元器件的选择 (13)3.6 各单元模块的联接 (13)4 系统调试 (14)4.1 仿真电路总图 (14)4.2系统仿真参数设置 (14)4.3 功能调试 (17)4.4 调试结果分析 (23)5 系统功能、指标参数 (25)5.1 系统实现的功能 (25)5.2 系统指标参数测试 (25)6 结论 (26)7 设计总结 (27)7.1 设计的收获体会 (27)7.2 对设计的进一步完善提出意见或建议 (27)8 致谢 (28)9 参考文献 (29)附录1:电子密码锁的仿真总图 (31)附录2:电子密码锁的PCB图 (33)1 前言1.1 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。

电子密码锁课程设计

电子密码锁课程设计

电子密码锁设计1.1 设计要求利用单片机作为控制核心,完成一个电子密码锁可以修改密码设计具体要求如下:1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345共6位密码;2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。

输入确认功能键之后,才能完成密码的输入过程。

进入密码的判断比较处理状态并给出相应的处理过程;3、密码输入正确按确认键,绿灯亮,输入密码错误、红灯亮蜂鸣器响。

1.2 设计内容:1、设计合理、正确的方案;2、系统硬件设计及焊接制作;3、系统软件设计及调试;4、系统联调。

1.3 主要设计条件:1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件;3、单片机应用系统板1套;4、系统设计所需的元器件。

2 方案论证与对比2.1 方案一采用数字电路控制,其原理方框图如1-1所示。

键盘输入开锁电路密码校验电路执行电路限时报警消除报警信号正确开锁市电供电电路电子切换开关充电电路蓄电池断电检测220V 6V 电源Vcc图1-1 数字电路控制图采用数字密码锁电路的好处就是设计简单。

用74LS112双JK 触发器构成的数字逻辑电路做为密码锁的核心控制,共设了9用户输入键,其中只有5个是有效的密码按键,其它的都是干扰按键,如果按下干扰按键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入,。

电路有两大部分组成:密码锁电路和备用电源,其中备用电源是防止停电造成的密码锁电路失效,是用户免遭麻烦。

密码锁电路包含:键盘输入,密码检测,开锁电路,执行电路,报警电路。

2.2.1单片机系统:此次课程设计采用一种是用以STC98C52为核心的单片机控制方案。

利用单片机灵活编程设计和丰富的I/O 端口,及其控制的准确性,进行电子密码锁的设计。

此次课题用8255课编程芯片的PC 口与键盘相连,做输入口,PA,PB 口与数码管相连,做显示。

2.2.2矩阵键盘接口电路:此次课程设计采用4*4矩阵键盘,与PC 相连,采用扫描法。

EDA课程设计 ——3位电子密码锁

EDA课程设计 ——3位电子密码锁

EDA课程设计报告电子密码锁设计学校:海南大学院(系):信息学院专业:通信一班学生姓名:学号:组员:指导教师:——2013年6月13日目录目录 (1)一.概述 (2)二.设计要求 (2)三.总体框图 (2)四.功能模块 (3)4.1 输入模块 (3)4.2 控制模块 (6)4.5显示模块 (11)五.总体设计电路图 (13)六.设计心得体会 (14)一.概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。

讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。

二.设计要求本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。

设计所要实现的功能为:1 数码输入:手动输入3组四位二进制密码。

2 数码验证:开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCK灯亮,表示开锁成功。

3 错误显示:当密码输入错误时,LOCK灯亮,LOCK灭,表示开锁失败。

4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。

5 密码清除:按下RST可清除前面的输入值,清除为“000”。

三.总体框图1)设计方案:电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。

作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。

拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。

数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。

液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。

单片机控制的电子密码锁(电路图 流程图 原理图)-课程设计

单片机控制的电子密码锁(电路图 流程图 原理图)-课程设计

单片机控制的电子密码锁(电路图+流程图+原理图)-课程设计单片机控制的电子密码锁(电路图+流程图+原理图) 摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。

系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。

除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。

本系统成本低廉,功能实用关键词:AT89S51,AT24C02, 电子密码锁,矩阵键盘一、引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。

设计本课题时构思了两种方案:一种是用以AT89s51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。

考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,所以本文采用前一种方案。

二、方案论证与比较方案一:采用数字电路控制。

其原理方框图如图1-1所示。

图2-1 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。

电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。

密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。

方案二:采用一种是用以AT89S51为核心的单片机控制方案。

电子密码锁的课程设计

电子密码锁的课程设计

电子密码锁的课程设计 SANY GROUP system office room 【SANYUA16H-电子技术基础课程设计说明书题目:电子密码锁的设计摘要本文要求用电子器件设计制作一个电子密码锁的控制电路,使之输入正确的代码时,锁自动打开;当输入密码不正确时,电路自动报警并复位,并且利用了一些附加电路保证了电路的正常工作,使电路拥有了极高的安全系数。

本文首先对电子密码锁的基础知识进行了详细说明,然后详细分析了电子密码锁的工作原理,各组成部分的作用。

关键词:电子密码锁D触发器Multisim10Abstract Thisrequirementisdesignedtouseelectronicdevicesofanelectroniclockcontrolcircuittomakeitent erthecorrectcode,thelockopensautomatically;whentheinputpasswordisincorrectwhentheautoma ticalarm,andresetthecircuit,andtheuseofsomeadditionalcircuitrytoensurethecircuitnormalwork, sothatthecircuithasaveryhighsafetyfactor.Inthispaper,theelectroniclockofthebasicknowledgeof adetailedexplanation,andthenadetailedanalysisoftheelectroniccodelockworks,theroleofthevario uscomponents.Keywords:ElectronicCodeLock,Dflip-flop Multisim10目录一设计任务 (1)1.1设计目的和意义 (1)-1--1-1.2初始参数和要求 (2)1.2.1初始参数 (2)1.2.2要求 (2)二系统设计 (3)2.1系统工作原理 (3)2.1.1.电路结构框图 (3)2.1.2.电路工作原理..................................................................................................................-3-2.1.3.电路原理图 (4)2.2器件选择 (4)2.3电路设计 (7)密码电路的设计 (7)置零电路及报警电路设计 (8)延时电路设计 (8)2.4电路仿真测试 (8)三总结 (9)3.1结论 (9)3.2优点与不足 (9)3.3心得与体会 (9)参考文献 (10)感谢 (10)一设计任务1.1设计目的和意义设计一种用开关控制D触发器的翻转,达到密码开锁的电子密码锁的数字逻辑电路。

电子技术课程设计报告电子密码锁

电子技术课程设计报告电子密码锁

电子技术课程设计报告设计课题:电子密码锁电子密码锁一、设计任务与要求1.掌握PCB制板技术2.掌握电子密码锁的原理及其应用3.作好焊接及检查二、方案设计与论证1.方案一采纳单片机芯片,和CD系列,CD4043,CD4082,CD4066组合模式,而用按键开关作为输进端口,共需要10个开关分不作为123456789#*。

工作原理:10位输进按键中,.9.0为有效按键,2.3.4.6.7为伪码键。

密码输进由密码键和输进电路IC1来完成。

密码操纵电路为IC2。

电路欲设密码为05198。

在密码输进按键中,SB0操纵着IC2的电源提供并使IC2开机时复位,同时通过RP、C1设定了10秒的限时功能。

当按下SB0后必须在10秒内完成密码的输进操作,否那么无效。

按键SB5与IC2的置位端1S相连,按下SB5时,IC2的1Q输出高电平。

按键SB1,SB9,SB8分不与IC1的S1、S2、S3的一个输进端相连。

S1,S2,S3的输出端分不连接着IC2的2S,3S和0S。

当顺序按下SB1,SB9,SB8时,IC2DE2Q、3Q、0Q输出高电平。

IC2的1R~0R并联后通过电阻R6接低电平,1S、2S、3S、0S分不通过电阻R5~R2接低电平。

伪码键SB2、SB3、SB4、SB6、SB7的一端并联后接到IC2的0R~3R,当按下其中任何一键后,IC2的4个D触发器全部复位,往常按下的有效键全部失效。

C1、RP组成10秒限时电路,当按下SB0后,电源经SB0、VD1向C1充电,当充到接近电源电压时,IC2的S4接通,IC2的VDD通过S4得到工作电流。

松开SB0后,C1通过RP放电,放电时刻为10秒,10秒后S4断开,IC2失电。

IC3为2-4输进与门电路CD4082,当IC2的4个输出端均为高电平常,IC3的1足输出高电平并使R7使VT导通,继电器吸合。

操作过程:按照电路设定密码05198的顺序按下密码键。

当按下SB0后,电源经SB0路通过VT1向C1充电,当C1充电至S4的接通电压后,S4接通,电源经S4加至IC2的VDD。

课程设计:电子密码锁(附原理图及PCB)

课程设计:电子密码锁(附原理图及PCB)

课程设计:电子密码锁(附原理图及PCB)电子密码锁摘要:本设计是通过判断输入密码正确与否从而控制相应电路工作,完成开锁、报警、锁定键盘等任务的电子密码锁。

它具有预设密码功能,超时报警功能,键盘锁定功能,错误提示功能等。

预设密码和输入密码是用两个八位的锁存器实现,密码判断是由数值比较器电路组成,超时报警功能是用NE555所构成的单稳态触发器实现,超时次数及密码错误次数由计数电路记录,而键盘锁定功能则是通过电路的逻辑关系巧妙控制锁存器的输出使能端实现的。

关键词:电子锁,密码锁,键盘锁定,报警电路Abstract:This design is to control the corresponding circuit by judging the password correctly or not work, do lock, alarm, lock the keyboard and other electronic combination lock. It has default password function, timeout alarm function, and key lock function, error function, etc. Default password and enter the password is to use two of the eight latch, password is consist of numeric comparator circuit, timeout alarm function is formed by using NE555 monostable trigger, timeout number and password error number recorded by counting circuit, and key lock function is through the logical relationship of the circuit can control the output of the latch makes the server-side implementation.Keywords:Electronic lock ,Combination lock,Keyboard lock, warning circuit.目录1 前言 (1)1.1 设计背景 (1)1.2 设计概述 (1)2 总体方案设计 (3)2.1 程序框图 (3)2.2 电路分析 (4)3 单元模块设计 (5)3.1 密码锁存电路 (5)3.2 密码判断电路 (7)3.3 计数器电路 (8)3.4 计时器电路 (9)3.5电路参数的计算及元器件的选择 (13)3.6 各单元模块的联接 (13)4 系统调试 (14)4.1 仿真电路总图 (14)4.2系统仿真参数设置 (14)4.3 功能调试 (17)4.4 调试结果分析 (23)5 系统功能、指标参数 (25)5.1 系统实现的功能 (25)5.2 系统指标参数测试 (25)6 结论 (26)7 设计总结 (27)7.1 设计的收获体会 (27)7.2 对设计的进一步完善提出意见或建议 (27)8 致谢 (28)9 参考文献 (29)附录1:电子密码锁的仿真总图 (31)附录2:电子密码锁的PCB图 (33)1 前言1.1 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。

数字逻辑电路课程设计电子密码锁

数字逻辑电路课程设计电子密码锁

数字逻辑电路课程设计课题:电子密码锁设计姓名:班级:13通信学号:成绩:指导教师:开课时间:目录摘要 (1)一课程设计目的内容及安排 (2)1.1设计目的 (2)1.2设计内容 (2)1.3设计安排 (2)1.4设计内容 (2)二电子密码锁设计要求及总框图 (3)2.1设计要求 (3)2.2总框图 (4)三各模块电路设计 (5)3.1密码输入存储比较模块 (5)3.2五秒计时电路 (6)3.3二十秒计时电路 (8)3.4报警电路 (10)3.5总电路 (11)四设计心得 (12)五参考文献 (13)电子密码锁摘要:设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。

密码输入存储及比较部分使用芯片74LS194及74LS85。

五秒及时部分采用芯片74LS161和数码显示管。

二十秒报警电路由74LS160,555定时器组成的多谐振荡器,LED灯和蜂鸣器组成。

利用multisim对电路进行仿真可以得到结果。

关键词:电子密码锁,计时电路,报警电路一课程设计目的内容及安排1.1设计目的1 根据设计要求,完成对交通信号灯的设计。

2 加强对Multisim10仿真软件的应用。

3 掌握交通信号灯的主要功能与在仿真软件中的实现方法。

4 掌握74LS160,74LS192等功能。

1.2 设计内容设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。

(完整word版)电子密码锁设计

(完整word版)电子密码锁设计

电子密码锁设计1 设计任务及要求初始条件:计算机、Max+plusⅡ、EDA实验箱。

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

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

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

提高部分:为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。

2 EDA简介EDA技术是在电子CAD技术基础上发展起来的通用软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA 设计可分为系统级、电路级和物理实现级。

物理级设计主要指IC版图设计,一般由半导体厂家完成;系统级设计主要面对大型复杂的电子产品;而一般民用及教学所涉及基本是电路级设计。

我们常用的EDA软件多属于电路级设计。

电路初级设计工作,是在电子工程师接受系统设计任务后,首先确定设计方案,并选择合适的元器件,然后根据具体的元器件设计电路原理图,接着进行第一次仿真。

其中包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析等。

这一次仿真主要是检验设计方案在功能方面的正确性。

仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线,有条件的还可以进行PCB后分析。

其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反馈回电路图,进行第二次仿真,也称作后仿真。

后仿真主要是检验PCB板在实际工作环境中的可行性。

EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:multiSIM7(原EWB 的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。

单片机:密码锁仿真图+原理图+PCB电路图

单片机:密码锁仿真图+原理图+PCB电路图

单片机密码锁课程设计仿真图原理图部分图代码#include <REG51.h>#include<intrins.h>#define LCM_Data P0#define uchar unsigned char#define uint unsigned int#define w 6 //定义密码位数sbit lcd1602_rs=P2^5;sbit lcd1602_rw=P2^6;sbit lcd1602_en=P2^7;sbit Scl=P3^4; //24C02串行时钟sbit Sda=P3^5; //24C02串行数据sbit ALAM = P2^1; //报警sbit KEY = P3^6; //开锁sbit open_led=P2^2; //开锁指示灯bit operation=0; //操作标志位bit pass=0; //密码正确标志bit ReInputEn=0; //重置输入充许标志bit s3_keydown=0; //3秒按键标志位bit key_disable=0; //锁定键盘标志unsigned char countt0,second; //t0中断计数器,秒计数器void Delay5Ms(void);unsigned char code a[]={0xFE,0xFD,0xFB,0xF7};//控盘扫描控制表unsigned char code start_line[] = {"password: "}; unsigned char code name[] = {"===Coded Lock==="};//显示名称unsigned char code Correct[] = {" correct "};//输入正确unsigned char code Error[] = {" error "};//输入错误unsigned char code codepass[] = {" pass "}; unsigned char code LockOpen[] = {" open "};//OPENunsigned char code SetNew[] = {"SetNewWordEnable"}; unsigned char code Input[] = {"input: "};//INPUTunsigned char code ResetOK[] = {"ResetPasswordOK "};unsigned char code initword[] = {"Init password..."};unsigned char code Er_try[] = {"error,try again!"};unsigned char code again[] = {"input again "};unsigned char InputData[6];//输入密码暂存区unsigned char CurrentPassword[6]={1,3,1,4,2,0};//当前密码值unsigned char TempPassword[6];unsigned char N=0; //密码输入位数记数unsigned char ErrorCont; //错误次数计数unsigned char CorrectCont; //正确输入计数unsigned char ReInputCont; //重新输入计数unsigned char code initpassword[6]={0,0,0,0,0,0};//=====================5ms延时==============================void Delay5Ms(void){unsigned int TempCyc = 5552;while(TempCyc--);}//===================400ms延时==============================void Delay400Ms(void){unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}//=============================================================================================//================================24C02========================================================//=============================================================================================void mDelay(uint t) //延时{uchar i;while(t--){for(i=0;i<125;i++){;}}}void Nop(void) //空操作{_nop_();_nop_();_nop_();_nop_();}/*起始条件*/void Start(void){Sda=1;Scl=1;Nop();Sda=0;Nop();}/*停止条件*/void Stop(void){Sda=0;Scl=1;Nop();Sda=1;Nop();}/*应答位*/void Ack(void){Sda=0;Nop();Scl=1;Nop();Scl=0;}/*反向应答位*/void NoAck(void){Sda=1;Nop();Scl=1;Nop();Scl=0;}/*发送数据子程序,Data为要求发送的数据*/void Send(uchar Data){uchar BitCounter=8;uchar temp;do{temp=Data;Scl=0;Nop();if((temp&0x80)==0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--;}while(BitCounter);Scl=0;}/*读一字节的数据,并返回该字节值*/uchar Read(void){uchar temp=0;uchar temp1=0;uchar BitCounter=8;Sda=1;do{Scl=0;Nop();Scl=1;Nop();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1){temp1=temp<<1;temp=temp1;}BitCounter--;}while(BitCounter);return(temp);}void WrToROM(uchar Data[],uchar Address,uchar Num){uchar i;uchar *PData;PData=Data;for(i=0;i<Num;i++){Start();Send(0xa0);Ack();Send(Address+i);Ack();Send(*(PData+i));Ack();Stop();mDelay(20);}}void RdFromROM(uchar Data[],uchar Address,uchar Num){uchar i;uchar *PData;PData=Data;for(i=0;i<Num;i++){Start();Send(0xa0);Ack();Send(Address+i);Ack();Start();Send(0xa1);Ack();*(PData+i)=Read();Scl=0;NoAck();Stop();}}//==================================================================================================//=======================================LCD1602====================================================//==================================================================================================#define yi 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)//----------------延时函数,后面经常调用----------------------void delay(uint xms)//延时函数,有参函数{uint x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);}//--------------------------写指令---------------------------write_1602com(uchar com)//****液晶写入指令函数****{lcd1602_rs=0;//数据/指令选择置为指令lcd1602_rw=0; //读写选择置为写P0=com;//送入数据delay(1);lcd1602_en=1;//拉高使能端,为制造有效的下降沿做准备delay(1);lcd1602_en=0;//en由高变低,产生下降沿,液晶执行命令}//-------------------------写数据-----------------------------write_1602dat(uchar dat)//***液晶写入数据函数****{lcd1602_rs=1;//数据/指令选择置为数据lcd1602_rw=0; //读写选择置为写P0=dat;//送入数据delay(1);lcd1602_en=1; //en置高电平,为制造下降沿做准备delay(1);lcd1602_en=0; //en由高变低,产生下降沿,液晶执行命令}//-------------------------初始化-------------------------void lcd_init(void){write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);//开显示不显示光标write_1602com(0x06);//整屏不移动,光标自动右移write_1602com(0x01);//清显示}//========================================================================================//=========================================================================================//==============将按键值编码为数值=========================unsigned char coding(unsigned char m){unsigned char k;switch(m){case (0x11): k=1;break;case (0x21): k=2;break;case (0x41): k=3;break;case (0x81): k='A';break;case (0x12): k=4;break;case (0x22): k=5;break;case (0x42): k=6;break;case (0x82): k='B';break;case (0x14): k=7;break;case (0x24): k=8;break;case (0x44): k=9;break;case (0x84): k='C';break;case (0x18): k='*';break;case (0x28): k=0;break;case (0x48): k='#';break;case (0x88): k='D';break;}return(k);}//=====================按键检测并返回按键值===============================unsigned char keynum(void){unsigned char row,col,i;P1=0xf0;if((P1&0xf0)!=0xf0){Delay5Ms();Delay5Ms();if((P1&0xf0)!=0xf0){row=P1^0xf0; //确定行线i=0;P1=a[i]; //精确定位while(i<4){if((P1&0xf0)!=0xf0){col=~(P1&0xff); //确定列线break; //已定位后提前退出}else{i++;P1=a[i];}}}else{return 0;}while((P1&0xf0)!=0xf0);return (row|col); //行线与列线组合后返回}else return 0; //无键按下时返回0}//=======================一声提示音,表示有效输入========================void OneAlam(void){ALAM=0;Delay5Ms();ALAM=1;}//========================二声提示音,表示操作成功========================void TwoAlam(void){ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;}//========================三声提示音,表示错误========================void ThreeAlam(void){ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;}//=====================显示输入的N个数字,用H代替以便隐藏============================void DisplayOne(void){// DisplayOneChar(9+N,1,'*');write_1602com(yi+5+N);write_1602dat('*');}//=======================显示提示输入=========================void DisplayChar(void){unsigned char i;if(pass==1){//DisplayListChar(0,1,LockOpen);write_1602com(er);for(i=0;i<16;i++){write_1602dat(LockOpen[i]);}}else{if(N==0){//DisplayListChar(0,1,Error);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Error[i]);}}else{//DisplayListChar(0,1,start_line);write_1602com(er);for(i=0;i<16;i++){write_1602dat(start_line[i]);}}}}void DisplayInput(void){unsigned char i;if(CorrectCont==1){//DisplayListChar(0,0,Input);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Input[i]);}}}//========================重置密码==================================================//==================================================================================void ResetPassword(void){unsigned char i;unsigned char j;if(pass==0){pass=0;DisplayChar();ThreeAlam();}else{if(ReInputEn==1){if(N==6){ReInputCont++;if(ReInputCont==2){for(i=0;i<6;){if(TempPassword[i]==InputData[i]) //将两次输入的新密码作对比i++;else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示pass=0;ReInputEn=0; //关闭重置功能,ReInputCont=0;DisplayChar();break;}}if(i==6){//DisplayListChar(0,1,ResetOK);write_1602com(er);for(j=0;j<16;j++){write_1602dat(ResetOK[j]);}TwoAlam(); //操作成功提示WrToROM(TempPassword,0,6); //将新密码写入24C02存储ReInputEn=0;}ReInputCont=0;CorrectCont=0;}else{OneAlam();//DisplayListChar(0, 1, again); //显示再次输入一次write_1602com(er);for(j=0;j<16;j++){write_1602dat(again[j]);}for(i=0;i<6;i++){TempPassword[i]=InputData[i]; //将第一次输入的数据暂存起来}}N=0; //输入数据位数计数器清零}}}}//=======================输入密码错误超过三过,报警并锁死键盘======================void Alam_KeyUnable(void){P1=0x00;{ALAM=~ALAM;Delay5Ms();}}//=======================取消所有操作============================================void Cancel(void){unsigned char i;unsigned char j;//DisplayListChar(0, 1, start_line);write_1602com(er);for(j=0;j<16;j++){write_1602dat(start_line[j]);}TwoAlam(); //提示音for(i=0;i<6;i++){InputData[i]=0;}KEY=1; //关闭锁ALAM=1; //报警关operation=0; //操作标志位清零pass=0; //密码正确标志清零ReInputEn=0; //重置输入充许标志清零ErrorCont=0; //密码错误输入次数清零CorrectCont=0; //密码正确输入次数清零ReInputCont=0; //重置密码输入次数清零open_led=1;s3_keydown=0;key_disable=0;N=0; //输入位数计数器清零}//==========================确认键,并通过相应标志位执行相应功能===============================void Ensure(void){unsigned char i,j;RdFromROM(CurrentPassword,0,6); //从24C02里读出存储密码if(N==6){if(ReInputEn==0) //重置密码功能未开启{for(i=0;i<6;){if(CurrentPassword[i]==InputData[i]){i++;}else{ErrorCont++;if(ErrorCont==3) //错误输入计数达三次时,报警并锁定键盘{write_1602com(er);for(i=0;i<16;i++){write_1602dat(Error[i]);}doAlam_KeyUnable();while(1);}else{TR0=1; //开启定时key_disable=1; //锁定键盘pass=0;break;}}}if(i==6){CorrectCont++;if(CorrectCont==1) //正确输入计数,当只有一次正确输入时,开锁,{//DisplayListChar(0,1,LockOpen);write_1602com(er);for(j=0;j<16;j++){write_1602dat(LockOpen[j]);}TwoAlam(); //操作成功提示音KEY=0; //开锁pass=1; //置正确标志位TR0=1; //开启定时open_led=0; //开锁指示灯亮for(j=0;j<6;j++) //将输入清除{InputData[i]=0;}}else //当两次正确输入时,开启重置密码功能{//DisplayListChar(0,1,SetNew);write_1602com(er);for(j=0;j<16;j++){write_1602dat(SetNew[j]);}TwoAlam(); //操作成功提示ReInputEn=1; //允许重置密码输入CorrectCont=0; //正确计数器清零}}else //=========================当第一次使用或忘记密码时可以用131420对其密码初始化============{if((InputData[0]==1)&&(InputData[1]==3)&&(InputData[2]==1)&&(InputData[3]==4)&&(InputData[4]==2)&&(InputData[5]==0)){WrToROM(initpassword,0,6); //强制将初始密码写入24C02存储//DisplayListChar(0,1,initword); //显示初始化密码write_1602com(er);for(j=0;j<16;j++){write_1602dat(initword[j]);}TwoAlam();Delay400Ms();TwoAlam();N=0;}else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示音pass=0;}}}else //当已经开启重置密码功能时,而按下开锁键,{//DisplayListChar(0,1,Er_try);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Er_try[j]);}ThreeAlam();}}else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示音pass=0;}N=0; //将输入数据计数器清零,为下一次输入作准备operation=1;}//==============================主函数===============================void main(void){unsigned char KEY,NUM;unsigned char i,j;P1=0xFF;TMOD=0x11;TL0=0xB0;TH0=0x3C;EA=1;ET0=1;TR0=0;Delay400Ms(); //启动等待,等LCM讲入工作状态lcd_init(); //LCD初始化write_1602com(yi);//日历显示固定符号从第一行第0个位置之后开始显示for(i=0;i<16;i++){write_1602dat(name[i]);//向液晶屏写日历显示的固定符号部分}write_1602com(er);//时间显示固定符号写入位置,从第2个位置后开始显示for(i=0;i<16;i++){write_1602dat(start_line[i]);//写显示时间固定符号,两个冒号}write_1602com(er+9); //设置光标位置write_1602com(0x0f); //设置光标为闪烁Delay5Ms(); //延时片刻(可不要)N=0; //初始化数据输入位数while(1){if(key_disable==1)Alam_KeyUnable();elseALAM=1; //关报警KEY=keynum();if(KEY!=0){if(key_disable==1){second=0;}else{NUM=coding(KEY);{switch(NUM){case ('A'): ; break;case ('B'): ; break;case ('C'): ; break;case ('D'): ResetPassword(); break; //重新设置密码case ('*'): Cancel(); break; //取消当前输入case ('#'): Ensure(); break; //确认键,default:{//DisplayListChar(0,1,Input);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Input[i]);}operation=0;if(N<6) //当输入的密码少于6位时,接受输入并保存,大于6位时则无效。

电子行业电子密码锁课程设计

电子行业电子密码锁课程设计

电子行业电子密码锁课程设计1. 课程介绍本课程设计旨在帮助学生了解电子行业中的电子密码锁的原理、设计和应用。

通过理论学习和实践操作,学生将掌握密码锁的工作原理、电路设计、程序编写和应用开发等知识和技能。

2. 教学目标本课程的主要教学目标如下:•了解电子密码锁的基本原理及其在电子行业中的应用;•掌握数字电路设计和密码算法的基本知识和技能;•学会使用常见的电子元器件、开发板和编程工具进行电子密码锁的设计和实现;•培养学生的实验能力和团队合作精神。

3. 课程内容3.1 基础知识介绍•电子密码锁的概念和分类;•电子密码锁的工作原理。

3.2 数字电路设计•逻辑门电路的介绍;•组合逻辑电路和时序逻辑电路的设计;•使用开发板进行电路测试和验证。

3.3 密码算法设计•对称密码和非对称密码的原理和应用;•常见的密码算法及其优缺点;•随机数生成算法的原理和应用。

3.4 程序编写和实现•嵌入式系统和单片机的介绍;•使用C语言进行程序设计和编写;•程序的调试和优化。

3.5 应用开发•了解电子密码锁的应用场景和需求;•使用开发平台进行应用开发和测试;•设计并实现基于电子密码锁的应用项目。

4. 实践教学安排本课程设计注重实践操作和项目实践,通过实际操作来加深学生对电子密码锁的理解和掌握。

教学安排如下:4.1 实验操作学生将根据课程内容进行实验操作,包括数字电路设计、密码算法实现、程序编写和应用开发等环节。

通过实验操作,学生将学习到实际的电子行业工作流程和技术方法。

4.2 项目实践学生将分成小组进行项目实践,结合课程内容设计并实现一个基于电子密码锁的应用项目。

通过团队合作,学生将学会分工合作、项目管理和实际应用开发等技能。

4.3 实践报告学生需要根据实验操作和项目实践撰写实践报告,包括实验过程、实验结果、分析和总结等内容。

实践报告是对学生实际操作和理论掌握程度的重要评估依据。

5. 考核方式本课程的考核方式主要包括实验操作和项目实践的成绩,以及实践报告的质量。

电子密码锁课程设计

电子密码锁课程设计

电子密码锁课程设计一、课程目标知识目标:1. 让学生掌握电子密码锁的基本原理,包括密码设置、存储和比对过程。

2. 了解电子密码锁在生活中的应用,认识到电子密码锁的安全性。

3. 学会使用相关电子元件,如微控制器、键盘、显示屏等,完成电子密码锁的制作。

技能目标:1. 培养学生动手操作能力,学会组装和调试电子密码锁。

2. 提高学生编程能力,学会编写简单的密码比对程序。

3. 培养学生团队协作能力,分组进行项目实践。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学生学习热情。

2. 增强学生的安全意识,认识到密码保护的重要性。

3. 培养学生勇于创新、积极实践的精神,提高解决问题的能力。

课程性质分析:本课程为初中信息技术课程,结合电子技术、计算机编程等知识,注重实践操作和创新能力培养。

学生特点分析:初中生好奇心强,对科技产品有一定兴趣,具备一定的动手能力和团队合作意识。

但编程和电子技术方面的基础较弱,需要教师引导。

1. 理论与实践相结合,注重培养学生的动手操作能力和编程思维。

2. 创设情境,激发学生学习兴趣,引导学生主动探究。

3. 注重团队合作,培养学生的沟通与协作能力。

4. 结合生活实际,让学生认识到电子密码锁在生活中的应用价值。

二、教学内容1. 电子密码锁原理- 密码锁的基本概念- 密码的设置、存储和比对过程- 电子密码锁的安全性分析2. 电子元件及其功能- 微控制器的作用和编程- 键盘输入和显示屏输出- 其他相关电子元件(如继电器、传感器等)3. 实践操作- 电子密码锁的组装与调试- 编写密码比对程序- 设计简单电子密码锁控制系统4. 项目实践- 分组进行项目设计- 团队合作完成电子密码锁制作- 展示与评价第一课时:电子密码锁原理及电子元件介绍第二课时:微控制器编程与键盘、显示屏操作第三课时:电子密码锁组装与调试第四课时:编写密码比对程序与项目实践教学内容安排:1. 前两课时:理论学习和实践操作相结合,让学生了解电子密码锁的基本原理和电子元件功能。

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

电子密码锁摘要:本设计是通过判断输入密码正确与否从而控制相应电路工作,完成开锁、报警、锁定键盘等任务的电子密码锁。

它具有预设密码功能,超时报警功能,键盘锁定功能,错误提示功能等。

预设密码和输入密码是用两个八位的锁存器实现,密码判断是由数值比较器电路组成,超时报警功能是用NE555所构成的单稳态触发器实现,超时次数及密码错误次数由计数电路记录,而键盘锁定功能则是通过电路的逻辑关系巧妙控制锁存器的输出使能端实现的。

关键词:电子锁,密码锁,键盘锁定,报警电路Abstract:This design is to control the corresponding circuit by judging the password correctly or not work, do lock, alarm, lock the keyboard and other electronic combination lock. It has default password function, timeout alarm function, and key lock function, error function, etc. Default password and enter the password is to use two of the eight latch, password is consist of numeric comparator circuit, timeout alarm function is formed by using NE555 monostable trigger, timeout number and password error number recorded by counting circuit, and key lock function is through the logical relationship of the circuit can control the output of the latch makes the server-side implementation.Keywords:Electronic lock,Combination lock,Keyboard lock, warning circuit.目录1 前言 (1)1.1 设计背景 (1)1.2 设计概述 (1)2 总体方案设计 (3)2.1 程序框图 (3)2.2 电路分析 (3)3 单元模块设计 (5)3.1 密码锁存电路 (5)3.2 密码判断电路 (7)3.3 计数器电路 (8)3.4 计时器电路 (9)3.5电路参数的计算及元器件的选择 (12)3.6 各单元模块的联接 (13)4 系统调试 (14)4.1 仿真电路总图 (14)4.2系统仿真参数设置 (14)4.3 功能调试 (15)4.4 调试结果分析 (21)5 系统功能、指标参数 (23)5.1 系统实现的功能 (23)5.2 系统指标参数测试 (23)6 结论 (24)7 设计总结 (25)7.1 设计的收获体会 (25)7.2 对设计的进一步完善提出意见或建议 (25)8 致谢 (26)9 参考文献 (27)附录1:电子密码锁的仿真总图 (28)附录2:电子密码锁的PCB图 (29)1 前言1.1 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。

现在市场上主要是基于单片机技术的电子密码锁,但可靠性较差。

通常简单的数字电路就可实现密码不限次数重写,也就是说现在的硬件设计和软件设计一样灵活、方便。

相对于基于单片机技术的电子密码锁,用简单门电路来来构成系统,可靠性提高、使用灵活性好、价格便宜等优点,因此受到了广大用户的青睐。

1.2 设计概述电子密码锁的原理不复杂,设计的器件大多为较为常见的器件。

电子密码锁实际上是一种通过密码输入来控制电路从而控制机械开关的闭合,完成开锁的装置,它的功能包括数据锁存、数值比较、计时报警、延时锁定等。

本次课题主要目的是培养我们自主动手设计能力和解决问题的能力,加强我们对数字电路、模拟电路的认识和运用,让我们对电子设计有一定的认识。

1.2.1设计目标设计出一个包括密码开锁等多功能的电子密码装置。

基本功能:用户通过键盘输入密码,将该密码锁存并与预置密码比较,相等则密码锁可以被打开,并且绿色的灯亮。

若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入。

若密码输入错误超过三次,则红色的灯亮,用户输入密码的时间超过30秒,电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟。

1.2.2技术路线要实现该设计,就应把整个电路分为几大模块。

分别是密码锁存模块,密码比较模块,计时模块,计数模块,报警模块,键盘锁定模块。

先通过对各个模块进行设计、调试之后再将其组合起来进行整机调试。

1.2.3实施计划首先是要理清实现设计的框图,在总体框图的指导下,作出具体的电路图,由要设计实现的功能,计算出各个电路元件的值,并逐一对各个元件进行选择。

最后用仿真软件对设计进行仿真操作,调试软件,并对照出的设计有误的地方进行必要的修正,确保设计的正确和功能的实现。

1.2.4必备条件要实现该电路的设计,首要的就是要制定出设计的实现框图,并在老师的指导和参照资料的条件下作出具体电路图,选定实现实现该设计的各种元器件。

另外,还应由必要的软件帮助设计的完成。

2 总体方案设计要达到设计的要求,从输入密码开始,寄存密码并比较,然后根据比较结果输出从而控制报警电路或者开锁电路。

2.1 程序框图系统框图如图2-1所示。

图2-1 系统框图工作原理简述:用户从键盘输入密码,从按下任意一个键开始计时,若按下干扰键则需要重新输入密码,并且重新计时。

按下密码修改键则可以修改密码,将输入的密码与预置密码比较,若相等则由开锁电路进行开锁并亮绿灯,如果密码连续错误三次将亮红灯。

若用户输入密码时超时则由NE555构成的单稳态计时报警,同时报警一次,计数器加一,若计数达到3次则通过由NE555构成的单稳态电路将键盘将锁定5分钟,此时键盘输入无法开锁且无法进行密码修改。

2.2 电路分析针对密码比较通过两个锁存器,一个用于预置密码,当预置开关打开时,从键盘输入密码并将之保存并输出,而预置开关关闭后将之前的密码锁存,键盘输入对输出无影响。

之后用户输入密码后按下确认键输出密码与预置密码进重新输入 超时计时电路报警电路键盘锁定密码修改干扰键按下开始 正确错误锁定5分钟键盘输入开锁电路执行电路密码判断等于3次行比较。

干扰键则是通过键盘的特性进行复位。

密码判断电路是通过两个四位的数值比较器片选组合成八位的数值比较进行密码的判断并输出相应的高低电平。

开锁电路和执行电路则由继电器和绿色的发光二极管连接而成。

计时电路由一个八位的与门连接键盘,构成有输入则输出高电平使NE555构成的单稳态电路触发计时后自动翻转。

报警电路和键盘锁定电路都是通过NE555构成的单稳态延时功能,报警时间和延时锁定时间可以自行设定而改变。

3 单元模块设计本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。

3.1 密码锁存电路密码锁存电路由芯片74HC373和74HC374构成。

74HC373是八路D 型锁存器,每个锁存器具有独立的D 型输入,以及适用于面向总线的应用的三态输出。

所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。

74HC373包含八个具有三态输出的D 型透明锁存器。

当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。

当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。

当OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。

OE端的操作不会影响锁存器的状态。

74HC374与74HC373不同的是锁存使能(LE)端为脉冲信号输入。

图3-1 74hc373(4)密码输入图用74HC373和74HC374构成的密码输入和密码预置电路:打开左下角开关给373的使能端LE一个高电平使之开始工作,按下八位开关进行密码预置。

然后关闭开关,按下复位键,之后就可以输入密码,密码输入结束后按下确认键,给出一个脉冲,使374输出密码。

3.2 密码判断电路密码判断电路由两片74HC85片选构成。

数值比较器74HC85有八个比较输入(A0-A3,B0-B3),三个级联输入(A<B,A>B,A=B)和三个判断输出(QA <QB,QA>QB,QA=QB),该器件可对两个4位字进行比较,比较结果在Q A <QB,QA>QB,QA=QB端以高电平呈现。

只有当字A等于字B时,三个级联输入才可以决定输出状态,并且A=B端优先于A<B和A>B端。

若将多个HC85级联,则可比较大于4位的两个字,此时低位级的判断输出(QA <QB,QA>QB,QA=QB)应分别接到下一级的级联输入(A<B,A=B,A>B)。

图3-2 8位数值比较器两片74HC85通过片选连接一起构成八位的数值比较器,其中U3的A口和U4的A口接74HC374的八位输出,B口接373的输出。

U3的3引脚由确认键通过D触发器及其相应的逻辑关系输入,保证未按下确认键前不比较其输入数值。

若相比较的两个数值相等则U4的6引脚输出高电平,从而连接三极管驱动继电器使开锁电路打开并亮绿灯。

而U4的5引脚和7引脚由二输入的或门连接,如若两个数值不等则输出高电平使计数器计数。

3.3 计数器电路计数器电路有74LS161构成。

74LS161功能:当清零端CR=“0”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步复位功能。

当CR=“1”且LD=“0”时,在CP信号上升沿作用后,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。

而只有当CR=LD=EP=ET=“1”、CP脉冲上升沿作用后,计数器加1。

74LS161还有一个进位输出端CO,其逻辑关系是CO= Q0·Q1·Q2·Q3·CET。

图3-3 计数电路两片74LS161 U6为密码错误次数计数,U5为密码输入超时次数计数。

相关文档
最新文档