0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >设计应用 > 基于51单片机的密码锁设计

基于51单片机的密码锁设计

来源:
2023-12-28
类别:设计应用
eye 9
文章创建人 拍明芯城

摘要

密码锁是一种常见的安全设备,它通过输入正确的密码来解锁。本文以基于51单片机的密码锁设计为中心,从硬件设计、软件设计、功能实现和安全性等四个方面进行详细阐述。

1.png

一、硬件设计

在基于51单片机的密码锁设计中,硬件部分主要包括键盘模块、液晶显示屏模块和电路板等。首先,我们需要选择合适的键盘模块,并与51单片机进行连接;其次,在电路板上布置好各个元器件,并根据需求添加其他功能模块;最后,将液晶显示屏与51单片机相连,并确保正常工作。

在硬件设计过程中,需要考虑到电路稳定性、可靠性和扩展性等因素。同时还需要注意功耗控制和防止干扰等问题。

二、软件设计

基于51单片机的密码锁软件部分主要包括输入检测、数据处理和输出控制三个方面。首先,在输入检测方面,我们需要对键盘输入进行扫描并判断是否按下了正确的按键;其次,在数据处理方面,我们需要将输入的密码与预设的密码进行比对,并根据结果进行相应的处理;最后,在输出控制方面,我们需要通过液晶显示屏等方式将解锁结果反馈给用户。

在软件设计过程中,需要考虑到代码效率、可读性和可维护性等因素。同时还需要注意异常情况处理和错误提示等问题。

三、功能实现

基于51单片机的密码锁可以实现多种功能,如设置密码、修改密码、开锁和报警等。首先,在设置密码方面,用户可以通过按键输入新的密码,并将其保存在存储器中;其次,在修改密码方面,用户可以按照一定流程输入旧的密码并验证成功后再输入新的密码;最后,在开锁和报警方面,当用户输入正确的解锁码时,系统会自动解除锁定状态并发出解锁提示音。

功能实现过程中需考虑到操作流程合理性、界面友好性和响应速度等因素。同时还需注意数据安全保护和防止非法操作等问题。

四、安全性

基于51单片机的密码锁设计要确保系统具有较高水平的安全性。首先,在物理层面上,我们可以采用加密芯片或防拆装置等措施来增加密码锁的安全性;其次,在软件层面上,我们可以采用哈希算法和随机数生成等技术来提高密码的安全性;最后,在用户层面上,我们可以要求用户定期更换密码,并设置复杂度要求。

在安全性设计过程中需考虑到攻击手段多样化、防护措施完备性和系统稳定性等因素。同时还需注意数据加密和防止破解等问题。

五、总结

基于51单片机的密码锁设计具有硬件设计简单、软件设计灵活、功能实现丰富和安全性较高等特点。通过合理的硬件与软件配合,可以实现一个稳定可靠且功能强大的密码锁系统。

然而,在实际应用中仍需要不断改进与完善,以满足不同场景下对密码锁系统的需求。希望本文能够为基于51单片机的密码锁设计提供一些参考与启示。

请问怎样去设计一种基于51单片机的密码锁?

本次的项目是基于51单片机的密码锁,适合用来作为课程设计

主要实现了:密码锁功能,通过矩阵按键输入密码,输入范围为0-F,共有四位;同时,也可以使用更改按键更改密码,在更改时需要输入原密码来进入更改模式,四位密码显示H标识,成功修改后,红绿指示灯会同时闪烁;在输入密码正确后,绿色指示灯点亮,舵机启动,模拟密码锁的打开过程;错误时则会红色指示灯亮起。

本项目的优点在于加入了舵机来仿真密码锁的开关,这就意味着这不是个单纯的仿真了,至少是在PCB打样焊接后,这是个可以使用的东西,而不是现在网上那些没法出东西的虚拟仿真!!

同时,这次的设计还加入了AT24C02,这是个IIC接口的EEPROM器件,通过这个内存芯片,我们就可以储存密码,这样就可以实现每次上电后,自动加载修改过后的密码。但是!!!由于Proteus的破解问题,在A版的仿真中,写入内存无法实现,但是实际在实物中可以实现,B版不包含掉电写入功能,初始密码均为1121。

本项目的文件夹里包含了两个版本的PCB,可以直接打样来制作实物

注意!!在PCB中有两个贴片电阻,这两个电阻的作用是防止舵机驱动芯片L298N的电流传感引脚直接接地,可以选择焊接0欧电阻,或者是选择使用一根飞线连接,但是不可以不焊接。相关文章解析:AD原理图编译ERROR:GND contains Output Pin and Power Pin objects

B版的设计也带有PCB,也是需要这两个电阻,不同点就在于不带有内存芯片,这对于一些要求较低的课设来说,可以有效的降低成本和难度,便于贴合实际设计能力。

部分代码如下所示:

void main() //主函数{ uchar i; uchar x;//存放内存读取的标识 uint temp1,temp2; EA=1; EX0=1; IT0=1; x=At24c02Read(1); if(x==3) { temp1=At24c02Read(4); temp2=At24c02Read(7); password[0]=smgduan[(temp1/10)]; password[1]=smgduan[(temp1%10)]; password[2]=smgduan[(temp2/10)]; password[3]=smgduan[(temp2%10)]; } while(1) { if((time==0)&&(state!=1)) //初始化状态 { LED_Green=1; LED_Red=1; for(i=0;i《4;i++) { disp=0xbf; //写入横杠 } } keys_scan(); //扫描有无按键按下 }} 本设计包含:Proteus仿真原理图、仿真设计;keil5的C语言代码;ad的原理图,PCB;产品说明书,所有代码都含有注释,这样便于理解,而且还有技术答疑!!

基于51单片机的密码锁设计

第一章 绪论

1.1 课题背景和意义

随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能。

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。电子锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。

20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。

目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。

1.2 电子密码锁发展趋势

电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。

由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

图1.1 总体框图


wKgZomTH57GAba1TAAAWTsWW8vc099.png



工作过程

(1)按键设置6位密码,输入密码,通过单片机判断,若密码正确,通过则锁打开,显示open!

(2)首次使用时输入:131420,对密码进行初始化,当显示:initpassword,证明密码初始化完成,此时的密码为:000000。

第二章 设计思想

(1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。

(2)设计开锁密码位六位密码的电子密码锁。

(3)能够LCD显示在密码正确时显示open!,密码错误时显示ERROR,输入密码时显示initpassword。

(4)实现输入密码错误超过限定的三次电子密码锁定。

(5)4×4的矩阵键盘其中包括0-9的数字键和A-D的功能键

(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。

(7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作

第三章 系统的硬件设计

3.1硬件支持

3.1.1 STC89C52RC 单片机介绍

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置8KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。


wKgaomTH57GASGQhAABIVtRRP_o025.png



图3-1 STC89C52单片机引脚图

主要特性如下:

(1) 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任 意选择,指令代码完全兼容传统 8051.

(2)工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)

(3) 工作频率范围:0~40MHz,相当于普通 8051 的 0~80MHz,实际工 作频率可达 48MHz

(4) 用户应用程序空间为 8K 字节

(5) 片上集成 512 字节 RAM

(6) 通用 I/O 口 (32 个) 复位后为: , P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。

(7)ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片

(8)具有 EEPROM 功能

(9)具有看门狗功能

(10)共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2

(11)外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒

(12)通用异步串行口(UART) ,还可用定时器软件实现多个 UART

(13) 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

(14) PDIP 封装

3.1.2液晶显示LCD1602的介绍

(1)LM1602字符型模块的性能

重量轻:<100g;

体积小:<11mm 厚;

功耗低:10—15mW;

显示内容:192 种字符(5×7 点字型);

32 种字符(5×10 点字型);

可自编8(5×7)或许(5×10)种字符;

指令功能强:可组合成各种输入、显示、移位方式以满足不同的要求;

接口简单方便:可与8 位微处理器或微控制器相联;

工作温度宽:0—50oC

可靠性高:寿命为50,000 小时(25oC)

图3-2 液晶原理图

3.1.3自锁开关说明

自锁开关电路中起到电源的开关作用,常开的其中一脚接DC电源插口电源脚,常开的另一脚接电路的VCC

图3-3自锁开关原理图 图3-4 自锁开关硬件图

3.1.4上拉电阻介绍

其实排阻就是由8个电阻组成的,其中一端全部接在一起,103为8个10K电阻,

102为8个1K电阻,他们在电路中起到“上拉”的作用,又称上拉电阻。

上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同理.

上拉是对器件注入电流,下拉是输出电流,弱强只是上拉电阻的阻值不同,没有什么严格区分,对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

上拉,就是把电位拉高,比如拉到VCC

下拉,就是把电压拉低,拉到GND

一般就是刚上电的时候,端口电压不稳定,为了让他稳定为高或低,就会用到上拉或下拉电阻。

有些芯片内部集成了上拉电阻(如单片机的P1、2、3口),所以外部就不用上拉电阻了。但是有一些开漏的(如单片机的P0口),外部必须加上拉电阻。

3.1.5三极管介绍

常见的三极管为9012、s8550、9013、s8050.单片机应用电路中三极管主要的作用就是开关作用。

其中9012与8550为pnp型三极管,可以通用。

其中9013与8050为npn型三极管,可以通用。

区别引脚:三极管向着自己,引脚从左到右分别为ebc,原理图中有箭头的一端为e,与电阻相连的为b,另一个为c。箭头向里指为PNP(9012或8550),箭头向外指为NPN(9013或8050)。

三极管的工作原理

三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。

(1)电流放大

下面的分析仅对于NPN型硅三极管。如上图所示,我们把从基极B流至发射极E的电流叫做基极电流Ib;把从集电极C流至发射极E的电流叫做集电极电流 Ic。这两个电流的方向都是流出发射极的,所以发射极E上就用了一个箭头来表示电流的方向。三极管的放大作用就是:集电极电流受基极电流的控制(假设电源 能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系:集电极电流的变化量是基极电流变 化量的β倍,即电流变化被放大了β倍,所以我们把β叫做三极管的放大倍数(β一般远大于1,例如几十,几百)。如果我们将一个变化的小信号加到基极跟发射 极之间,这就会引起基极电流Ib的变化,Ib的变化被放大后,导致了Ic很大的变化。如果集电极电流Ic是流过一个电阻R的,那么根据电压计算公式 U=R*I 可以算得,这电阻上电压就会发生很大的变化。我们将这个电阻上的电压取出来,就得到了放大后的电压信号了。

(2)偏置电路

三极管在实际的放大电路中使用时,还需要加合适的偏置电路。这有几个原因。首先是由于三极管BE结的非线性(相当于一个二极管),基极电流必须在输入电压 大到一定程度后才能产生(对于硅管,常取0.7V)。当基极与发射极之间的电压小于0.7V时,基极电流就可以认为是0。但实际中要放大的信号往往远比 0.7V要小,如果不加偏置的话,这么小的信号就不足以引起基极电流的改变(因为小于0.7V时,基极电流都是0)。如果我们事先在三极管的基极上加上一 个合适的电流(叫做偏置电流,上图中那个电阻Rb就是用来提供这个电流的,所以它被叫做基极偏置电阻),那么当一个小信号跟这个偏置电流叠加在一起时,小 信号就会导致基极电流的变化,而基极电流的变化,就会被放大并在集电极上输出。另一个原因就是输出信号范围的要求,如果没有加偏置,那么只有对那些增加的 信号放大,而对减小的信号无效(因为没有偏置时集电极电流为0,不能再减小了)。而加上偏置,事先让集电极有一定的电流,当输入的基极电流变小时,集电极 电流就可以减小;当输入的基极电流增大时,集电极电流就增大。这样减小的信号和增大的信号都可以被放大了。

(3)开关作用

下面说说三极管的饱和情况。像上面那样的图,因为受到电阻 Rc的限制(Rc是固定值,那么最大电流为U/Rc,其中U为电源电压),集电极电流是不能无限增加下去的。当基极电流的增大,不能使集电极电流继续增大 时,三极管就进入了饱和状态。一般判断三极管是否饱和的准则是:Ib*β〉Ic。进入饱和状态之后,三极管的集电极跟发射极之间的电压将很小,可以理解为 一个开关闭合了。这样我们就可以拿三极管来当作开关使用:当基极电流为0时,三极管集电极电流为0(这叫做三极管截止),相当于开关断开;当基极电流很 大,以至于三极管饱和时,相当于开关闭合。如果三极管主要工作在截止和饱和状态,那么这样的三极管我们一般把它叫做开关管。

(4)工作状态

如果我们在上面这个图中,将电阻Rc换成一个灯泡,那么当基极电流为0时,集电极电流为0,灯泡灭。如果基极电流比较大时(大于流过灯泡的电流除以三极管 的放大倍数 β),三极管就饱和,相当于开关闭合,灯泡就亮了。由于控制电流只需要比灯泡电流的β分之一大一点就行了,所以就可以用一个小电流来控制一个大电流的通 断。如果基极电流从0慢慢增加,那么灯泡的亮度也会随着增加(在三极管未饱和之前)。

3.1.6继电器介绍

电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。

继电器的线圈和接线端子是分立的,互补影响的~~~~继电器的触点只相当于开关


wKgZomTH57GARlm8AAK2vyMHuRs163.png




责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯