电子密码锁详细介绍

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

电子密码锁的开发流程

背景:自己和两个同学一起组队参加这次校级的电子设计大赛。

学习时间:2012年3月下旬至5月中旬比赛时间:5月13日-5月18日

项目名称:基于可保存的51单片机电子密码锁设计

设计原理和大致思路:本设计是基于STC89C52单片机为控制核心的密码锁设计方案,通过综合布局,结合部分外围电路,如矩阵键盘、LCD显示、报警、掉电存储等,实现密码的输入和修改、键盘的锁定、信息的显示、系统报警、开锁和闭锁等功能。在设计中,利用识别密码是否正确来开锁或报警,通过串行存储器AT24C02来实现密码的修改和存储。

一、功能细化设计

(1)能够从键盘中输入密码,并相应地在显示器上显示‘*’;

(2)能够判断密码是否正确,正确则开锁,错误则输出相应信息;

(3)能够实现密码的修改;

(4)断电或者单片机复位后能够保存之前的操作,比如密码的修改;

(5)在操作错误达到一定次数后能够报警;

(6)在一定时间内没有任何按键操作则关闭显示器,并锁定键盘,禁止键盘

输入(单片机复位后锁定取消);

(7)设置一个备用密码。为了防止用户忘记密码而开不了锁,应该在经常使

用的密码外再设置一个备用密码以防万一。

根据以上分析,本次电子密码锁设计的主要重点是以下几个部分:4x4矩阵键盘设计、LCD信息显示、密码的掉电存储和密码的比较和处理。当然,除了这几个部分外还有定时器/计数器计时中断和报警等功能模块。如图1-1所示。

图1-1 系统总体设计结构图

二、具体执行

说明一:每一部分都是先用Proteus 仿真之后进行的,下面是一些重要设计部分的Proteus仿真图展示。

2.1 矩阵键盘设计

一组键或者一个键盘,需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式了解有没有键被按下,并检查是哪个键被按下。无论是查询方式还是中断方式都要用到单片机的I/O口。由于单片机I/O口较少的

原因,当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采用矩阵键盘的方式来实现多按键的功能。

图3-4是4x4矩阵键盘在PROTEUS中仿真图。

图2-1 4x4矩阵键盘

矩阵键盘又叫做行列式键盘。行列式键盘的硬件结构比较简单,由行输出口和列输出口构成行列式键盘,按键设置在行、列交点上。图3-4中,P1.0~P1.3是行输出口,P1.4~P1.7是列输出口。行输出口和列输出口不相交,只有当键被按下时相应的行和列才能相连。如此,只要检测行和列是否相连就可以知道是否有键按下。

当确定有键被按下时,通过逐行扫描,读出I/O口的值可以知道哪一行的值被改变了,被改变了的行即是被按下的按键所在行。同时,由于每个键都有它的行值和列值,行值和列值得组合就是这个按键的编码,当算法一定时,每个按键的编码是固定的,且各个按键的编码互不相同,所有通过读

I/O的值还能具体知道是哪一个键被按下,这样就实现了键盘的识别。

2.2 LCD液晶显示

在单片机应用系统中,常用的显示设备有单个发光二极管、八段LED显示器、液晶显示器(LCD)、屏幕显示器(CRT)等。在本次设计中,基于设计所要

实现的功能和节约成本等实际情况,我采用LCD1602作为本次设计的显示器。

由于LCD要正常工作必须提供足够的电流,因此在实际应用为了保证显

示器能够正常工作,应在数据端口接一上拉电阻。图3-5中RP1同时还是P0

口的上拉电阻。

图2-2 LCD模块仿真图

2.3硬件综合设计

根据电路原理,在PROTEUS中画出各功能模块的仿真图,各个功能模

块验证正确后,将所有模块集合到一个电路设计图中,画出具有所有功能的

总体硬件仿真图。

图2-3 基于单片机的电子密码锁设计仿真图

待程序编写好后,将KEIL和PROTEUS联调,观察此电路设计图可以知道各个功能模块和器件的工作情况。届时,根据实际情况可以适当修改电路图或者程序,以达到设计的目的。

附录设计实物图

附图1 实物正面图

附图2 实物反面图

说明2:由于之前自学的不系统,很多问题解决不了,在指导老师和队员的一点一点努力下,项目正常进行(所以花费的时间有点长),在比赛期间,真正的时间是四天三夜(最后推迟一天交上去的);

说明3:自己在这次比赛中负责部分代码(掉电存储和液晶显示部分)、焊接调试及编辑报告;

说明4:时间紧张,很多地方不完善之处,还望老师见谅,谢谢;

说明5:有关Linux底层应用开发(kernels的配置、文件系统的制作,QT应用程序的开发),成型作品是多功能计算器;在我展示作品时,已做成PPT,请老师审核;

相关文档
最新文档