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

上传人:11****ws 文档编号:3743114 上传时间:2019-07-11 格式:DOC 页数:17 大小:10.08MB
下载 相关 举报
基于单片机的电子密码锁及程序.doc_第1页
第1页 / 共17页
基于单片机的电子密码锁及程序.doc_第2页
第2页 / 共17页
基于单片机的电子密码锁及程序.doc_第3页
第3页 / 共17页
基于单片机的电子密码锁及程序.doc_第4页
第4页 / 共17页
基于单片机的电子密码锁及程序.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、1基于单片机的电子密码锁设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜。电子密码锁保密性好,使用灵活性高,收到广大用户的青睐。本设计是以单片机 AT89C52 作为密码锁的主控芯片与数据存储单元,结合外围的矩阵键盘输入、LCD 显示、开锁、报警等,用 C 语言编写程序,并用 Keil uVision4 软件进行编译设计了一款可以更改密码,具有报警功能的电子密码控制系统。本设计采用矩阵键盘对密码进行输入,具有较高的优势,减少了 I/O 口的占用数目。密码的显示采用 LCD 显示屏实现,为确保安全性统一使用“*”显示密码,

2、当重新设置密码时按下“修改”键,LCD 显示屏显示数字。采用蜂鸣器模拟报警系统,增加了密码锁的安全能力。软件使用 C 语言编程,运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,设计达到电子密码锁的功能。关键字:密码锁、AT89C52、矩阵键盘、报警一、设计背景随着社会科技的进步,锁已经发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像来控制锁的开启,从而大大提高了锁的安全性。当今安全信息系统应用越来越广泛,特别在机密保护、维护隐私和财产保

3、护方面起到重大作用,而基于电子密码锁的安全系统是其中的一部分,运用非常广泛,研究它具有重大的现实意义。电子密码锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用 AT89C52 单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。2、设计目的1. 了解单片机开发系统的组成及结构;2. 掌握 I/O 口的操作方法;3. 能够熟练使用 protues 和 k

4、eil 软件进行连线和编程,并熟练掌握仿真方法;4. 掌握 LCD 显示屏的显示原理;25. 掌握 C 语言编程方法;6. 培养查找错误和改正错误的能力。3、设计要求本设计采用单片机为主控芯片,结合外围电路组成电子密码控制系统。设计主要功能有:1. 设置 6 位密码,密码通过键盘输入,若密码正确,则锁打开,LCD 显示“Password Right Lock Opened!”。原始密码在首次开锁时为“000000” 。2. 重新设置密码时,LCD 显示“*” ,按下“修改”键显示数值。3. 密码只能输入 6 位数字,无法输入多余数字。4. 具有自动报警功能:当密码输入错误三次,报警,蜂鸣器响

5、3 秒。5. LED 数码管显示密码,为确保安全性所有密码均用“*”表示。4、设计原理和硬件仿真方案1. 矩阵键盘密码的输入用矩阵键盘实现,包括数字键和功能键。具体功能设计如表一:表一 键盘具体功能设计表按键 键名 功能09 数字键 输入密码新建 新建键 设定新密码确认 确认键 比较密码修改 修改键 显示密码进入 进入键 允许输入密码取消 取消键 取消输入密码如图一所示,矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要 N 条行线和 M 条列线即可组成有 个按键的键盘。MN3图一 矩阵键盘本次设计需要 09 十个数字按键、一个新建

6、键、一个确认键、一个修改键、一个进入键和一个取消键共 15 个按键,所以选用 4X4 的矩阵按键。在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段,还要对按键进行消抖处理。当确认有按键按下后,就要识别是哪一个按键被按下。本次设计使用的是线反转法。给行线置为 0x0f,给列线置为 0xf0,再将行列进行逻辑或结果为0xff,当有按键按下时相应的按键位行列均为 0,行列逻辑或不为 0xff,由此可利用行列逻辑或后的值是否为 0xff 来判断是否有按键按下。再根据扫描结果判断按下键的位置。给相应的按键赋值即可实现数字键和功能键。对功能键进行相应的软件编程

7、即可实现按键功能。使用矩阵键盘能减少键盘和单片机接口所占用的 I/O 线数目,当按键较多的时候通常采用这种方法。2. 开锁电路在本次设计中用发光二极管代替电磁锁,二极管 D1 亮表示锁开,二极管灭表示没有开锁。如图二所示,当输入密码与内置密码相配合时将 P2.1 置 0,二极管亮,否则二极管不亮。4图二 发光二级管电路3. 报警电路报警电路由单片机和蜂鸣器组成,如图三所示,当 P2.0 为低电平时蜂鸣器发出声音报警。每次输入的密码与正确密码进行比较,如果相同,锁开灯亮。如果输入错误则用一个变量来记录输入错误的次数,当输入密码错误达到三次时,蜂鸣器工作发出报警声音,本次设计使用的是声音持续 3

8、秒蜂鸣器报警,即可听到“嘟”3 秒的响声。5图三 报警电路4. LCD 显示电路密码显示电路由单片机、排阻和 LCD 显示屏组成。显示电路如图四所示。为保证密码的保密性,本设计采用“*”显示所有输入密码,如图四所示。当重设密码时,按下“修改”键显示数字,如图五所示。本设计只允许输入数字密码 6 次,超过 6 次以后的数字无法输入。6图四 LCD 显示电路图五 重设密码 LCD 显示数字75、软件程序设计本系统软件设计由主程序、初始化程序、键盘扫描程序、密码输入程序、功能键定义程序、重置密码程序、LCD 显示程序、中断延时程序、报警程序、延时程序组成。如图六所示为主程序流程图,开始接上电源,程序

9、进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,判断密码是否正确,密码正确开锁,密码不正确统计错误密码次数加 1。在开锁情况下进行修改密码,点击确认密码修改成功,否则结束返回。若密码修改成功则再执行之前的操作。NY N N Y Y Y N 图六 主程序流程图六、系统调试本次调试采用的是 protues 和 keil 软件进行仿真。首先运用 keil 软件编写电子密码锁的源程序,本设计主要运用 C 语言编写。源程序编写后运行生成目标文件供 protues 仿真调试。图七为 LED 显示六位密码的情况开始初始化键盘扫描子程序输入密码子程序LCD 显示子程序输入密码个数 N=6?密码正确?开锁调用延时子程序重设密码?结束密码错误次数q+1调用密码重置子程序调用报警子程序q=3?8图七 LCD 显示密码图当密码正确按下确认键发光二极管亮,锁开。如图八图八 密码正确锁开灯亮当密码输入错误三次蜂鸣器发出声音报警,如图九所示9图九 蜂鸣器报警由图九可以看到蜂鸣器接地端为蓝色,即此时为低电平,所以蜂鸣器正在发出报警声音。Protues 仿真电路图如图十所示图十 protues 仿真电路图

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

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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