电子密码锁控制电路设计
单片机电子密码锁设计
单片机电子密码锁设计一、设计背景随着科技的不断发展,传统的机械锁已经不能满足人们对于安全性和便捷性的需求。
电子密码锁具有保密性好、操作方便等优点,逐渐取代了传统机械锁。
单片机作为一种集成度高、功能强大的微控制器,为电子密码锁的设计提供了良好的硬件基础。
二、系统总体设计本电子密码锁系统主要由单片机控制模块、键盘输入模块、显示模块、存储模块和开锁控制模块等部分组成。
单片机控制模块是整个系统的核心,负责处理输入信息、控制各个模块的工作以及进行密码的验证和存储。
键盘输入模块用于用户输入密码,通常采用 4×4 矩阵键盘,可实现数字 0 9 以及确认、取消等功能按键的输入。
显示模块用于显示系统的相关信息,如输入的密码、提示信息等。
常见的显示方式有液晶显示屏(LCD)和数码管显示。
存储模块用于存储设置的密码,以便系统在断电后仍能保存密码信息。
EEPROM 存储器具有掉电不丢失数据的特点,适合用于密码存储。
开锁控制模块在密码验证通过后,控制电磁锁或电机等执行机构完成开锁动作。
三、硬件设计1、单片机选型选择一款合适的单片机是系统设计的关键。
常用的单片机有 51 系列、STM32 系列等。
51 系列单片机价格低廉、开发简单,适合本设计的需求。
2、键盘接口电路采用行列式扫描的方式实现 4×4 矩阵键盘的接口电路。
通过单片机的 I/O 口依次扫描行线和列线,判断按键的按下状态。
3、显示电路如果选择液晶显示屏(LCD),则需要通过单片机的并行接口或串行接口与 LCD 控制器进行通信,实现字符和图形的显示。
数码管显示则相对简单,通过单片机控制数码管的段选和位选信号即可。
4、存储电路EEPROM 存储器通过 I2C 总线与单片机连接,单片机通过发送特定的指令和数据来实现对 EEPROM 的读写操作。
5、开锁控制电路使用继电器或三极管驱动电磁锁或电机,单片机输出高电平或低电平来控制开锁电路的通断。
四、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、显示模块的初始化、存储模块的初始化等。
电子密码锁的电路设计
千里之行,始于足下。
电子密码锁的电路设计电子密码锁是一种基于数字密码输入的锁,它利用电子电路技术实现了对锁的控制和解锁功能。
下面将介绍如何设计一个简单的电子密码锁电路。
整个电子密码锁电路设计主要包括以下几个部分:1. 数码键盘模块:用于输入密码的模块,一般采用矩阵键盘或单片机带有键盘的模块。
2. 输入密码存储模块:用于存储用户设置的密码,可以采用EEPROM、FLASH等非易失性存储器。
3. 控制逻辑模块:用于控制电子锁的解锁和上锁功能,可以采用CMOS逻辑门电路实现。
4. 驱动模块:用于驱动电子锁的解锁和上锁功能,可以采用继电器、场效应管等。
5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等。
下面将详细介绍每个模块的设计原理和具体实现方法:1. 数码键盘模块:常见的数码键盘有4x4或4x3结构,可以使用针对数码键盘的扫描编码技术,通过扫描按键状态来确定按键的值。
2. 输入密码存储模块:采用非易失性存储器,如EEPROM、FLASH等,可以在电源关闭后依然保存数据,这样可以避免用户密码丢失的情况。
第1页/共2页锲而不舍,金石可镂。
3. 控制逻辑模块:控制逻辑模块根据输入密码和已存储的密码进行比较,如果匹配则解锁,这里可以使用CMOS逻辑门电路实现比较功能,比如采用与门和非门组合。
4. 驱动模块:驱动模块用于控制电子锁的解锁和上锁功能,可以采用继电器、场效应管等。
当密码匹配正确时,驱动模块接通电子锁电路,实现解锁功能。
5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等,要保证电源电压稳定,并且能够支持电子锁的工作电压。
总结:电子密码锁电路的设计主要包括数码键盘模块、输入密码存储模块、控制逻辑模块、驱动模块和电源供电模块。
需要注意的是,电子密码锁电路的安全性非常重要,密码存储模块需要保护好,以防止密码泄露。
此外,为了增加密码的复杂度,可以加入密码长度和重试次数的限制等措施。
电子密码锁-课程设计报告
1、总体方案设计设计本课题时构思了两种方案:一种是用以A T89C2051为核心的单片机控制方案;另一种是用CMOS数字集成电路控制方案。
考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。
1:采用数字电路控制。
其原理方框图如图数字电路控制方案采用数字密码锁电路的好处就是设计简单。
用以CMOS构成的数字逻辑电路作为密码锁的核心控制,共设了8个用户输入键;如果用户输入密码的时间超过5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警20秒。
通过比较以上两种方案,单片机方案有较大的活动空间,但是成本昂贵;采用数字密码锁电路只要设计合理,仍然能够满足保密性要求。
所以我们采用后一种方案。
2.1设计说明要求用电子器件设计制作密码锁的控制电路,使之在输入正确的代码时输出信号,以启动执行机构动作,并用红,绿LED灯指示开锁、关锁状态。
设计完成的要求:(1)密码锁控制器中存储一个八位代码(二进制),当开锁按钮开关(共设置了11位,其中只有8位有效密码键,其余三位为干扰位和密码更改位)的输入代码等于存储代码时启动开锁控制电路,并且绿灯亮,红灯灭表示开锁状态。
(2)从第一个按钮触动后的5秒内若未能将锁打开,则电路自动复位并有扬声器发出报警信号,报警信号持续时间20秒,同时绿灯灭,红灯亮表示关锁状态。
(3)本设计完成了发挥部分的要求即密码修改电路,通过按钮开关(space 键)控制,用户可以自行修改八位密码,修改后的密码将进入电路锁存。
2.2设计思路根据题目要求,我们设计了这款实用稳定的数字电子密码锁,由密码按钮键、预置密码锁存器、密码比较识别电路、5s计时电路和20s计时电路等组成。
整机采用CMOS数字集成电路,电路新颖,线路简单,保密性强,性能可靠,误码报警等特点。
2.3总体方框图3、设计原理分析电路组成:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入锁定电路3.1 密码输入和修改电路:电路总共设计了11个用户输入键,其中有8位是有效的密码按键,其余的分别是M键(仿真电路中采用此按键表示开始输入密码,但是实际电路中可以用灵敏度较高的端口来代替,当人走近门时,触摸了敏感端,由于人自身带电,端口变成高电平,黄色指示灯亮表示电子锁处于待命状态,当然这在仿真电路中通过按键也可以实现),L键(输入密码结束,按下确认键即L键),space键(这个按键装在电路内部,是密码修改键,修改前后分别按space 按键表示修改密码和密码修改结束)3.2报警电路:报警电路实现的功能是:当输入密码的时间超过5s(一般情况下用户输入不会超过)或者密码输入错误,电路报警20s,防止他人恶意开锁。
(完整版)电子密码锁的设计
指导教师签字:年月日目录摘要 (2)Abstract (2)第一章、绪论 (3)1.1 课题研究的相关背景 (3)1.2 课题研究的基本理论依据 (3)1.3 设计课题的任务 (3)1.4 课题研究的目的、意义 (4)第二章设计方案简述 (5)2.1 方案的论证 (5)2.2 方案的原理 (5)2.3 方案的总体框图 (5)第三章详细的设计方案 (6)3.1 密码的设定和密码的输入部分 (6)3.2 执行电路 (7)3.3 NE555秒脉冲电路 (7)3.4 报警电路 (8)3.5 倒计时电路 (8)3.6 稳压电源电路 (9)第四章设计结果及分析 (10)4.1 电路的调试 (10)4.2 功能的扩展 (10)第五章设计的总结 (12)参考文献 (13)摘要随着人门生活水平的提高,如何提高实现家庭的防盗这一问题业变得尤其突出,传统的机械锁由于其构造的简单,被撬开的事件屡见不鲜,使我们的财产以及人身安全有了很大的隐患,这致使我们寻求更好的安全措施。
电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。
设计本课题时构思的方案是采用74LS86四两输入的异或门和74LS04非门构成的数字逻辑电路控制方案。
初始密码(可以修改)设定后,当输入密码正确时按下开锁按钮,绿灯亮表示开门;当输入密码错误按下开锁按钮时,红灯亮表示报警状态,同时555电路产生脉冲进入10秒的倒计时并发出报警声。
关键词:电子密码锁;74LS86四两输入异或门;74LS04非门;555电路AbstractWith the people's living standards increase, how to improve the implementation of family protection against the problem has become particularly outstanding, and the traditional machinery lock because of its construction of simple and forcing open the event of the case, our property and security of person was a great potential, this to us for the safety measures. the lock because of its confidentiality high, with agility, safety, was the favorite.This subject in the design concept plan was adopted 74ls86 4 liang of the input power, or the door and 74ls04 the door of a digital logic to control circuit.Initial passwords ( can modify ) then, when the right to enter the password when the open lock button, the green light before the door when their ; enter the password mistake in the open lock button when the lights indicate the state, the circuit produce pulses 555 to 10 seconds count down and alarm.Keywords:electronic combination locks;74ls86 ;74ls04 ;555 chip第一章、绪论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 相连,采用扫描法。
数字电路设计实验-简易密码锁
数字电路设计实验报告——简易密码锁学院:班级:学号:姓名:目录●任务要求●系统设计✓设计思路✓总体框图✓分块设计●波形仿真及波形分析●源代码●功能分析●故障分析及问题解决●总结及结论●任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
●系统设计设计思路将电子密码锁系统分为三个部分来进行设计,数字密码输入部分、密码锁控制电路和密码锁显示电路。
密码锁输入电路包括时序产生电路,键盘扫描电路,键盘译码电路等,将用户手动输入的相关密码信息转换为软件所能识别的编码,作为整个电路的输入。
密码锁控制电路包括相应的数据存储电路,密码核对电路,能够进行数值的比较,进行电路解锁,开锁,密码的重新设置等。
密码锁显示电路包括将待显示数据的BCD 码转换成数码管的七段显示驱动编码,密码锁在相应的状态下的点阵输出以及蜂鸣器的报警输出。
总体框图按复位键 键入初始密码0000 密码错误密码正确 按确认键 按复位键按确认键密码锁显示电路 密码锁控制电路 数码管显示报警电路密码更改与密码设计电路键入状态闭锁状态开锁状态 报警状态分块设计✓键盘扫描电路首先,向列扫描地址逐列输出低电平,然后从行码地址读回,如果有键摁下,则相应行的值应为低,如果没有按键按下,由于上拉的作用,行码为高。
电子密码锁设计
物理与电子信息学院数字电路课程设计报告书姓名:班级:学号时间:论文题目电子密码锁的设计课程论文要求设计一个电子密码锁,要求如下:1、有10个数字号码0,1,2,········9,设定密码号为3,5,6,7,按从高位到低位顺序开锁。
2、只有输入正确的密码时,锁才能打开,且经历一段时间后电路自动返回原始状态,以指示灯的状态来表示锁的关闭和打开。
3、当按下任意一个非密码号时,锁不打开,指示灯不亮。
设计过程(包括:设计方案、电路分析、仿真结果、软硬件结合测试步骤和结果、设计收获和体会)设计方案与论证:电子锁的种类比较多,电路的结构形式也有多种,有触摸开关编码,也有光电编码,既可以用分立元件(晶体管、晶闸管)组成,也可以用集成电路组成,甚至可以用带有处理系统的微处理器(单片机)做。
方案一〈采用数字电路〉1、原理方框图图(1-1)其原理框图如上图所示,整个电子密码锁由三部分组成:编码电路、主体编码驱动锁数码开关指示灯数码开关寄存器电路、复位电路。
其中十个按键开关与电源组成编码电路,并提前设置好密码。
主体电路由四个D 触发器组成的移位寄存器和四个密码按键相连,以驱动继电器开锁和指示灯亮。
复位电路有两部分,一部分是由剩下的非密码按键进行复位功能,另一部分是由高电平信号经过门电路进行复位。
方案二〈采用单片机〉2、原理方框图图(1-2)使用单片机的原理框图如上所示,依据其画出其单片机的程序流程图并借此进行程序的设计分析:分配好所需的存储单元和其他相关内容,然后再进行整体的程序设计。
在程序仿真没有问题后,对单片机烧录程序后,然后进行电路的硬件电路设计。
设计论证初始化设置密码按键指令输入译码驱动锁指示灯锁存控制寄存器本设计所构想的两个方案中,方案二采用了单片机的硬件和软件相结合的方法,利用了汇编语言的强大功能,通过编写一个合适的正确的汇编程序,依靠所接的按键开关输入相应的指令就可以进行一系列的程序操作,从而实现所需要的功能。
利用数字电路实现电子密码锁-毕业设计
利用数字电路实现电子密码锁学生:XXX 指导老师:XXX内容摘要:本数字密码锁采用单片机AT89S52为主控芯片,由EEPROM存储密码。
硬件部分包括主控制系统、人机交互界面以及输出系统三大部分。
主控制系统中主控制芯片使用了AT89S52单片机,该单片机性能优良,能满足一般的普通应用;EEPROM采用AT24C02芯片,掉电后可以存储密码,从而保证了系统的安全性。
人机交互通道部分采用了4×4矩阵键盘输入以及LCD1602标准字符型液晶显示。
输出系统部分包括驱动开锁电路和报警电路;其中,在本系统设计中,驱动开锁电路用发光二极管表示,而报警电路则使用蜂鸣器。
本系统中使用的AT24C02芯片是一个带有I2C总线接口的EEPROM存储器。
I2C总线是一种双向二线制总线,它的结构简单,可靠性和抗干扰性能好。
I2C总线结构很简单,只有两条线,包括一条数据线(SDA)和一条串行时钟线(SCL)。
具有I2C接口的器件可以通过这两根线接到总线上,进行相互之间的信息传递。
本数字密码锁的功能为:密码位数为8位,可选值为0~9,从而保证足够的锁体强度;用户可以自行设定和修改密码;防止密码被盗,输入密码错误次数超过3次则报警;友好的人机界面;输入正确的密码后,驱动开锁电路。
软件部分应用单片机C语言实现了本设计的全部控制功能。
C语言编译方便,易读性好,且移植性方便,能够满足实现本系统的功能要求。
在设计过程中,给出了本系统C语言编程的原理和流程图。
本数字密码锁系统稳定性好,设计人性化,由于使用单片机控制并有记忆模块,功能齐全可靠,并有很好的扩展性,而且成本低廉,具有良好的发展前景。
关键词:数字密码锁 AT24C02芯片安全性Electronic combination lockAbstract:Using the digital circuit realize electronic combination lock This digital locks USES the monolithic integrated circuit AT89S52 as the controller chip, by EEPROM memory password. Hardware including master control system, man-machine interface and output system of three.The Lord control system used in the control chip AT89S52 SCM, this single chip good performance, can satisfy the general common application; The AT24C02 chip EEPROM, after power off can be stored password, so as to ensure the security of the system. Man-machine interactive channel part adopts the 4 x 4 matrix keyboard input and LCD1602 standard character type LCD display. The output of system including drive circuit and alarm lock circuit; Which, in the system design, drive the lock circuit using light-emitting diodes said, and alarm circuit is using a buzzer.The system used AT24C02 chip is a with the I2C bus interface EEPROM memory. The I2C bus is a two-way two wire bus, its simple structure, reliability and anti-interference capability. The I2C bus structure is simple, only two lines, including a data line (SDA) and a serial clock line (SCL). Has the I2C devices through this interface to two lines on the bus, the mutual information transfer.This digital locks function for: password digits for eight, optional value is 0 ~ 9, so as to ensure enough lock body strength; The user can set and modify the password; To prevent the password is stolen, the input password mistake number more than three times the alarm; Friendly human-machine interface; To enter the correct password, drive the lock circuit.Application software of single chip microcomputer C language realized this design of all control function. C compiler convenient, easy to read the gender is good, and easy portability, and can meet the requirement of system function realization. In the design process are given, and the system of the C programming language principle and flow chart.This digital locks system stability, humanized design, because use asingle-chip microcomputer control and a memory module, complete function and reliable, and have a good scalability, and the cost is low, have good development prospect.Keywords: Electronic combination lock AT24C02 chip safety目录前言 (1)1 系统的硬件设计 (2)1.1 硬件的总体结构和原理 (2)1.1.1 硬件系统的总体结构图 (2)1.1.2 硬件系统组成 (2)1.1.3 系统的可能性分析 (3)1.2 单片机AT89S51简介 (4)1.2.1 主要性能 (4)1.2.2 引脚功能描述 (5)1.3 AT24C02简介 (7)1.3.1 功能描述 (7)1.3.2 管脚描述 (7)1.3.3 I2C总线协议 (8)1.4 LCD1602介绍 (8)1.4.1 引脚描述 (9)1.4.2 LCDI602控制指令 (9)1.4.3 LCDI602读写控制时序 (11)1.5 4×4矩阵键盘 (11)1.6 复位电路 (12)1.7 振荡电路 (12)1.8 发光二极管LED电路 (13)1.9 报警电路 (13)1.10 电源输入电路 (14)1.11 使用到的元器件列表 (15)2 软件程序设计 (15)2.1 编译器Keil uVision2简介 (16)2.2 软件总设计流程图 (16)2.3 具体功能软件实现 (17)2.3.1 4×4矩阵键盘扫描程序 (17)2.3.2 显示程序 (19)2.3.3 时钟运行子程序 (19)2.3.4 时钟时、分修改子程序 (20)2.3.5 掉电存储服务程序 (21)2.3.7 密码修改子程序 (23)3 结束语 (24)附录1:PCB原理图 (26)附录2:仿真原理图 (27)附录3:单片机硬件实物图 (28)参考文献 (29)利用数字电路实现电子密码锁前言随着社会物质财富的日益增长,安全防盗已成为社会问题。
基于PLC的一种密码锁控制系统设计
基于PLC的一种密码锁控制系统设计密码锁控制系统设计是一种基于PLC(可编程逻辑控制器)的智能锁控制系统,通过PLC控制锁的开关,输入密码进行控制,实现对门锁的远程控制和安全管理。
本文将介绍一种基于PLC的密码锁控制系统的设计。
一、系统组成1. PLC:可编程逻辑控制器是系统的核心控制器,用于接收和处理来自输入设备(如键盘、密码输入设备)的信号,并控制输出设备(如锁)进行相应的动作。
2. 密码输入设备:用于输入密码,接收用户的指令。
3. 电子门锁:用于控制门的开关,可以通过PLC信号进行控制。
4. 显示屏:用于显示系统状态、输入密码等信息,方便用户交互。
5. 电源和信号线路:用于系统的供电和信号传输。
二、系统工作流程1. 用户输入密码:用户通过密码输入设备输入正确的密码。
2. PLC接收信号:PLC接收来自密码输入设备的信号,并进行处理。
3. 判断密码是否正确:PLC根据预先设定的密码进行比对,判断密码是否正确。
4. 控制门锁开关:如果密码正确,PLC发送指令给电子门锁,控制门锁开启;如果密码错误,PLC发送相应的提示信息并禁止门锁开启。
三、系统设计方案1. 硬件设计:选择适合的PLC、密码输入设备、电子门锁等硬件设备,并进行连接和组装。
2. 系统接线:按照系统设计要求,进行PLC、密码输入设备、电子门锁等设备的接线连接,确保信号传输和控制正常。
3. 软件编程:利用PLC的编程软件对系统进行编程,实现密码输入、比对、门锁控制等功能。
4. 测试调试:系统组装完成后,进行测试调试,验证系统的正常工作和安全性。
四、系统功能设计1. 用户管理:系统可以对用户进行管理,包括注册用户、删除用户等操作。
2. 密码管理:系统可以对密码进行管理,包括修改密码、重置密码等操作。
3. 记录查询:系统可以对开锁记录进行查询和管理,方便管理者进行监控和管理。
4. 报警功能:系统具有报警功能,当密码输入错误次数过多或存在异常情况时,系统可以进行报警提示。
数电课程设计-电子密码锁
数电课程设计-电子密码锁电子密码锁设计任务及要求:使用电子器件设计制作一个密码锁,只有输入正确的代码时才能开锁。
在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致时,锁打开。
用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。
如果30秒内未将锁打开,则电路自动复位进入自锁状态,并发报警信号。
方案设计及论证:设计思路是设多组用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,输入的密码无效。
电路内部设置一个密码校验电路来验证密码正确与否,只有密码输入正确才能输出开锁所需的信号。
还应设置一组密码修改按键。
但用户按动输入开始键开始计时(只有按动了输入开始键之后输入的密码才有效),密码输入时间超过设定时间电路将报警,只有输入正确密码或断开电源报警铃才能停止,同时电路自锁,防止他人的非法操作。
具体方案如下:设17个用户输入键,其中只有4个是有效的密码按键,其它都是干扰键,还预设了4个密码修改键。
打开输入开关,电路开始计时,输入密码,开始校验,密码正确则开锁(绿灯亮表示开锁)同时停止计时;如果密码输入错误,则运行555单稳态电路密码锁定5分钟(红灯亮表示关锁),输入时间超过30秒密码也会锁定。
本文介绍了一个基于逻辑电路原理设计的电子密码锁电路。
该电路包括16个密码按键,其中4个为有效输入按键,采用4位密码输入。
只有在输入正确的密码后,才能实现对灯的电子控制。
该电路还包括各种附加电路,如报警和锁定功能,从而具有较高的安全系数。
该电路经过多次修改和整理,可以满足人们的基本要求。
但是,由于水平有限,该电路中存在一定的问题。
例如,电路的计时功能有误差,不能精确地对电路进行限时输入。
此外,用开关作为74LS112的CLK脉冲不是很稳定,可以考虑调换其他高速开关或计数脉冲。
最后,电路中未加显示电路,但可以通过其他数字模块实现这一功能。
为了进一步完善该电路,本文使用EWB软件对设计电路进行了逐步调试。
电子密码锁设计方案
密码锁设计方案●第一部分: 课题背景描述课题来源:课题思绪来源于本次大赛旳参照题目市场分析:●电子密码锁是一种通过单片机来控制机械开关旳闭合, 完毕开锁、闭锁任务旳电子产品。
它旳种类诸多, 有简易旳电路产品, 也有基于芯片旳性价比较高旳产品。
目前应用较广旳电子密码锁是以芯片为关键, 通过编程来实现旳。
其性能和安全性已大大超过了机械锁。
●国内外研究现实状况在安全技术防备领域, 具有防盗报警功能旳电子密码锁逐渐替代老式旳机械式密码锁, 克服了机械式密码锁密码量少、安全性能差旳缺陷, 使密码锁无论在技术上还是在性能上都大大提高一步。
伴随大规模集成电路技术旳发展, 尤其是单片机旳问世, 出现了带微处理器旳智能密码锁, 它除具有电子密码锁旳功能外, 还引入了智能化管理、专家分析系统等功能, 从而使密码锁具有很高旳安全性、可靠性, 应用日益广泛。
电子密码锁特点如下: 保密性远远不小于弹子锁。
随机开锁成功率几乎为零。
密码可变。
顾客可以常常更改密码, 防止密码被盗, 同步也可以防止因人员旳更替而使锁旳密级下降。
误码输入保护。
当输入密码多次错误时, 报警系统自动启动。
4.电子密码锁操作简朴易行,一学即会。
此外, 伴随科学技术旳发展, 顾客在生活中需要使用旳锁类越来越多, 电子密码锁能为顾客提供安全无忧旳服务, 因此市场前景十分广阔。
第二部分: 功能描述本项目设计一种基于STC90C52单片机控制旳电子密码锁, 具有如下功能:①可通过薄膜键盘输入密码控制开关旳开锁和闭锁②可通过扩展旳LED显示屏显示输入旳密码③密码可以多次改写和重置④持续三次输入密码错误延迟10秒钟后, 声光报警装置工作第三部分: 可行性分析设计思绪:本课题选用以STC90C52单片机为关键, 辅以扩展旳薄膜按键键盘以及LED显示模块构成完整旳系统。
通过键盘采集输入旳信息, 与单片机内旳储存值比较, 假如密码对旳, 则开锁电路打开, 并且绿灯亮;假如密码错误, 则报警电路旳红灯电路打开, 若持续三次输入密码错误, 声光电路打开, 红灯闪烁;在以上工作旳同步显示电路工作, 同步显示输入数值,具有较高旳安全性。
单片机控制的电子密码锁(电路图 流程图 原理图)-课程设计
单片机控制的电子密码锁(电路图+流程图+原理图)-课程设计单片机控制的电子密码锁(电路图+流程图+原理图) 摘要:本系统由单片机系统、矩阵键盘、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)在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致是锁打开。
(3)用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁(4)如30s内未将锁打开,则电路自动复位进入自锁状态,并发报警信号。
二、方案设计与论证设计思路:设多组用户输入键,其中只有4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,输入的密码无效。
电路内部设置一个密码校验电路来验证密码正确与否,只有密码输入正确才能输出开锁所需的信号。
还应设置一组密码修改按键。
但用户按动输入开始键开始计时(只有按动了输入开始键之后输入的密码才有效),密码输入时间超过设定时间电路将报警(老师要求的输入时间5秒太短了),只有输入正确密码或断开电源报警铃才能停止,同时电路自锁,防止他人的非法操作。
方案一:我共设了17个用户输入键,其中只有4个是有效的密码按键,其它都是干扰键,还预设了4个密码修改键。
打开输入开关,电路开始计时,输入密码,开始校验,密码正确则开锁(绿灯亮表示开锁)同时停止计时;如果密码输入错误,则运行555单稳态电路密码锁定5分钟(红灯亮表示关锁),输入时间超过30秒密码也会锁定。
大概思路:用四个74LS112 JK触发器串联,输入密码正确与否,输入的电平不同,由此达到密码校验。
密码的输入有16组开关控制,分为0和1两种情况。
限时30秒由74LS160计数器控制,而锁定时间则由555单稳态电路控制,开锁、关锁由指示灯点亮模拟。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计基于单片机的电子密码锁设计在日常生活中,密码锁是一种常见的安全设备,被广泛应用于家庭、办公室等场所。
随着科技的发展,传统的机械密码锁已经不能完全满足人们对安全性和便捷性的需求。
为了提高密码锁的安全性和实用性,许多基于单片机的电子密码锁被设计出来。
本文将介绍一种基于单片机的电子密码锁设计,并详细说明其工作原理和实现过程。
1. 设计思路基于单片机的电子密码锁的设计目标是提高安全性和便捷性。
传统的机械密码锁容易被暴力破解,而且如果密码被泄露,需要更换整个锁体。
因此,采用电子密码锁可以提供更高的安全性和方便的密码管理功能。
2. 系统组成基于单片机的电子密码锁主要由以下几个部分组成:(1)输入模块:用于输入密码的设备,可以是键盘、触摸屏等。
(2)单片机控制模块:使用单片机作为核心控制器,接收输入密码并进行验证。
(3)驱动模块:通过驱动模块对电子锁进行控制开关。
(4)显示模块:以LED或LCD等形式显示相关信息。
(5)电源模块:为电子密码锁系统提供电能供应。
3. 工作原理基于单片机的电子密码锁的工作原理如下:(1)初始状态下,用户可以通过输入密码进行解锁或锁定。
输入模块接收用户输入的密码。
(2)输入模块将密码发送给单片机控制模块。
(3)单片机控制模块使用事先设定的密码进行比对。
如果密码匹配,单片机控制模块将发出控制信号给驱动模块。
(4)驱动模块接收到控制信号后,将根据信号的指示打开或关闭电子锁。
(5)同时,单片机控制模块会发出指令给显示模块,将结果显示给用户。
4. 实现过程基于单片机的电子密码锁的实现过程如下:(1)选择合适的单片机,如AT89C51。
(2)设计电路板,将输入模块、单片机控制模块、驱动模块、显示模块和电源模块连接在一起。
(3)编写单片机的控制程序,实现密码验证和控制信号的生成。
(4)制作密码锁外壳,将电子密码锁系统组装在一起。
(5)测试电子密码锁的各个功能是否正常。
数字电子密码锁课程设计
课程题目:电子密码锁一、实验内容设计一个简单的数字电子密码锁,密码为4 位。
用数据开关K1~K10分别代表数字1,2,3....9,0.输入的密码用数码显示,,最后输入的密码显示右边,即每输入一位数,密码在数码管显示左移一位.同时可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的为上补充"0".用一位输出电平的状态代表所得开闭状态.为保证密码的主人能打开密码锁,设置一个万能密码.具体要求如下:1、密码输入:每按下一个键,要求在数码管上显示,并依次左移;2、密码删除:每删除一位,数码管上的显示右移一位,在左边空出的位补充零;3、密码设置:当四位密码输入完毕,按下设置功能键进行设置.4、密码检验:输入密码,按下检验键.二、实验原理在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。
为达到密码锁的以上功能,可将电子密码锁分为以下几个模块进行设计。
(1)输入与显示按键输入电路如图1所示。
图1—开关编码电路其中n[9..0]为按键输入端口, sout[3..0]为输出端口。
按键输入编码通过案件输入高低电平,每按一个键通过编码显示对应的数字。
数字的显示部分主要利用9个高低电平输入和74194双向移位寄存器以及7447七段显示译码器。
74194的S1和S2均接高电平,使得74194处于并行输入状态。
9个高低电平输入分别代表0~9:(2)密码锁控制电路密码控制电路如图2所示。
图2—密码锁控制电路其中set为密码设置端口, check为密码检验端口, close为关锁端口, back 为删除密码端口, clk时钟输入端口, dn[3..]为数字输入端口,sout[15..0]为16位输出端口,lock密码锁状态显示端口。
在此电路中每输一位数,密码在数码管上左移一位。
摄制删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。
南邮电子密码锁设计实验报告
1.3 设计条件
1.3.1 电源条件:稳压电源提供+5V 电压。
1.3.2 可供选择的元器件如表 1-1 所示
型号
名称及功能
数量
74374
八 D 触发器
1片
7474
双 D 触发器
2片
28C64B
EEPROM 存贮器
1片
7485
4 位比较器
1片
74161
4 位二进制计数器
2片
74164
8 位移位寄存器
3.6 整机电路图··························································· 12
3.7 元件清单····························································· 13
1
第四章、电路测试
12
从图中看出,在 D 触发输出后,毛刺被有效去除了。
3.6 整机电路图
图 3-5-1 消抖效果图
13
3.7 元件清单 本设计除了老师建议的一些芯片,我还使用了少量其他数字芯片,完成了要求外的一些
指标,使用的芯片如下: 表 3-7 所用元件清单
型号
名称及功能
数量
74374
八 D 触发器
1
2
第一章、系统结构与技术指标
1.1 系统功能结构 密码锁:用数字键方式输入开锁密码,输入密码时开锁;如果输入密码有误或者输入时
间过长,则发出警报。 密码锁的系统结构框图如下图 1-1 所示,其中数字键盘用于输入密码,密码锁用于判
断密码的正误,也可用于修改密码。开锁绿亮表示输入密码正确并开锁,报警红亮表示密码
电子密码锁总体设计方案
电子密码锁总体设计方案引言:电子密码锁是一种常见的安全装置,旨在提供一种方便而安全的进出门方式。
本文将针对电子密码锁的总体设计方案进行详细阐述,包括硬件和软件系统设计等方面的内容。
一、硬件设计:1. 主控板设计:主控板是电子密码锁的核心部件,负责控制整个系统的运行。
设计一个稳定且可靠的主控板至关重要。
主控板应包括至少一个微处理器、存储器、输入输出接口等,以满足系统的各种功能需求。
2. 密码输入界面设计:密码输入界面是用户与电子密码锁进行交互的重要媒介。
设计一个易用且安全的密码输入界面是必要的。
可以采用数字键盘、触摸屏或其他输入设备来实现密码的输入。
3. 电子锁体设计:电子锁体是电子密码锁的重要组成部分,负责实现锁定和解锁的功能。
设计一个坚固耐用、无法轻易破解的电子锁体是关键。
可以采用电机、电磁铁等机械或电子设备来完成锁体的动作控制。
4. 电源供应设计:电子密码锁需要稳定的电源供应,以保证其正常运行。
设计一个稳定、高效的电源供应系统是必要的。
可以采用电池、电源适配器等不同方式来满足电源供应的需求。
二、软件系统设计:1. 密码验证算法设计:密码验证算法是电子密码锁的核心功能之一,负责校验用户输入的密码是否正确。
设计一个安全可靠的密码验证算法是关键。
可以采用哈希算法、对称加密算法或其他密码学算法来实现密码的验证。
2. 用户管理系统设计:用户管理系统用于管理电子密码锁的用户信息。
设计一个灵活、扩展性强的用户管理系统是必要的。
可以采用数据库、文件系统等方式来存储和管理用户的信息。
3. 锁定和解锁控制设计:锁定和解锁控制是电子密码锁的基本功能之一,负责实现对门锁的控制。
设计一个快速、可靠的锁定和解锁控制系统是关键。
可以采用实时操作系统、多线程编程等方式来实现锁定和解锁控制的功能。
4. 安全防护设计:安全防护是电子密码锁的重要组成部分,负责抵御各种安全威胁。
设计一个安全可靠的防护系统是关键。
可以采用加密通信、安全协议等方式来加强电子密码锁的安全性。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。
用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。
如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。
二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。
该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。
(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。
矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。
(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。
EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。
(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。
可以显示开锁状态、输入错误提示等信息。
(五)执行模块执行模块包括电磁锁和报警装置。
当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。
三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。
然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。
(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。
同时,对输入的密码进行加密处理,提高密码的安全性。
(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。
比对过程中,采用逐位比较的方式,确保密码的准确性。
(四)错误处理当输入密码错误时,记录错误次数。
如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。
四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
51单片机电子密码锁设计(包含原理图-电路设计-c语言程序)
电子密码锁设计1.实验任务根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。
2.电路原理图图4.32.13.系统板上硬件连线(1).把“单片机系统”区域中的P0.0/AD0用导线连接到“音频放大模块”区域中的SPK IN端子上;(2).把“音频放大模块”区域中的SPK OUT端子接喇叭和;(3).把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“四路静态数码显示”区域中的任一个ABCDEFGH端子上;(4).把“单片机系统“区域中的P1.0用导线连接到“八路发光二极管模块”区域中的L1端子上;(5).把“单片机系统”区域中的P3.6/WR、P3.7/RD用导线连接到“独立式键盘”区域中的SP1和SP2端子上;4.程序设计内容(1).密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。
(2).密码的输入问题:由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
(3).按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。
5.C语言源程序#include <AT89X52.H>unsigned char code ps[]={1,2,3,4,5};unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};unsigned char pslen=9;unsigned char templen;unsigned char digit;unsigned char funcount;unsigned char digitcount;unsigned char psbuf[9];bit cmpflag;bit hibitflag;bit errorflag;bit rightflag;unsigned int second3;unsigned int aa;unsigned int bb;bit alarmflag;bit exchangeflag;unsigned int cc;unsigned int dd;bit okflag;unsigned char oka;unsigned char okb;void main(void){unsigned char i,j;P2=dispcode[digitcount];TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;ET0=1;EA=1;while(1){if(cmpflag==0){if(P3_6==0) //function key{for(i=10;i>0;i--)for(j=248;j>0;j--);if(P3_6==0){if(hibitflag==0){funcount++;if(funcount==pslen+2){funcount=0;cmpflag=1;}P1=dispcode[funcount];}else{second3=0;}while(P3_6==0);}}if(P3_7==0) //digit key{for(i=10;i>0;i--)for(j=248;j>0;j--);if(P3_7==0){if(hibitflag==0){digitcount++;if(digitcount==10){digitcount=0;}P2=dispcode[digitcount];if(funcount==1){pslen=digitcount;templen=pslen;}else if(funcount>1){psbuf[funcount-2]=digitcount;}}else{second3=0;}while(P3_7==0);}}}else{cmpflag=0;for(i=0;i<pslen;i++){if(ps[i]!=psbuf[i]){hibitflag=1;i=pslen;errorflag=1;rightflag=0;cmpflag=0;second3=0;goto a;}}cc=0;errorflag=0;rightflag=1;hibitflag=0;a: cmpflag=0;}}}void t0(void) interrupt 1 using 0{TH0=(65536-500)/256;TL0=(65536-500)%256;if((errorflag==1) && (rightflag==0)){bb++;if(bb==800){bb=0;alarmflag=~alarmflag;}if(alarmflag==1){P0_0=~P0_0;}aa++;if(aa==800){aa=0;P0_1=~P0_1;}second3++;if(second3==6400){second3=0;hibitflag=0;errorflag=0;rightflag=0;cmpflag=0;P0_1=1;alarmflag=0;bb=0;aa=0;}}if((errorflag==0) && (rightflag==1)) {P0_1=0;cc++;if(cc<1000){okflag=1;}else if(cc<2000){okflag=0;}else{errorflag=0;rightflag=0;hibitflag=0;cmpflag=0;P0_1=1;cc=0;oka=0;okb=0;okflag=0;P0_0=1;}if(okflag==1){oka++;if(oka==2){oka=0;P0_0=~P0_0;}}else{okb++;if(okb==3){okb=0;P0_0=~P0_0;}}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子密码锁控制电路设计电子密码锁控制电路设计学生:XXX指导教师:XXX 内容摘要:本设计阐述通过Proteus软件成功仿真的电子密码锁的实现过程,选用AY89C52为核心的系统来实现按键输入、开锁和密码识别。
采用具备IC总线接口的EPROM芯片来完成密码的存储,通过1602A液晶显示器提示程序运行状态和使用步骤,利用蜂鸣器模拟报警,发光二极管模拟锁的开关。
该系统用C语言编写程序,与汇编语言相比具有更好的移植性和可读性,便于修改和增减功能。
22关键词:Proteus 密码锁AT89C52 C语言I Design of electronic code lock circuit system Abstract: The paper introduces the implementation of the electronic code lock which wassuccessfully simulated by Proteus. It uses AT89C52 single-chip microcomputer to achieve key input, the unlocking and identification of the code. It adopts IC bus based EPROM chip to complete the code’s storage, using LCD 1602A to prompt the program’s running state and working procedures, adopting buzzer to imitate the alarm and LED to imitate the switch. It is convenient to modify and add functicccon by using C language program, which is more transplantable and reliable compared to assembly language. 22 Keywords: Proteus code lock AT89C52 C language II 目录前言............................................................... ...... 1 1 总体方案设计. (1)方案论证与比较 (1)方案选择......................................................... 2 2 单元模块设计. (2)硬件支持 (2)功能单元模块设计 (2)开锁机构...................................................2 矩阵键盘设计电路...........................................3 声音提示电路设计...........................................4 显示模块设计 (4)AT24C02掉电存储单元的设计.................................. 6 3 程序设计与系统仿真. (7)模块介绍 (7)主程序模块................................................. 9 密码比较判断模块........................................... 9 键盘扫描模块.. (9)修改密码模块 (10)Proteus仿真电路................................................ 11 4 系统功能.............................................................12 5 结束语...............................................................13 附录1:器件清单 (13)附录2:PCB 图...........................................................14 附录3:源程序...........................................................15输入按扭开关组5秒定时电路20秒定时电路声光指示电路输入锁存电路开锁控制电路密码存储电路图数字逻辑控制方案电子密码锁原理框图机械动作构件方案选择于利用单片机灵活的编程设计和强大的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还可以增添掉电存储、声光提示等功能,故选用方案一。
2 单元模块设计硬件支持使用的元器件有:核心芯片AT89C52、存储芯片AT24C02、液晶显示1602A、4×4矩阵键盘、报警蜂鸣器、发光二极管和三极管。
功能单元模块设计开锁机构通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。
当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。
本次设计中,基于节省成本考虑,用发光二极管代替电磁锁,信息通过LCD显示,并利用蜂鸣器和二极管声光指示。
其中,绿发光二极管亮,表示开锁;否则,表示密码输入错误并开启报警电路。
如图所示,为密码锁开锁电路原理图。
2 超次锁定STC89C52 单片机密码正确是开锁驱动电路否电磁锁图密码锁开锁电路原理图矩阵键盘设计电路每一条水平与垂直线的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要M条行线和N条列线,即可组成具有M×N个按键的键盘。
于本设计中要求使用16个按键输入,为减少键盘与单片机接口时所占用的I/O线的数目,故使用矩阵键盘。
本设计中,矩阵键盘行线和单片机相连,列线与AT89C52 相连。
如图所示,为矩阵键盘设计电路图。
1 2 3 * 4 5 6 * 7 8 9 * 输入密码0 确认更改密码图矩阵键盘设计电路图 3 键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。
声音提示电路设计声音提示电路采用小蜂鸣器提示。
蜂鸣器能够根据脉冲信号,以及信号的频率发出各种不同的声音,这样可以根据系统要求在密码出入正确和密码输入错误时发出不同的声音提示,已达到报警的要求。
如图所示,为蜂鸣器电路。
图蜂鸣器电路图显示模块设计本设计中,显示电路采用1602A液晶显示器显示。
如下所示,图为1602A液晶显示器的接口示意图,表为液晶显示器接口说明。
图液晶显示器借口示意图 4 表接口说明管脚序名称 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS VCC V0 RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BLA BLK 电平0V —H/L RS=L,选择指令寄存器H/L H,H→L H/L H/L H/L H/L H/L H/L H/L H/L 0V 读写信号线:R/W=H,读操作;R/W=L,写操作使能信号数据线数据线数据线数据线数据线数据线数据线数据线背光电源正极背光电源负极功能描述接地电源输入LCD驱动电压输入寄存器选择:RS=H,选择数据寄存器;本设计中液晶串口一共用到11根导线与单片机相连,具体连接情况如表显示模块与MCU连接说明所示。
表显示模块与MCU连接说明序号 1 2 3 4 1602A液晶显示器引脚RS引脚R/W引脚E引脚D0引脚STC89C52单片机引脚(A13) (A14) (A15) (AD0) 5 5 6 7 8 9 10 11 D1引脚D2引脚D3引脚D4引脚D5引脚D6引脚D7引脚(AD1) (AD2) (AD3) (AD4) (AD5) (AD6) (AD7) AT24C02掉电存储单元的设计本设计中掉电存储单元采用AT24C02外部存储器,其作用是在系统电源断开的时候,存储当前设定的密码数据。
AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,含一个16字节页写缓冲器,具有写保护功能。
其采用两线串行的总线和单片机通讯,电压最低可以到,额定电流为1mA,静态电流10Ua(),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。
如下所示,图为AT24C02管脚示意图,表为AT24C02管脚说明。
A0 1 8 VCC A1 2 C02 7 WP A2 3 6 SCL GND 4 5 SDA 图AT24C02管脚示意图表AT24C02管脚说明管脚名称A0 A1 A2 SCL 功能器件地址选择串行时钟信号6 管脚名称SDA WP 功能串行数据/地址写保护图电子密码锁仿真图 4 系统功能本设计中系统可实现功能如下:●通过切换,对输入的4位密码进行显示或隐藏;●通过发光二极管和蜂鸣器,对解密正确或者错误进行声光报警;●4位密码修改;●在密码遗失情况下,通过初始密码进行密码再设置;12 ●采用AT24C02外部存储器,完成断电密码保护功能;●具有1-9次的解锁次数任意设定功能;●模拟密码箱随机产生密码,并进行解码。
5结束语从基本方案的制定,到硬件电路的选择,再到电路的焊接,最后进行程序调试——在此期间我们遇到很多困难,但经过团队的不懈努力,终于击破了各个难点,达到的所需要的效果。
在这次设计中,我们深刻认识到自身的不足——缺少实战经验。
与此同时,也因为这次设计,我们得到一定的锻炼,体会到理论与实践相结合的重要意义。
于本次设计时间有限,一些设想没有完全实现,比如说:电子密码锁的网络通信扩展,人机界面智能化等。
期待以后有机会对以上设想进行进一步研究实践。
这次设计之所以能成功,必须要感谢那些帮助过我的人朋友同学,还有耐心教导过我的老师们。
感谢我们的系主任,他很关心我们这个系的学生的学习情况,努力为我们提供最好的教学环境,还有我们的XX老师,他细心的帮助我们检查毕业设计,教我们如何才能更好的完成设计。
是在你们的无私奉献下,我才能把这么多不懂的东西慢慢学会,并且把这次的设计做出来,谢谢你们。
附录1:器件清单13 器件名称MCU 规格型号STC89C52 编号U1 U2 LCD1 D1 D2 Q1 X1 RP1 C1C2 C3LS1数量单价总价备注1 1 1 1 1 1 1 4 2 1 2 1 1 1 1 1 1 2 1 1 7 20 4 1 1 7 20 4 2 1绿光普亮红光普亮外部存储器AT24C02 LCD 1602A 3mm 发光二极管三极管晶振3mm 8550 12MHz Ω 电阻10kΩ 10K排阻22P 10μF 8脚IC座40脚IC座5V电池盒电容IC座单排插座蜂鸣器电池盒焊锡导线电路板9×15cm万用板附录2:PCB图14 附录3:源程序15 #include #include #include #include #define LCM_Data P0 #define uchar unsigned char #define uint unsigned int #define w 4 sbit key = P2 ; sbit alam = P2 ; sbit open_led=P2 ; sbit lcd1602_rs=P2 ; sbitlcd1602_rw=P2 ; sbit lcd1602_en=P2 ; sbit Scl=P3 ; sbit Sda=P3 ; sbit xianshi = P3 ; bit operation=0; bit pass=0; bit mmsd=0; void Delay5Ms(void) { } void Delay400Ms(void) { unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA--) 16 unsigned int TempCyc = 5552; while(TempCyc--);void RdFromROM(uchar Data,uchar Address,uchar Num) { uchar i; uchar *PData; PData=Data; for(i=0;i Send(Address+i); Ack(); Start(); Send(0xa1); Ack(); *(PData+i)=Read(); Scl=0; NoAck(); Stop(); } } #define yi 0x80 #define er 0x80+0x40 void delay(uint xms) {} 22 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; } write_1602dat(uchar dat) {} void lcd_init(void) {} 23 lcd1602_rs=1; lcd1602_rw=0; P0=dat; delay(1); lcd1602_en=1; delay(1); lcd1602_en=0;write_1602com(0x38);write_1602com(0x0c);write_1602com(0x06);write_1602com(0x01); unsigned char coding(unsigned char m) {} unsigned char k; switch(m) {} return(k); case (0x18): k=1;break; case (0x28): k=2;break; case (0x48): k=3;break; case (0x88): k=‘A’;break; case (0x14): k=4;break; case (0x24): k=5;break; case (0x44): k=6;break; case (0x84): k=‘B’;break; case (0x12):k=7;break; case (0x22): k=8;break; case (0x42): k=9;break; case (0x82): k=‘C’;break; case (0x11): k=‘*’;break; case (0x21): k=0;break; case (0x41): k=‘#’;break; case (0x81): k=‘D’;break; unsigned char keynum(void) { unsigned char row,col,i; 24 P1=0xf0; if((P1&0xf0)!=0xf0) { Delay5Ms(); Delay5Ms(); if((P1&0xf0)!=0xf0){row=P1 xf0;i=0; P1=a[i];while(i if((P1&0xf0)!=0xf0) { } else { } i++; P1=a[i]; col=~(P1&0xff); break;} else { } return 0; while((P1&0xf0)!=0xf0); return (row|col);25 } else return 0; }void ResetPassword(void) {unsigned char i; unsigned char j; if(pass==0) {} else { pass=0;DisplayChar(); Alam(4); if(ReInputEn==1) {if(N==4) {ReInputCont++; if(ReInputCont==2) {for(i=0;i if(TempPassword[i]==InputData[i])i++; else { 26} } write_1602com(er); for(j=0;j Alam(4); pass=0; ReInputEn=0; ReInputCont=0; DisplayChar(); break; write_1602dat(Error[j]); if(i==4) {write_1602com(er); for(j=0;j write_1602dat(ResetOK[j]);Alam(2);WrToROM(TempPassword,0,4); } ReInputCont=0; ReInputEn=0; } CorrectCont=0; else { 27 } Alam(1);write_1602com(er); for(j=0;j write_1602dat(again[j]);} for(i=0;i TempPassword[i]=InputData[i];} } N=0;} } } void Cancel(void) {unsigned char i; unsigned char j; write_1602com(yi); for(j=0;j 28 } { } write_1602com(er); for(j=0;j Alam(2); write_1602dat(start_line[j]);write_1602dat(name[j]); for(i=0;i InputData[i]=0; operation=0; pass=0; ReInputEn=0; ErrorCont=0; CorrectCont=0; ReInputCont=0; open_led=1; sjmbz=0; s3_keydown=0; key_disable=0; mmsd=0; N=0; unsigned char szzh(unsigned char d){ 29 unsigned char j,k; j=d; switch(j) {} return(k); } case (0): k=0x30;break;case (1): k=0x31;break; case (2): k=0x32;break; case (3): k=0x33;break; case (4): k=0x34;break; case (5): k=0x35;break; case (6): k=0x36;break; case (7): k=0x37;break; case (8): k=0x38;break; case (9): k=0x39;break; void Ensure(void) {if(N==4) { if(ReInputEn==0&&mmsd==0) {for(i=0;i unsigned char i,j; RdFromROM(CurrentPassword,0,4); RdFromROM(cun,16,1);if(CurrentPassword[i]==InputData[i])30{ } else {ErrorCont++; if(ErrorCont==C) { key_disable=1; pass=0;i++; break;} } else write_1602com(er); for(j=0;j write_1602dat(Error[j]);Alam(2);} pass=0; break; if(i==4) {CorrectCont++;if(CorrectCont==1){write_1602com(er); for(j=0;j31} { } Alam(2); KEY=0; pass=1; TR0=1; write_1602dat(LockOpen[j]);open_led=0;for(j=0;j InputData[i]=0; } else {} write_1602com(er); for(j=0;j Alam(2); write_1602dat(SetNew[j]);ReInputEn=1; CorrectCont=0; else{if((InputData[0]==0)&&(InputData[ 1]==8)&&(InputData[2]==0)&&(InputDat a[3]==6)) { WrToROM(initpassword,0,4 ); 32 write_1602com(er); for(j=0;j write_1602dat(initword[j]);//Alam(2); } else { if(ErrorCont==C) { write_1602com(er); N=0; for(i=0;i write_1602dat(sjp[i]); else if(ReInputEn==1&&mmsd==0) {write_1602com(er); for(j=0;j 33 } } } } } write_1602dat(Er_try[j]);} } else { if(mmsd==1||sjmbz==1) { if(sjmbz=1) WrToROM(TempPassword,0,4);else if(mmsd==1)WrToROM(cun,16,1); else;mmsd=0;sjmbz=0; write_1602com(yi); for(j=0;j write_1602dat(name[j]);write_1602com(er);for(j=0;j write_1602dat(codepass[j]); } else { write_1602com(er); for(j=0;j34 } write_1602dat(Error[j]); Alam(4); pass=0;} }N=0; operation=1; } void suiji(void) {if(pass==1) { unsigned int i,j,k; unsigned int suijima[4]; write_1602com(yi); for(j=0;jwrite_1602dat(name[j]);} write_1602com(er); for(j=0;j write_1602dat(suijishu[j]);} srand((tmp2++)*TL0); for(i=0;i35 {j=(int)(*rand()/()); suijima[i]=j; k=szzh(j);TempPassword[i]=suijima[i];write_1602com(er+i+12);write_1602dat(k); } sjmbz=1; Alam(2);} else { write_1602dat(Error[j]);} { unsigned int j; write_1602com(er); for(j=0;j Alam(4);} } unsigned char xgmm(void) {unsigned char KE,i,j,a=1; unsigned char G,k; if(pass==1) {write_1602com(yi);================精选公文范文,管理类,工作总结类,工作计划类文档,欢迎阅读下载============== for(i=0;i write_1602com(er); for(j=0;j 36 write_1602dat(name[j]);--------------------精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载--------------------- ~ 21 ~。