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

一、具体实现功能

系统由AT89S52单片机+AT24C02数据存储模块+按键模块+LCD1602显示+报警模块等构成。

具体功能:

1、输入密码,且输入的密码显示在液晶显示屏上;

2、按下“DorBell”后,会响起门铃声;

3、初始密码为“1234”,输入正确后,显示“OK”,并且LED灯闪烁,表示开门;

4、输入密码错误后,显示“Eror”,三次输入错误后会报警;

5、按下“DELE”,清除输入的密码。

二、设计过程

设计背景

        电子密码锁在当前市场运用较为广泛,其主要通过对外接密码输入来实现对系统或电路的控制,并进一步控制系统机械开关的操作。相关电子产品通过系统编程控制能够以电子密码锁的形式来实现系统的开关,尤其是对机械产品而言具有较高的安全性与可靠性。本文提出的电子密码锁系统设计主要以AT89S52单片机为基础,通过矩阵式键盘、LCD显示、蜂鸣器以及二极管等部件组成主系统。该系统设计编程方便、操作性强、具有较高的实用性,且耗能较低,在市场具有广阔的应用范围。

        本设计采用了AT89C51单片机电子锁系统,进行初始化设置,启动密码锁功能,密码输入显示屏幕采用了七段数码管半导体发光器件。系统控制指令通过单片机进行实现,单片机根据实际操作情况分配部件工作内容,程序操作性强、方便简洁。在用户输入密码过程中,单片机将会采用矩阵按键布局模式记录当前输入密码,并将该密码与系统设置密码进行比对,若密码匹配则开启密码锁,若密码错误则需要用户按下删除键重新输入密码。当用户输入密码错误次数超过3次,电子密码锁将会自动锁定,需要用户切换管理员模式输入管理员密码才可解锁当前状态,并重新输入解锁密码。

硬件设计

        硬件设计主要由以下几个部分构成:AT89S52单片机最小系统、AT24C02数据存储模块、按键模块、LCD1602显示+报警模块的设计与实现,以及电路板的焊接等。主要工作包括电路图的设计、PCB图的设计、电路板的焊接与测试等。

软件设计

        通过编写C语言程序后,我们将程序放入KEIL软件中进行调试,并利用该软件将C代码烧录到单片机最小控制系统中。

以下为本次程序设计的编程思路:

(1)定义数值类型,调用延时程序,定义数据发送位;

(2)按键扫描程序;

(3)密码匹配及报警程序。

三、资料

原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。

仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

全部资料

全部资料包括程序(注释)、AD原理图、PCB源文件、protues仿真、参考论文、程序讲解、仿真讲解、仿真视频、原理图讲解、资料使用介绍等!!!

资料获取

私信鸭!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、设计目的 1.1课题简介 如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见 不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制 电磁锁的开与闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码 。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛 使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。 1.2课题研究目的 本设计是一种基于单片机密码锁方案,根据基本要求规划单片机密码锁的硬件电路 和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分 配等都有注释。现在很多地方都需要密码锁电子密码锁的性能和安全性大大超过了机 械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码 。 本次设计密码锁具备的功能:LED数码管显示初始状态"——————",用户通过键盘输 入密码,每输入一位密码,LED数码管相应有一位变为"P" ,若想重新输入密码,只需按下"CLR"键。密码输入完毕后按确认键"#" ,密码锁控制芯片将输入的密码与密码锁控制芯片中存储的密码相比,若密码错误,则 不开锁,会有红灯亮提示,同时显示"Error" 。若正确,则开锁,会有绿灯亮提示,同时显示"PASS" 。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下"CHG"修 改密码,输入新密码时每输入一位新密码相应有一位变为"H" ,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下"CLR " 键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用 来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计 中初始密码是"096168"。 本次设计中硬件主要由我完成,软件主要由张振完成。 二、硬件设计 2.1概述 本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路 等组成,系统框图如图1所示: 图1 系统框图 2.2最小系统 1.单片机单片机最小系统包括单片机、晶振电路、复位电路等,最小系统是整个系 统的核心部分,也是设计中首先应该设计的部分,其中单片机的选择直接决定着之后整个 设计应该如何进行, 因为我们刚刚学完单片机,学习时是以MCS- 51单片机为主的,对51系列单片机最熟悉,因此决定选用51系列单片机, 51系列单片机中Atmel89C51应用最为广泛,且价格较低,性能完全能满足本次设计,因 此决定选用AT89C51芯片。AT89C51外形及引脚排列如图2所示: 图2 AT89C51外形及引脚排列 AT89C51主要特性:   ·与MCS-51 兼容   ·4K字节可编程闪烁存储器   ·1000次写入/擦除循环   ·数据保留时间:10年   ·全静态工作:0Hz-24MHz   ·三级程序存储器锁定   ·128×8位内部RAM   ·32可编程I/O线   ·两个16位定时器/计数器   ·5个中断源   ·可编程串行通道   ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 2.晶振电路 图3 晶振电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别 是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体一起构成自 激振荡器,晶振电路如图3所示。 石英晶体振荡电路对外接电容C2和C3虽没有十分严格的要求,但电容容量的大小会轻 微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度,一般电容使用30pF±1 0pF,这里使用30pF的独石电容。 因此晶振电路中使用12M晶振,30pF独石电容。 3.复位电路 如图4所示为80C51单片机复位电路。结合实际需求,本次设计加入了手动复位。RC构 成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C51型单 片机将复位,为保证微分脉冲宽度足够大,这里取10μF电容、10KΩ电阻。若按下复位键 ,则C1被短路,R1两端电压为Vcc,产生的高电平时间足以使单片机复位 图4 复位电路 关于复位电路的计算如下: AT89C51的最低复位电平是0.7Vcc V1 为电容最终可充到的电压值 Vt 为t时刻电容上的电压值 则, Vt=V1×[1-exp(-t/RC)] 即, t = RC×Ln[V1/(V1-Vt)] 在C1充电到0.7Vcc前,R1上电压均大于0.7Vcc,即为有效复位电压,因此需要求电容 充电到0.3Vcc的时间。 将V1=Vcc,Vt=0.3Vcc代入上式: 0.3VCC=Vcc×[1-exp(-t/RC)] 即[1-exp(-t/RC)]=0.3; exp(-t/RC)=0
电子密码锁是一种智能化的锁具,它通过电子技术实现对门的开关控制,可以有效地提高房屋或办公室的安全性。在本篇文章中,我们将介绍如何基于51单片机设计一个简单的电子密码锁设计思路: 电子密码锁设计思路是通过51单片机控制密码输入与门的开关控制。设计需要采用矩阵键盘作为输入设备,将输入的密码与预设密码进行比较,如果相同,则控制门的开关。 硬件设计电子密码锁的硬件设计主要包括以下几个部分: 1. 51单片机控制模块:选择STC89C52RC单片机作为控制模块,具有较强的处理能力和稳定性。 2. 矩阵键盘输入模块:选择4x4的矩阵键盘,通过51单片机的IO口读取用户输入的密码。 3. 驱动电路模块:选择继电器作为驱动装置,通过继电器控制门的开关。 4. 电源模块:选择12V电源,通过稳压电路提供5V电压给单片机和其他电路元件。 软件设计电子密码锁的软件设计主要包括以下几个部分: 1. IO口初始化:设置51单片机的IO口为输入或输出状态。 2. 矩阵键盘扫描:通过循环扫描矩阵键盘,读取用户输入的密码。 3. 密码比较:将用户输入的密码与预设密码进行比较,如果相同,则控制门的开关。 4. 继电器控制:通过控制继电器开关实现门的开关。 总结: 本文介绍了基于51单片机设计电子密码锁的方法。通过矩阵键盘输入密码,将输入的密码与预设密码进行比较,实现对门的开关控制。该电子密码锁具有较高的安全性和可靠性,可应用于家庭、办公室等多种场所。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值