密码锁设计 下载本文

河南工业职业技术学院

开始 系统初始调用E2PROM未超过N次 显示主界输入密码 N 锁定键超过N判断密Y 确定密码 开锁模拟声返判断次数再次输入Y 设置新密N 按Y 判断按键N 返回主界面 密码设置Y N N=0x8设置解码次N=0x产生随机密N=0x1 输入密码

图9 系统程序流程图

河南工业职业技术学院

3.1.1 主程序模块

主程序主要用于定义全局变量,给全局变量赋初值,初始化2

EPROM,启动定时器以及从AT24C02中读取密码,为整个程序提供数据;检测按键;调用显示等功能。 3.1.2 密码比较判断模块

该模块的功能是将键盘输入的密码利用if语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。其密码输入和比较判决流程图如图10所示。

输入密码 核对 N 键盘锁定,开启报警电Y 开锁,灯亮,可密码修复位

图10 密码输入和比较判决流程图

3.1.3 键盘扫描模块

键盘使用矩阵式键盘,由行和列组成,CPU对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是否释放等功能。如图11所示,为键盘扫描流程图。

河南工业职业技术学院

开始 有按键输入? Y 延时去抖动 Y 有按键输入? N N 计算输入键值 有按键输入? 键值送入单片机 返回

图11 键盘扫描流程图

3.1.4 修改密码模块

在密码输入正确情况下,可以按下“重置密码”对密码进行重新设置,每设定一位就将密码送给AT24C02存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。图12为修改密码流程图。

河南工业职业技术学院

开始 输入原密码 密码比较 N 密码正Y 输入新密码 键盘锁定,启动报警复位 再次输入新密调用AT24C02中密比较正确 修改成功 返回菜单

图12 修改密码流程图