基于51单片机的简易电子密码锁毕业设计课程设计.doc

上传人:sk****8 文档编号:3176898 上传时间:2019-05-24 格式:DOC 页数:28 大小:506KB
下载 相关 举报
基于51单片机的简易电子密码锁毕业设计课程设计.doc_第1页
第1页 / 共28页
基于51单片机的简易电子密码锁毕业设计课程设计.doc_第2页
第2页 / 共28页
基于51单片机的简易电子密码锁毕业设计课程设计.doc_第3页
第3页 / 共28页
基于51单片机的简易电子密码锁毕业设计课程设计.doc_第4页
第4页 / 共28页
基于51单片机的简易电子密码锁毕业设计课程设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 前言随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。下面就是现在主流电子密码锁:目前常见的遥控式电子防盗锁主要有光遥控和无线电遥控两类。键盘式电子密码锁从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。卡式电子防盗锁使用各种“卡”作为钥匙的电子防盗锁是当前最

2、为活跃的产品,无论卡的种类如何多种多样,按照输入卡的操作方式,都可分为接触式卡和非接 触式卡两大类。生物特征防盗锁人的某些与生俱来的个性特征(如手、眼睛、声音的 特征)几乎不可重复,作为“钥匙”就是唯一的(除非被逼迫或伤害) 。因此,利用生物特征做密码的电子防盗锁,也特别适合金融业注重“验明正身”的行业特点。人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自 古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从 20 世

3、纪 30 年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码 量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。但较实用的还是按键式电子密码锁。20 世纪 80 年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围

4、,难以普及,所以对它的研究一直没有明显进展。 目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被 广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上 70 年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。一、 作品功能:1、设置 6 位密码,密码通过键盘输入,若密

5、码正确,则将锁打开。2、密码可以由用户自己修改设定(只支持 6 位密码) ,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。3、报警、锁定键盘功能。密码输入错误显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。4、AT24C02 保存密码,支持复位保存,掉电保存功能。二、按键说明按键定义图如图示:采用 4X4 键盘输入,键盘对应名称如下:1 2 3 A4 5 6 B7 8 9 C* 0 # D其中, 【09】为数字键,用于输入相应的密码,【*】号键为取消当前操作【#】号键为确认【D】键为修改密码其它键无功能及定义三、操

6、作说明:密码锁初始密码为:000000.1、开锁:插上电源后,程序自动调入初始密码,此时依次输 入:000000,然后按【#】 (确认)键,此时锁会打开,可以看到显示 open,密码锁打开。2、退出并关锁:按下【*】 (取消)键,此时锁关闭,所有输入清除。3、修改密码:在开锁状态下,再次输入正确的密码并按下【#】 (确认)键,此4、5、6、时听到两声提示,输入新的六位密码并按【D】 (重设)键,再重复输入一次新密码并按【D】 ,会听到两声提示音,表示重设密码成功,内部保存新密码并存储到 AT24C02。 (如两次输入的新密码不一样,则重设密码失败) 。7、报警并锁定键盘:当输入密码错误后,报警

7、并锁定键盘 3 秒,如 3 秒内又有按键,3 秒再启动。8、当重置新密码时,新密码会保存于 AT24C02 存储器里。四、框图及流程图 1、系统结构框图2、主程序设计流程图NYN N YAT89S52显示模块报警电路开锁电路密码存储模块复位电路键盘输入模块初始化密码正确输入旧密码出错报警开锁 原密码相同设新密码开锁 修改3、键功能程序流程图。 YNYNYNYN返回键功能程序键值=09 ?键值=开锁?键值=确认?键值=设置?返回密码输入程序确认程序设置程序开锁程序4、开锁程序流程图Y开锁LCD 初始化输入密码按开锁键报警程序确认程序输入密码正确?开锁成功返回N5.电子密码锁原理图程序(c语言)#

8、include #include#define LCM_Data P0#define uchar unsigned char #define uint unsigned int#define w 6 /定义密码位数sbit lcd1602_rs=P25;sbit lcd1602_rw=P26;sbit lcd1602_en=P27;sbit Scl=P34; /24C02串行时钟sbit Sda=P35; /24C02串行数据sbit ALAM = P21; /报警sbit KEY = P20; /开锁sbit open_led=P22; /开锁指示灯bit operation=0; /操作标

9、志位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=“; /

10、显示名称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 =

11、“ResetPasswordOK “;unsigned char code initword = “Init password.“;unsigned char code Er_try = “error,try again!“;unsigned char code again = “input again “;unsigned char InputData6; /输入密码暂存区unsigned char CurrentPassword6=1,3,1,4,2,0; /当前密码值unsigned char TempPassword6;unsigned char N=0; /密码输入位数记数unsig

12、ned char ErrorCont; /错误次数计数unsigned char CorrectCont; /正确输入计数unsigned char ReInputCont; /重新输入计数unsigned char code initpassword6=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;i125;i+);void Nop(void) /空操作_nop_();_nop_();_nop_();_nop_();/*起始条件*/void Start(void)Sda=1;Scl=1;Nop();Sda=0;

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。