基于单片机的电子密码锁及程序

合集下载

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

基于单片机的电子密码锁设计课件
3、硬件电路
3.5 晶振部分
根据实际情况,本设计中采用12MHZ做为系统的外部晶振,电容取值为20pF。
图3-6 晶振电路原理图
3、硬件电路
3.6 显示部分
为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示LCD1602取代普通的数码管来完成。其显示部分引脚接口如图3-8所示:
基于单片机的电子密码锁设计
1、系统结构分析
图1-1 系统结构框图
本设计系统主要由单片机芯片、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分显示部分、报警部分、开锁部分组成。
AT 89S51
键盘输入
复位电路
密码存储电路
晶振电路
电源输入
显示电路
报警电路
开锁电路
选用单片机AT89S51作为本设计的主控芯片。 采用矩阵键盘进行功能按键的输入。 外接AT24C02芯片用于密码的存储与修改。 利用LCD1602液晶显示器进行显示。 利用蜂鸣器进行报警工作。
图3-3 键盘输入原理图
3.3 电源输入部分
3、硬件电路
密码锁主控制部分电源需要用5V直流电源供电,其电路如图3-5所示:
图3-4 电源输入电路原理图
3.4 复位部分 根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键。
3、硬件电路
图3-5 电源输入电路原理图
2、方案设计
3.1 存储芯片AT24C02
3、硬件电路
图3-1 AT24C02的电路接线图
3.2 矩阵键盘 采用4*4矩阵式键盘实现密码输入功能。 4*4键盘不但能完成密码的输入,还能作特别功能键使用,比如修改密码功能等。
3、硬件电路
图3-2 矩阵键盘

电子密码锁使用说明

电子密码锁使用说明

基于51单片机的简易电子密码锁使用说明一、实现功能:1、设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。

2、密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。

修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。

3、报警、锁定键盘功能。

密码输入错误显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。

4、AT24C02保存密码,支持复位保存,掉电保存功能。

二、按键说明按键定义图如图示:采用4X4键盘输入,键盘对应名称如下:1 2 3 A4 5 6 B7 8 9 C* 0 # D其中,【0—9】为数字键,用于输入相应的密码,【*】号键为取消当前操作【#】号键为确认【D】键为修改密码其它键无功能及定义三、作用说明:密码锁初始密码为:000000.1、开锁:插上电源后,程序自动调入初始密码,此时依次输入:000000,然后按【#】(确认)键,此时锁会打开,可以看到显示open,密码锁打开。

(如为自己焊接,请首次使用输入:131420,对密码进行初始化,当显示出现:initpassword,证明密码初始化完成,此时初始密码即为:000000)。

2、退出并关锁:按下【*】(取消)键,此时锁关闭,所有输入清除。

3、修改密码:在开锁状态下,再次输入正确的密码并按下【#】(确认)键,此时听到两声提示,输入新的六位密码并按【D】(重设)键,再重复输入一次新密码并按【D】,会听到两声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。

(如两次输入的新密码不一样,则重设密码失败)。

4、报警并锁定键盘:当输入密码错误后,报警并锁定键盘3秒,如3秒内又有按键,3秒再启动。

5、当重置新密码时,新密码会保存于AT24C02存储器里。

有任何问题请与我联系:QQ:331091810E_mail:331091810@旺旺ID:j_yongchao2008淘宝店址:/。

基于单片机的电子密码锁

基于单片机的电子密码锁

基于单片机的电子密码锁第一章:引言电子密码锁是随着科技的不断进步,应用于各个领域的一种新型门禁系统。

相较于传统的机械锁具,电子密码锁具有更高的安全性与便捷性。

而基于单片机的电子密码锁,则是通过单片机作为核心控制器,通过输入正确的密码才能进行开锁操作。

本文旨在介绍基于单片机的电子密码锁的原理、设计和实现过程。

第二章:电子密码锁的工作原理2.1 单片机简介单片机是一种集成了微处理器、存储器和各种输入输出接口于一体的微型计算机系统。

它具有体积小、功耗低、性能稳定等特点,适用于各种电子设备的控制系统。

2.2 电子密码锁的组成部分基于单片机的电子密码锁由输入模块、控制模块、显示模块和输出模块组成。

输入模块用于输入密码,控制模块用于验证密码的正确性和执行开锁指令,显示模块用于显示相关信息,输出模块用于控制锁的状态。

2.3 电子密码锁的工作原理当用户输入密码时,控制模块将用户输入的密码与预设密码进行比较。

如果输入的密码正确,则控制模块发送开锁指令,输出模块解除锁的限制,用户可以开启门。

否则,控制模块继续等待用户输入密码。

第三章:电子密码锁的设计步骤3.1 系统需求分析根据实际应用需求,确定电子密码锁系统的功能、性能和外观设计等方面的要求。

3.2 硬件设计根据系统需求,设计硬件电路,包括输入模块、控制模块、显示模块和输出模块等。

3.3 软件设计基于单片机的电子密码锁需要编写适用的软件程序。

根据密码验证算法,编写程序实现密码的比较和开锁指令的发送。

3.4 电子密码锁的制作流程根据硬件设计和软件设计的结果,进行电子密码锁的组装和制作。

3.5 电子密码锁的测试与调试对制作完成的电子密码锁进行测试,包括考虑用户输入的密码是否正确、开锁是否正常、显示是否准确等方面的问题。

第四章:电子密码锁的功能与特点4.1 密码设置与管理用户可以根据需要设置密码,并进行密码的管理,包括密码的增、删、改等功能。

4.2 多种开锁方式电子密码锁可以支持多种开锁方式,例如密码开锁、指纹识别、刷卡开锁等。

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。

本文将介绍关于51单片机四位密码锁的课程设计。

我们需要明确设计的目标和要求。

本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。

2.密码输入正确时,能够解锁并输出解锁信号。

3.密码输入错误时,不能解锁。

4.能够重置密码。

接下来,我们将详细介绍设计的步骤和实现。

1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。

以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。

-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。

-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。

-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。

-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。

-重置密码:设计密码重置的函数,将新设置的密码保存。

3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。

-设置初始密码。

-进入主程序循环。

-接收用户输入的密码。

-检验密码是否正确。

-如果密码正确,显示解锁信号并控制继电器解锁。

-如果密码错误,显示密码错误信息。

-进入下一次循环。

4.调试和测试:完成程序编写后,我们需要进行调试和测试。

在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。

5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。

例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。

总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。

基于单片机的电子密码锁程序

基于单片机的电子密码锁程序
sbit rw=P0^2;
sbit rs=P0^3;
sbit en=P0^1;
unsigned char code yejing[]={'z','h','o','u','a','i','u','*'};
unsigned int mima_init[];
extern unsigned int shurumima[6];
#include"reg52.h"
#include"lcd_1602.h"
#include"keysca.h"
#include"speak.h"
//******************************************************************
unsigned int low,high,number,qout,j;
en=1;
delay1ms(5);
en=0;
}
//******************************液晶初始化*************************************ห้องสมุดไป่ตู้**********
void init_1602()
{
en=0;
rw=0;
write(0x38,0);
write(0x0c,0);
write(0x06,0);
write(0x01,0);
}
//******************************1ms延时函数***********************************************

基于单片机电子密码锁设计论文

基于单片机电子密码锁设计论文

第1节引言1.1 电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。

而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。

传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。

另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。

随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。

从而使密码锁具有很高的安全性、可靠性。

目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。

但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。

很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。

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

设计本课题时构思的方案:采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。

1.2 本设计主要任务(1)共8位密码,每位的取值范围为1~8。

(2)用户可以自行设定和修改密码。

(3)按每个密码键时都有声、光提示。

(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。

(7)密码键盘上只允许有8个密码按键和1个发光管。

基于单片机的电子密码锁及程序

基于单片机的电子密码锁及程序
关键字:密码锁、AT89C52、矩阵键盘、报警
一、设计背景
随着社会科技的进步,锁已经发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像来控制锁的开启,从而大大提高了锁的安全性。当今安全信息系统应用越来越广泛,特别在机密保护、维护隐私与财产保护方面起到重大作用,而基于电子密码锁的安全系统就是其中的一部分,运用非常广泛,研究它具有重大的现实意义。
在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段,还要对按键进行消抖处理。
当确认有按键按下后,就要识别就是哪一个按键被按下。本次设计使用的就是线反转法。给行线置为0x0f,给列线置为0xf0,再将行列进行逻辑或结果为0xff,当有按键下时相应的按键位行列均为0,行列逻辑或不为0xff,由此可利用行列逻辑或后的值就是否为0xff来判断就是否有按键按下。再根据扫描结果判断按下键的位置。给相应的按键赋值即可实现数字键与功能键。对功能键进行相应的软件编程即可实现按键功能。
如图一所示,矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而就是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线与M条列线即可组成有 个按键的键盘。
图一 矩阵键盘
本次设计需要0~9十个数字按键、一个新建键、一个确认键、一个修改键、一个进入键与一个取消键共15个按键,所以选用4X4的矩阵按键。
5、
本系统软件设计由主程序、初始化程序、键盘扫描程序、密码输入程序、功能键定义程序、重置密码程序、LCD显示程序、中断延时程序、报警程序、延时程序组成。
如图六所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,判断密码就是否正确,密码正确开锁,密码不正确统计错误密码次数加1。在开锁情况下进行修改密码,点击确认密码修改成功,否则结束返回。若密码修改成功则再执行之前的操作。

基于单片机指纹识别密码锁设计任务书

基于单片机指纹识别密码锁设计任务书
写出完整的设计论文
2.毕业设计(论文)工作进度计划:
周 次
工作内容
1周
2-4周
6-8周
8-10周
收集参考资料
设计制作硬件电路
软件测试、完成电路调试
完成论文,准备答辩
教研室(学科组)主任签字:
(1)毕业设计主要内容
搜集ATMEG16单片机知识、单片机外围电路设计的相关资料
单片机控制的软硬件设计与实现
本专业英语译文五千字符以上
(2)毕业设计的主要技术指标
设计基于单片机的指纹识别电子密码锁
(3)毕业设计基本要求
完成软硬件设计、画出硬件原理图、软件程序编写调试电路及程序、
翻译相关英文资料
收集的文献资料(包括ATMEG 16单片机及模块资料)
毕业设计(论文)任务书
题目
(包括副标题)
基于单片机指纹识别密码锁设计
教师姓名
Байду номын сангаасXXX
职称
XXX
系别
XXX
学生姓名
XXX
学号
XXX
班级
XXX
成果形式
A论文B设计说明书C实物D软件E作品
■□■□□
任务下达时间
2022年12月18日
1.毕业设计(论文)课题任务的内容和要求:
(包括原始数据、技术要求、工作要求以及图纸、程序、实物等要求)

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

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

基于单片机的电子密码锁设计
电子密码锁是一种常用的智能锁具,它使用数字密码代替传统的钥匙,能够提供更高的安全性和方便性。

基于单片机的电子密码锁能够实现简单的密码输入、校验和控制逻辑,下面是一种基于单片机的电子密码锁设计方案。

硬件部分:
1、MCU:选择一款高性价比的8位单片机,如AT89C51,具备足够的存储空间、操作速度和通用IO口。

2、键盘:选用16键或12键矩阵键盘,提供数字、字母和功能键,可灵活设置密码。

3、数码管:用于显示输入密码和状态信息,一般采用4位共阳数码管。

4、电路保护:此处需添加过流保护、短路保护、反向保护以及过压保护等电路。

5、电源:选择电池供电模式,例如4节AA碱性电池并联,以保证足够的电量和使用寿命。

软件部分:
1、键盘输入检测:通过IO口扫描矩阵键盘输入状态,检测按下的键位并读取对应键值,避免误触。

2、密码存储:将设定好的开锁密码存储在MCU内部的Flash或EEPROM中,以保证密码安全并避免意外丢失。

3、密码校验:将输入的数字密码与存储的密码进行比较,如一致则允许开锁,否则拒绝开锁并显示“密码错误”。

4、状态显示:通过4位共阳数码管显示输入密码、开锁状态、警报状态等信息,方便用户操作。

5、警报功能:若输入错误密码超过规定次数,则触发警报,并向指定手机号或邮箱发送警报信息。

总之,基于单片机的电子密码锁设计需要合理安排硬件和软件功能,充分保证安全性和可靠性,并考虑升级和扩展的可能性。

基于单片机的电子智能密码锁

基于单片机的电子智能密码锁

基于单片机的电子智能密码锁电子智能密码锁是一种集密码输入、识别、控制和驱动电机等功能于一体的安全装置。

本文将介绍基于单片机技术的电子智能密码锁的原理和设计。

一、引言随着科技的不断发展,传统钥匙锁已经逐渐被电子智能密码锁取代。

电子智能密码锁结合了密码学、电子技术和计算机技术,提供了更高的安全性和便捷性。

本文将介绍基于单片机的电子智能密码锁的设计与实现。

二、原理介绍基于单片机的电子智能密码锁主要由以下几个部分组成:键盘输入模块、显示模块、控制模块和电机驱动模块。

其中,键盘输入模块负责接收用户输入的密码,显示模块用于显示密码输入和开锁状态,控制模块通过对输入密码的处理来判断是否开锁,电机驱动模块则用于控制门锁的开关。

三、设计步骤1. 系统初始化在电子智能密码锁启动时,进行系统的初始化工作,包括对系统各个模块的初始化和参数的设置。

2. 用户输入密码用户通过键盘输入模块输入密码,密码可以采用数字、字母或其他特定字符,密码长度根据设计要求设置。

3. 密码处理与验证控制模块接收到密码后,对密码进行处理和验证。

处理可以包括对密码进行加密后再进行比对,以增加安全性。

4. 开锁控制如果密码验证通过,控制模块将发送开锁信号给电机驱动模块,电机驱动模块控制门锁的开关动作。

5. 显示与提示显示模块负责显示密码输入和开锁状态,以及提示用户的操作结果,例如密码错误的提示。

6. 安全性考虑为了增强电子智能密码锁的安全性,可以考虑添加如下功能:密码错误多次后自动报警、针对暴力破解的保护机制等。

四、应用场景基于单片机的电子智能密码锁广泛应用于家庭、办公室、酒店等地方的门锁系统中。

它不仅提供了开锁便捷和安全性,还可以方便地进行密码的修改和管理。

五、总结基于单片机的电子智能密码锁通过集成密码输入、识别、控制和驱动电机等功能,成为了传统钥匙锁的理想替代品。

通过合理的设计和实现,电子智能密码锁可以提供更高的安全性和便捷性,更好地满足人们对门锁系统的需求。

基于STM32的智能电子密码锁系统设计

基于STM32的智能电子密码锁系统设计

结论与展望
结论与展望
本次演示基于STM32单片机设计了一种智能电子密码锁系统,实现了较高的安 全性和便捷性。然而,在研究中仍存在一些不足之处,例如还可以进一步优化加 密算法提高系统安全性,同时还可以加入更多智能功能如指纹识别、面部识别等 提升锁具的全面性能。在未来的研究中,将进一步探索智能电子密码锁系统的优 化设计和多功能集成,以实现更加高效和安全的锁定功能。
三、硬件设计
2、指纹识别芯片:选用常见的指纹识别芯片,如FT-601或FT-600等,对该 模块进行开发,实现指纹图像的采集、处理和比对功能。
三、硬件设计
3、显示屏:选用LCD或LED显示屏,用于显示系统的操作界面、开锁状态等信 息。
4、键盘:提供按键输入功能,便于用户输入密码和进行系统设置。
三、硬件设计
三、硬件设计
三、硬件设计
基于STM32的指纹密码锁控制系统硬件部分主要包括STM32单片机、指纹识别 芯片、显示屏、键盘、电源等部分。
三、硬件设计
1、STM32单片机:作为控制系统的核心,STM32单片机负责整个系统的协调 与控制。它接收用户的指纹信息和密码输入,并控制指纹识别芯片和密码加密模 块等进行相应的处理。
六、应用前景
六、应用前景
基于STM32单片机的指纹密码锁控制系统具有较高的安全性和便利性,能够广 泛应用于家庭、办公室等各种场所。随着技术的不断发展,该系统还可以结合其 他智能家居技术,如物联网等,实现更加智能化和人性化的门禁控制系统,具有 广泛的应用前景和优势。
谢谢观看
2、重点模块设计
(1)按键模块
(1)按键模块
本系统采用4×4键盘矩阵,用户通过键盘输入密码。为提高密码输入的准确 性,系统采用去抖动处理,有效避免因按键抖动引起的误操作。

基于单片机的电子密码锁开题报告

基于单片机的电子密码锁开题报告

基于单片机的电子密码锁开题报告项目背景与目的随着科技的发展和智能化的进步,传统的机械密码锁逐渐被电子密码锁所取代。

电子密码锁具有安全性高、使用方便等优点,因此在家庭、商业场所、办公室等场合得到了广泛应用。

本项目的目的是设计并实现一种基于单片机的电子密码锁。

通过该电子密码锁,用户可以通过输入密码来开启或关闭锁具,提供一种便捷而安全的门禁系统。

项目内容与技术路线本项目的主要内容包括硬件设计与软件编程两个方面。

硬件设计:•使用单片机作为控制核心,利用其高性能和可靠性;•运用按键、LCD显示屏、继电器、电磁锁等元器件,实现用户输入密码、显示密码状态、控制锁具开关的功能;•电源部分选用适配器和电池,以保证系统的可靠供电。

软件编程:•采用C语言进行单片机程序的编程,实现用户密码的输入与验证;•设计密码存储与输入的算法,确保密码的安全性;•利用LCD显示屏实时显示密码状态,提供友好的用户界面;•通过编程控制继电器和电磁锁的开关,实现锁具的远程控制。

预期成果本项目的预期成果包括:1.实现基于单片机的电子密码锁的硬件和软件设计;2.提供一个安全稳定、使用方便的电子密码锁原型;3.撰写相关的技术文档,包括开题报告、设计报告以及最终的实施报告;4.完成项目答辩和展示,向老师和同学展示项目的设计思路和实际效果。

时间计划本项目预计分为以下几个阶段,并按照时间计划逐步完成:1.需求分析和系统设计:确定系统需求,绘制系统框图和电路图,编写系统设计文档。

时间:1周。

2.硬件设计与制作:选购元器件,对硬件进行设计和布局,制作硬件原型。

时间:1周。

3.软件编程与测试:编写单片机程序,验证密码输入和验证算法,完成软件编程与测试。

时间:1周。

4.系统整合与调试:将软件与硬件进行整合,并进行整体调试和优化。

时间:1周。

5.文档撰写与完善:撰写项目的相关文档,包括开题报告、设计报告和实施报告。

时间:2周。

6.答辩与展示准备:准备项目答辩和展示所需资料,练习演讲技巧。

(完整版)基于51单片机的电子密码锁毕业设计论文

(完整版)基于51单片机的电子密码锁毕业设计论文

(完整版)基于51单⽚机的电⼦密码锁毕业设计论⽂⽬录第1章绪论 (1)1.1电⼦锁的发展状况 (1)1.2设计电⼦密码锁的意义及相关技术指标 (1)第2章总体设计及⽅案论证 (2)2.1单⽚机模块 (2)2.2输⼊键盘模块 (2)2.2.1独⽴式按键 (2)2.2.2矩阵式键盘 (3)2.3数码管显⽰模块 (3)2.3.1 LED静态显⽰⽅式 (3)2.3.2 LED动态显⽰⽅式 (3)2.4电源模块 (3)2.4.1蓄电池供电 (3)2.4.2双路电源供电 (3)2.5开锁电路模块 (4)2.6报警电路模块 (4)2.7最优⽅案 (4)第3章硬件电路设计 (4)3.1输⼊键盘 (4)3.2显⽰数码管 (5)3.3开锁电路 (6)3.4报警电路 (6)3.5电源电路 (7)3.6复位电路 (7)3.7振荡电路 (8)第4章软件设计 (9)4.1主程序流程图及程序 (9)4.2延时⼦程序 (11)4.3修改密码⼦程序 (11)4.4扫描键盘输⼊⼦程序 (11)4.5中断及报警⼦程序 (12)4.6显⽰⼦程序 (13)第5章设计总结 (15)参考⽂献 (16)附录Ⅰ (17)附录Ⅱ (18)第1章绪论1.1电⼦锁的发展状况随着科技的发展,传统的机械锁被破解的概率越来越⾼了,新型的盗贼也学会了与时俱进,通过各种技术⽅法和⼿段即会在短时间内开启结构复杂的机械锁,会不留痕迹的登堂⼊室,给失主和警⽅留下各种不易解惑的疑团。

由此我们想到,要是在机械锁的基础上再装上⼀把电⼦锁,就彻底杜绝了单⼀机械锁易被开启的弊端,从⽽极⼤提⾼门锁的安全防范性能。

当今世界,电⼦锁发展已经到了⾮常⾼的境界,由于电⼦元件特别是单⽚机应⽤在最近⼏年得到空前发展,电⼦锁⽆论是在功能还是在稳定性⽅⾯都有了较⼤的提⾼,在保密性⽅⾯已经做到了密码识别、指纹识别、⼈声识别等。

就整体形势⽽⾔,电⼦锁在国外发展⽐较早,所以应⽤也⽐较⼴泛,主要⽤于家庭门锁,银⾏公司等的财务保险柜锁和政府机关及⾼级宾馆等重要场合的智能控制门锁等。

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

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

基于单片机的红外电子密码锁的设计基于单片机的红外电子密码锁的设计随着科技的发展,红外电子密码锁逐渐取代传统的机械密码锁成为了门禁系统中的主流。

红外电子密码锁通过红外线传输数据,使得开锁变得更加智能化、快速化,而且提高了安全性,防止了密码泄露以及密码碰撞的问题。

本文将介绍一种基于单片机的红外电子密码锁的设计方案。

一、系统方案本设计采用C51单片机为控制器,红外线信号接收模块作为主控,驱动步进电机控制门锁的开关,使得门的开关更加方便快捷,并提高了安全性。

电路运用了ISP编程器,通过USB 接口与电脑连接,并通过Keil软件编写程序上传到控制器中,以控制系统的整体运行流程。

二、硬件设计1. 单片机选型本设计中,选用51系列单片机控制器Atmel AT89C51,其具有内部FLASH可编程存储器,可在编程过程中对程序进行修改,更加便于控制器程序的更新维护。

同时,该单片机具有多种外设接口,包括计数器、定时器、串口等,便于实现控制器与各种传感器、执行器的互联。

2. 电源设计本系统使用直流12V供电,其中12V正极接单片机VCC,负极接GND,同时将12V作为步进电机的电源。

在电路中使用L7805稳压电源,将电压稳定输出为5V供给单片机芯片和红外线传感器等其他模块。

3. 红外线接收模块在门锁上方适当放置一个2150nm红外线传感器模块,以接收红外线信号并将其转化为数字信号。

这里采用的是RS232接口连接,将红外二极管所收到的红外线信号交给MCU进行处理。

4. 步进电机为实现门的自动开启关闭,本设计采用了步进电机驱动门锁的开关。

步进电机与单片机控制器的连接采用的是四线步进电机驱动电路。

其中,两根草绿色和橙色的线为电机的控制线,将其接入单片机P3口中,蓝色和红色的两根线分别为电机的两个电极,将它们接到电机驱动器的两个对应通道上。

三、软件设计1. 开发环境本设计所需的IDE使用Keil 4.0集成开发工具,同时也需要用到AT89C51单片机的ISP编程器,将程序下载到MCU板上。

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

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

基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。

用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。

如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。

二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。

该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。

(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。

矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。

(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。

EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。

(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。

可以显示开锁状态、输入错误提示等信息。

(五)执行模块执行模块包括电磁锁和报警装置。

当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。

三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。

然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。

(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。

同时,对输入的密码进行加密处理,提高密码的安全性。

(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。

比对过程中,采用逐位比较的方式,确保密码的准确性。

(四)错误处理当输入密码错误时,记录错误次数。

如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。

四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。

(完整版)基于单片机的电子密码锁参考毕业论文设计

(完整版)基于单片机的电子密码锁参考毕业论文设计

毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。

本密码锁的主控芯片采用价格实惠而且容易购买的 STC89C52芯片。

密码输入采用矩阵键盘及独立键盘,密码显示采用共阴极的八段显示数码管。

系统能完成密码输入、正确开锁、超次报警这些基本的密码锁的功能。

系统的软件实现采用功能强大且易于开发的KeilC51环境,且支持ISP下载。

因此没使用编程器,用C 语言实现系统的软件部分。

由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由AT24C02芯片来实现。

此设计具有安全性高、价格低廉便于实现、易于改进等优点。

【关键词】电子密码锁STC89C52矩阵键盘 AT24C02ABSTRACTMCU widely used in the security password protection aspect anti-theft alarm function electronic combination lockgradually replace the traditional mechanical trick lock,it also overcome the security problems that thepassword of machinery combination lock are too few.This combination lock's master chip adopts STC89C52which is affordable and easy to buy.Password’s inputadopt matrix keyboard and independent keyboard,password's display using the erection of the cathodetube display digital. This system can accomplishpassword input, correct unlock, super times alarm ,these basic combination lock function . Softwarerealization of this system is used in KeilC51environment .it is powerful and easy to develop, and tosupport ISP to download. Therefore it is not useprogrammer, use C language implementation softwareof system components. Because 51MCU also order to,the system's periphery added off electricity storagecircuit and use AT24C02 chip to overcome theseshortcomings. This design lock STC89C52 Matrixkeyboard AT24C02前言随着社会物质财富的日益增长,安全防盗已成为社会问题。

基于单片机的电子密码锁及程序

基于单片机的电子密码锁及程序

基于单片机的电子密码锁设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜。

电子密码锁保密性好,使用灵活性高,收到广大用户的青睐。

本设计是以单片机AT89C52作为密码锁的主控芯片与数据存储单元,结合外围的矩阵键盘输入、LCD显示、开锁、报警等,用C语言编写程序,并用Keil uVision4软件进行编译设计了一款可以更改密码,具有报警功能的电子密码控制系统。

本设计采用矩阵键盘对密码进行输入,具有较高的优势,减少了I/O口的占用数目。

密码的显示采用LCD显示屏实现,为确保安全性统一使用“*”显示密码,当重新设置密码时按下“修改”键,LCD显示屏显示数字。

采用蜂鸣器模拟报警系统,增加了密码锁的安全能力。

软件使用C语言编程,运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

测试结果表明,设计达到电子密码锁的功能。

关键字:密码锁、AT89C52、矩阵键盘、报警一、设计背景随着社会科技的进步,锁已经发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像来控制锁的开启,从而大大提高了锁的安全性。

当今安全信息系统应用越来越广泛,特别在机密保护、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的一部分,运用非常广泛,研究它具有重大的现实意义。

电子密码锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。

大大提高了主人物资的安全性。

目前使用的密码锁种类繁多,各具特色。

本文从经济实用的角度出发,采用AT89C52单机,研制了一款具有防盗自动报警功能的电子密码锁。

该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。

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

基于单片机的电子密码锁及程序Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】基于单片机的电子密码锁设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜。

电子密码锁保密性好,使用灵活性高,收到广大用户的青睐。

本设计是以单片机AT89C52作为密码锁的主控芯片与数据存储单元,结合外围的矩阵键盘输入、LCD显示、开锁、报警等,用C语言编写程序,并用Keil uVision4软件进行编译设计了一款可以更改密码,具有报警功能的电子密码控制系统。

本设计采用矩阵键盘对密码进行输入,具有较高的优势,减少了I/O 口的占用数目。

密码的显示采用LCD显示屏实现,为确保安全性统一使用“*”显示密码,当重新设置密码时按下“修改”键,LCD显示屏显示数字。

采用蜂鸣器模拟报警系统,增加了密码锁的安全能力。

软件使用C 语言编程,运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

测试结果表明,设计达到电子密码锁的功能。

关键字:密码锁、AT89C52、矩阵键盘、报警一、设计背景随着社会科技的进步,锁已经发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像来控制锁的开启,从而大大提高了锁的安全性。

当今安全信息系统应用越来越广泛,特别在机密保护、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的一部分,运用非常广泛,研究它具有重大的现实意义。

电子密码锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。

大大提高了主人物资的安全性。

目前使用的密码锁种类繁多,各具特色。

本文从经济实用的角度出发,采用AT89C52单机,研制了一款具有防盗自动报警功能的电子密码锁。

该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。

二、设计目的1.了解单片机开发系统的组成及结构;2.掌握I/O口的操作方法;3.能够熟练使用protues和keil软件进行连线和编程,并熟练掌握仿真方法;4.掌握LCD显示屏的显示原理;5.掌握C语言编程方法;6.培养查找错误和改正错误的能力。

三、设计要求本设计采用单片机为主控芯片,结合外围电路组成电子密码控制系统。

设计主要功能有:1.设置6位密码,密码通过键盘输入,若密码正确,则锁打开,LCD显示“Password Right Lock Opened!”。

原始密码在首次开锁时为“000000”。

2.重新设置密码时,LCD显示“******”,按下“修改”键显示数值。

3.密码只能输入6位数字,无法输入多余数字。

4.具有自动报警功能:当密码输入错误三次,报警,蜂鸣器响3秒。

5.LED数码管显示密码,为确保安全性所有密码均用“*”表示。

四、设计原理和硬件仿真方案1.矩阵键盘密码的输入用矩阵键盘实现,包括数字键和功能键。

具体功能设计如表一:表一键盘具体功能设计表如图一所示,矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线即可组成有MN 个按键的键盘。

图一矩阵键盘本次设计需要0~9十个数字按键、一个新建键、一个确认键、一个修改键、一个进入键和一个取消键共15个按键,所以选用4X4的矩阵按键。

在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段,还要对按键进行消抖处理。

当确认有按键按下后,就要识别是哪一个按键被按下。

本次设计使用的是线反转法。

给行线置为0x0f,给列线置为0xf0,再将行列进行逻辑或结果为0xff,当有按键按下时相应的按键位行列均为0,行列逻辑或不为0xff,由此可利用行列逻辑或后的值是否为0xff来判断是否有按键按下。

再根据扫描结果判断按下键的位置。

给相应的按键赋值即可实现数字键和功能键。

对功能键进行相应的软件编程即可实现按键功能。

使用矩阵键盘能减少键盘和单片机接口所占用的I/O线数目,当按键较多的时候通常采用这种方法。

2.开锁电路在本次设计中用发光二极管代替电磁锁,二极管D1亮表示锁开,二极管灭表示没有开锁。

如图二所示,当输入密码与内置密码相配合时将置0,二极管亮,否则二极管不亮。

图二发光二级管电路3.报警电路报警电路由单片机和蜂鸣器组成,如图三所示,当为低电平时蜂鸣器发出声音报警。

每次输入的密码与正确密码进行比较,如果相同,锁开灯亮。

如果输入错误则用一个变量来记录输入错误的次数,当输入密码错误达到三次时,蜂鸣器工作发出报警声音,本次设计使用的是声音持续3秒蜂鸣器报警,即可听到“嘟——”3秒的响声。

图三报警电路4.LCD显示电路密码显示电路由单片机、排阻和LCD显示屏组成。

显示电路如图四所示。

为保证密码的保密性,本设计采用“*”显示所有输入密码,如图四所示。

当重设密码时,按下“修改”键显示数字,如图五所示。

本设计只允许输入数字密码6次,超过6次以后的数字无法输入。

图四 LCD显示电路图五重设密码LCD显示数字五、软件程序设计本系统软件设计由主程序、初始化程序、键盘扫描程序、密码输入程序、功能键定义程序、重置密码程序、LCD显示程序、中断延时程序、报警程序、延时程序组成。

如图六所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,判断密码是否正确,密码正确开锁,密码不正确统计错误密码次数加1。

在开锁情况下进行修改密码,点击确认密码修改成功,否则结束返回。

若密码修改成功则再执行之前的操作。

YN图六主程序流程图六、系统调试本次调试采用的是protues和keil软件进行仿真。

首先运用keil软件编写电子密码锁的源程序,本设计主要运用C语言编写。

源程序编写后运行生成目标文件供protues仿真调试。

图七为LED显示六位密码的情况图七 LCD显示密码图当密码正确按下确认键发光二极管亮,锁开。

如图八图八密码正确锁开灯亮当密码输入错误三次蜂鸣器发出声音报警,如图九所示图九蜂鸣器报警由图九可以看到蜂鸣器接地端为蓝色,即此时为低电平,所以蜂鸣器正在发出报警声音。

Protues仿真电路图如图十所示图十 protues仿真电路图七、设计总结与展望课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。

因此作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。

本设计经过多次修改和整理,可以满足基本的要求。

密码正确,锁开;密码输入错误三次,报警;输入密码超过6位之后的数无效;LCD显示屏显示密码为“*”。

在设计的过程中遇到了各种各样的问题,譬如说断电密码保护的设计,由于电路和编程都过于复杂,本设计并未加入。

在编程的过程中问题也是很多,由于程序较长,当实现了这个功能另外一个功能有不能很好的实现,所以要做到模块与模块之间的衔接。

遇到的一些问题也经过努力一一克服。

回顾此次单片机课程设计,至今我仍感触颇多。

在设计过程中从理论到实践我们可以到很多很多东西,巩固了以前学过的知识,还懂得了如何将理论联系实际。

只有理论知识是远远不够的,只有将理论运用到实际中对我们来说才是有意义的,这样才能真正的为社会服务。

七、附录源程序清单:#include<>#include<>#define uchar unsigned charstatic unsigned char table[6]={0,0,0,0,0,0};//Declare functionsuchar Busy_Check();void Initialize_LCD();void Write_LCD_Data(uchar dat);void Write_LCD_Command(uchar cmd);void Display_String(uchar x,uchar y,uchar *str);void Display_char(uchar hang,uchar lie,char sign);//void write_add(uchar address,uchar date);//向AT24Cxx中的指定地址写入数据uchar read_add(uchar address);// 从AT24Cxx中的指定地址读取数据void init();uchar h=20;sbit touch=P2^1;sbit touch1=P2^2;sbit speaker=P2^0;void delay(unsigned char ms) // 延时**ms{unsigned char i;while(ms--){for(i=250;i>0;i--){_nop_();_nop_();_nop_();_nop_();}}}unsigned char keyscan() // 扫描键盘{unsigned char temp,y,j;unsigned char anjian[]={0xfe,0xfd,0xfb,0xf7};for(y=0;y<4;y++){P1 = anjian[y];temp = 0x10;for(j=0;j<4;j++){if(!(P1&temp)){return(j+y*4);}temp = _crol_(temp,1);}}}void judge(){P1 = 0xf0;if(P1!=0xf0) // 判断是否有按键 {delay(50);delay(50); // 消抖if(P1!=0xf0){h=keyscan();}}}void main(){unsigned char a=1,i=0,k=0,l=1,m=1,n,f=0,s=0; int q;Initialize_LCD();init();Display_String(1,1,"Welcome To Use "); Display_String(2,1," "); touch1=0;//第一个while循环while(1){judge();if(h<10){if(h==table[i])k++;Display_String(2,a,"*");a++;i++;if(a==7)a=1;if(i==6)i=0;h=16;}if(h==14){Display_String(1,1,"Input Password");Display_String(2,1," ");h=16;touch=1;touch1=0;k=0;l=1;q=0;}if(h==12){if(k==6){Display_String(1,1,"Password Right");Display_String(2,1,"Lock Opened!");touch=~touch;}else{Display_String(1,1,"Password Error");Display_String(2,1," ");l=0;q++;while(q==3){speaker=0;delay(200);delay(200);delay(200);speaker=1 ;q=0;}h=14;}delay(255);k=0;h=16;while(l){judge();if(h==11){ Display_String(1,1,"New Code");Display_String(2,1," ");while(m==1){judge();touch1=~touch1;if(h<10){table[n]=h;write_add(s,h);s++;Display_String(2,a,"*");a++;n++;h=16;if(n==6){n=0;s=0;}}if(h==15) {if(n==0)n=6;s=6;a--;s-- ;Display_String(2,a," ");n--;h=16;}if(h==13)m=0;}if(h==13)h=13;f=1;}if(h==14){l=0;}if(h==13){Display_String(2,1," ");for(n=0;n<6;n++)Display_char(2,n+1,(uchar)(table[n]+48) );h=13;l=0;f=1;}k=0;}}if(h==15){a--;Display_String(2,a," ");k--;i--;h=16;}if(h==13){ if(f==1){ for(n=0;n<6;n++)Display_char(2,n+1,(uchar)(table[n]+48) );f=0; }elseDisplay_String(2,1," ****** ");delay(255);delay(255);Display_String(1,1," Welcome To Use ");Display_String(2,1," ");l=1;a=1;k=0;n=0;m=1;h=16;}}for(s=0;s<6;s++){ table[s]=read_add(s); delay(50);}}。

相关文档
最新文档