课程设计:电子密码锁(附原理图及PCB)
电子密码锁课程设计报告最终版 2.
课程设计(综合实验)报告( 2012 -- 2013 年度第 1 学期)名称:电子技术综合实验题目:电子密码锁院系:电气与电子工程学院班级:实验电10学号:学生姓名:指导教师:设计周数:一周成绩:日期:2013年1 月13日一、目的与要求1.目的1.1课程设计是教学中必不可少的重要环节,通过课程设计巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。
1.2注重培养学生正确的设计思想,掌握课程设计的主要内容、步骤和方法。
1.3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。
1.4提高学生运用所学的理论知识和技能解决实际问题的能力及其基本工程素质。
2.要求2.1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。
2.2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。
要求通过独立思考、深入钻研课程设计中所遇到的问题,培养自己分析、解决问题的能力。
2.3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。
2.4学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。
利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。
2.5学会撰写课程设计总结报告。
2.6通过课程设计,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。
要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。
2.7在课程设计过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。
二、主要内容共有8个既有学习价值又有一定的实用性和趣味性的设计课题,学生根据自身情况自由选择其中之一。
1.移位寄存器型彩灯控制器2.智力竞赛抢答器3.电子拔河游戏机4.交通信号灯控制器5.数字电子钟6.电子密码锁7.电子秒表8. 数字电子钟(硬件)三、进度计划四、设计(实验)成果要求1.学生根据所选课题的任务、要求和条件进行总体方案的设计,通过论证与选择,确定总体方案;然后对方案中单元电路进行选择和设计计算;最后画出总体电路图。
微机原理课程设计(电子密码锁)
一、设计目的通过课程设计掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、8086微型计算机的应用方法、控制算法的设计及硬件设计方法。
复习并学习用软件编程控制硬件。
了解和掌握8086微机应用系统的软硬件设计过程、方法及实现,为以后设计实现8086微机应用系统打下良好的基础。
二、设计任务与要求(1)密码锁在输入密码正确时控制电控锁开启,同时显示00字样;当输入密码错误时,发出错误警告,并显示FF字样;当3次误码输入时,产生报警;具有密码修改的功能。
(2)选用8086和适当的存储器及接口芯片完成相应的功能,用LED显示器显示电子锁的当前状态;画出详细的硬件连接图;给出程序设计思路、画出软件流程图;给出所有程序清单并加上必要注释;完成设计说明书(包括封面、目录、设计任务书、硬件设计思路、硬件原理图、软件设计思路、程序流程框图、程序清单、所用器件型号、总结体会、参考文献等)。
三、整体功能描述本设计为多功能密码锁,使用存储器保存密码防止断电后密码丢失。
工作时按下按键蜂鸣器会发出声音提示按键有效并在数码管有“- -”闪烁字样,若相隔1分钟无按键按下,则清零。
在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示OPEN字样。
开锁后可按下“复位/修改密码键”实现修改密码功能的转入,之后先输入密码再输入同样的密码确认才可成功修改,修改成功后蜂鸣器会发出三声,数码管“00”闪烁三次提示修改密码成功。
当输入密码错误时,发出错误警告声音,同时显示CLOSE字样,当输入密码错误次数累积够3次后,蜂鸣器会产生90秒的报警声响进行报警。
四、总体设计方案根据本次设计的设计目的及设计要求,可有下列两种方案:4.1 方案一在本次设计中,因为密码锁的基本功能使可以判断密码是否正确,以及完成对密码的修改,所以需要用到输入设备以及CPU的接口电路以及相关存储设备;因为有报警提示功能,所以要用到相关的输出设备以及接口电路。
电子电路课程设计密码锁(满分实验报告)解析
密码锁设计报告摘要:本系统是由键盘和报警系统所组成的密码锁。
系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。
关键字:数字密码锁 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的掉电保护等其他相关功能。
课程设计:电子密码锁(附原理图及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 相连,采用扫描法。
单片机控制的电子密码锁(电路图 流程图 原理图)-课程设计
单片机控制的电子密码锁(电路图+流程图+原理图)-课程设计单片机控制的电子密码锁(电路图+流程图+原理图) 摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。
系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。
除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用关键词:AT89S51,AT24C02, 电子密码锁,矩阵键盘一、引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
设计本课题时构思了两种方案:一种是用以AT89s51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。
考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,所以本文采用前一种方案。
二、方案论证与比较方案一:采用数字电路控制。
其原理方框图如图1-1所示。
图2-1 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
方案二:采用一种是用以AT89S51为核心的单片机控制方案。
数字电子技术课程设计——电子密码锁.
课程设计说明书课程名称:数字电子技术课程设计题目:电子密码锁学生姓名:专业:班级:学号:指导教师:日期:年月日电子密码锁一、设计任务与要求1.用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。
2.在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致是锁打开。
3.用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁4.如5s内未将锁打开,则电路自动复位进入自锁状态,并发报警信号。
二、方案设计与论证1、用按键输入四位十进制数字,输入密码要存储。
2、比较输入密码和原始密码。
当输入正确密码时,给出开锁信号,开锁信号用一个绿色指示灯表示,绿灯亮表示密码输入正确;如果输入密码不正确,用红灯表示。
3、锁的开关用红灯和绿灯表示,一次只能亮一盏。
红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。
4、设置倒计时电路和自锁电路。
如果密码在5s内未能输入正确则发出报警声,并且自锁电路。
5、设置密码设置开关,开关闭合后,允许设置密码,设置好密码后,打开此开关。
6、需要在输入密码开始时识别输入,并由此触发计时电路。
方案一用74LS147译码器来把按键输入转化为二进制。
通过8片四位寄存器74LS194实现密码功能,其中四片用来存储预置密码,另四片则用来存储输入的密码。
当密码开始输入时开始计时,通过74LS192计数器实现计时功能;然后在密码输入期间,用74LS138数据选择器来选片存储。
数据选择器的输入端又一个两位的二进制的加法计数器来控制,当键盘有按键输入时计数器就加1,当一个按键按完后会轮到下一个芯片存储。
自锁功能利用74LS138来控制。
通过四片74LS85芯片判断原始密码和输入密码是否相同,接着用指示灯来表示密码的输入正确与否,如果密码没有输入正确的话,则红灯亮,否则则绿灯亮。
若是没在规定时间输入正确密码,则会发出警报信号(蜂鸣器响)。
方案二也用74LS147译码器来把按键输入转化为二进制。
通过8片四位寄存器74LS175实现密码的存储问题。
EDA课程设计电子密码锁
图3—5控制模块的原理图
图3—6控制模块的时序图
在电路图中,可见仍然有shangsuo和kaisuo使能端,仍然用enable=“01”有效来控制,dout1是前个模块的输出端口,q是控制开锁成功的led灯的亮灭,当dout1=”111”时为1,其他情况为0,p是蜂鸣器的控制端口,与q的值相反,即控制开锁成功为0,其他情况下为1,注意是在enable=“01”时本模块有效,即在此情况下的其他情况下p=1.
本密码锁在上锁开关为1,开锁开关为0时进入上锁状态,此时上锁状态指示灯亮,在三个开关上输入三个初始密码,此时上锁成功指示灯亮,当上锁开关为0,开锁开关为1时进入开锁状态,此时开锁状态指示灯亮,在三个开关上输入三个开锁密码,如果这三个开锁密码与三个初始密码相同则开锁成功指示灯亮,并且蜂鸣器不报警,如果这三个开锁密码与三个初始密码不相同则开锁成功指示灯不亮,并且蜂鸣器报警。
(2)。模块说明
本模块正是利用了D触发器的上述优点,才得以解决燃眉之急。本模块例化的电路图和时序图如下
图3—1上锁模块的原理图
图3-2上锁模块的时序图
本模块还有一点值得注意的是,鉴于对满足课设要求和对所有模块的控制,采用了语句
Enable<=shangsuo&kaisuo;
即把两个使能端shangsuo和kaisuo并置起来付给enable,假如shangsuo和kaisuo分别为‘1'和‘0',则enable就是“10”;以此类推。
其实这个课设任务也不是太难,就是密码存储和比较两个功能,其他的都很简单,就是LED的控制和蜂鸣器的控制,所以本课设分成三个模块就可以搞定:第一个是存储模块即后面的上锁模块,像上面所说的用D触发器来实现,第二个是比较模块即开锁模块,一个if语句就能搞定,最后是密码输入正确与否以及蜂鸣器的控制,很简单,不在话下,具体框图如下所示:
电子技术课程设计报告电子密码锁
电子技术课程设计报告设计课题:电子密码锁电子密码锁一、设计任务与要求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。
(完整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电路图
单片机密码锁课程设计仿真图原理图部分图代码#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. 学会使用相关电子元件,如微控制器、键盘、显示屏等,完成电子密码锁的制作。
技能目标:1. 培养学生动手操作能力,学会组装和调试电子密码锁。
2. 提高学生编程能力,学会编写简单的密码比对程序。
3. 培养学生团队协作能力,分组进行项目实践。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学生学习热情。
2. 增强学生的安全意识,认识到密码保护的重要性。
3. 培养学生勇于创新、积极实践的精神,提高解决问题的能力。
课程性质分析:本课程为初中信息技术课程,结合电子技术、计算机编程等知识,注重实践操作和创新能力培养。
学生特点分析:初中生好奇心强,对科技产品有一定兴趣,具备一定的动手能力和团队合作意识。
但编程和电子技术方面的基础较弱,需要教师引导。
1. 理论与实践相结合,注重培养学生的动手操作能力和编程思维。
2. 创设情境,激发学生学习兴趣,引导学生主动探究。
3. 注重团队合作,培养学生的沟通与协作能力。
4. 结合生活实际,让学生认识到电子密码锁在生活中的应用价值。
二、教学内容1. 电子密码锁原理- 密码锁的基本概念- 密码的设置、存储和比对过程- 电子密码锁的安全性分析2. 电子元件及其功能- 微控制器的作用和编程- 键盘输入和显示屏输出- 其他相关电子元件(如继电器、传感器等)3. 实践操作- 电子密码锁的组装与调试- 编写密码比对程序- 设计简单电子密码锁控制系统4. 项目实践- 分组进行项目设计- 团队合作完成电子密码锁制作- 展示与评价第一课时:电子密码锁原理及电子元件介绍第二课时:微控制器编程与键盘、显示屏操作第三课时:电子密码锁组装与调试第四课时:编写密码比对程序与项目实践教学内容安排:1. 前两课时:理论学习和实践操作相结合,让学生了解电子密码锁的基本原理和电子元件功能。
电子密码锁课程设计
目录摘要21. 设计目的32. 设计要求33. 方案选择4第一方案 555集成电路构成的密码锁电路 (4)第二方案基于74LS138译码器的电子密码锁设计 (4)第三方案基于8D锁存器74LS373的锁存密码电路 (5)4. 流程框图65. 原理电路图 76. 单元电路的设计8密码验证模块 (8)计时模块 (10)锁定输出 (11)逻辑组合模块 (12)7. 组装和调试 138. 测试数据149. 总结1610. 致谢17附录一总电路图18附录二元器件清单19附录三仿真结果20密码输入正确 (20)密码输入错误 (20)附录四实物作品21参考文献21摘要本次课程设计的题目是电子密码校验设计,由输入密码、设定密码、寄存电路、比较电路、显示电路、修改密码等模块组成。
该电子密码锁利用数字逻辑电路,实现对锁的电子控制,突破了传统的机械锁的单一性、保密性低、易撬性的缺点,数字电子密码锁具有保密性高、使用灵活性好、安全系数高的优点。
主要工作部分是将输入密码与正确密码进行比较,密码正确时绿色发光二极管亮,密码错误则红色发光二极管亮。
输入电路将6位密码并行输入,密码是否相等利用与非门将输入的密码和预定密码进行比较,当相等时便触发绿色发光二极管,不相等则作用到红色发光二极管和蜂鸣器。
1. 设计目的本课程为电子、通信类专业的独立实践课,该课程设计建立在电路基础、低频与高频电子线路等课程的基础上,主要让学生加深对电子线路理论知识的掌握,使学生能把所学的知识系统地、高效地贯穿到实践中来,避免理论与实践的脱离,同时提高学生的动手能力,并在实践中不断完善理论基础知识,有助于培养学生综合能力。
2. 设计要求1)要求电子器件设计制作密码锁的控制电路,使之在输入正确的代码时,输出信号以启动执行机构动作,并且用红、绿LED指示关锁、开锁状态。
2)密码锁控制器中存储一个4位代码,当开锁按钮开关设置9位,其中只有4位有效)的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮、红灯灭表示开锁状态。
课程设计电子密码锁附原理图及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 电路分析 (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 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。
电子密码锁的课程设计
电子密码锁的课程设计 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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为密码输入超时次数计数。