电子密码锁详细介绍

发布时间:190 阅读次数:190

  根据电路原理,在PROTEUS中画出各功能模块的仿真图,各个功能模块验证正确后,将所有模块集合到一个电路设计图中,画出具有所有功能的总体硬件仿线基于单片机的电子密码锁设计仿真图

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

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

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

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

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

  一组键或者一个键盘,需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式了解有没有键被按下,并检查是哪个键被按下。无论是查询方式还是中断方式都要用到单片机的I/O口。由于单片机I/O口较少的原因,当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采用矩阵键盘的方式来实现多按键的功能。

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

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

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

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

  (6)在一定时间内没有任何按键操作则关闭显示器,并锁定键盘,禁止键盘输入(单片机复位后锁定取消);

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

  在单片机应用系统中,常用的显示设备有单个发光二极管、八段LED显示器、液晶显示器(LCD)、屏幕显示器(CRT)等。在本次设计中,基于设计所要实现的功能和节约成本等实际情况,我采用LCD1602作为本次设计的显示器。

  由于LCD要正常工作必须提供足够的电流,因此在实际应用为了保证显示器能够正常工作,应在数据端口接一上拉电阻。图3-5中RP1同时还是P0口的上拉电阻。