电子密码锁总体设计方案
电子密码锁设计
一、目标
1、任务和目标
本项目设计一种基于AT89C51单片机控制的电子密码锁,要求达到以下任务目标:
(1)可通过键盘输入密码控制开关的开锁和闭锁;
(2)可通过扩展的LCD 显示器显示输入的密码;
(3)密码可以多次改写和重置;
(4)连续三次输入密码错误,报警装置开始工作,密码锁进入锁机状态。
2、功能需求简述
二、详细设计方案的选择及设计思路概述
1、设计方案的选择
本次设计的密码锁在理论上可以利用多种设计方法及原理进行设计,依据设计的简单、高效、易于实现等原则,主要有两种设计方案可供选择,即:数字电路控制和以AT89C51为核心的单片机控制两种方案。现在对其两种方案进行可行性对比分析。
方案一:采用数字电路控制。其原理图下图1所示。
图1 数字密码锁电路方案
电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
采用数字密码锁电路的好处就是设计简单。用以74LS112双JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵
活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加多组密码设置、报警提示等控制功能。其原理如下图2所示。
图2 单片机控制方案
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路。
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用一种以89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,进行密码锁的设计工作以实现基本的密码锁功能。
2、初步设计思路概述
对于本次密码锁的初步设计,首先是要有一定的大概思路。如下图3所示,本次设计选用单片机开发系统,以AT89C51单片机为核心,辅以扩展的键盘以及LCD 显示模块组成完整的系统。通过键盘采集输入的信息,与单片机内的储存值比较,如果密码正确,则开锁电路打开;如果密码错误,给出错误提示。若连续三次输入密码错误,蜂鸣器产生蜂鸣音,并且系统自动锁定键盘;在以上工作的同时显示电路工作,同步显示符号“*”代替输入的数值。
图3 最初设计思路框图
二、设计方法和技术条件
1、设计原则
系统总体设计原则如下分析,应该尽可能的满足密码锁的功能要求,包括程序启动功能、锁的基本功能、个人密码更改功能、多组密码设置、报警功能。
首先,通过键盘采集输入的信息,与单片机内的储存值比较,如果密码正确,则开锁电路运行,锁被成功打开;如果三次密码错误,则报警系统自动进行提示,蜂鸣器产生蜂鸣音;在以上工作的同时显示电路工作,同步显示输入数值。
在输入正确密码后,密码锁开锁,按输入新密码键,输入新密码,按下新密码保存键,则修改密码成功。要再次开锁则需要输入正确的密码。
2、应用的技术分析
本次密码锁功能的实现,需要使用到以下关键技术:
(1)基于AT89C51单片机简单设计及外围扩展电路;
(2)键盘输入及单片机间的数据传输;
(3)LCD 显示技术、动态输出及单片机间的数据传输。
(4)通信传输协议
3、设计者当前已具备的技术条件
在设计密码锁之前,本组三位成员基本上已经掌握了以下技术:
(1)课题组成员都参阅过相关的51单片机开发方面的书籍,熟悉Altim Designer 电路设计,有一定的电路设计基础;
(2)课题组成员李鹏飞对C 语言函数库的调用有一定的了解,具备C 语言程序设计开发经验;
(3)课题组成员李俊龙熟悉PCB 板的制作过程及protuse 绘图,课题组成员刘茂有一定的文学功底,有一定的能力撰写课题报告;
(4)各个成员都可以熟练的运用仿真软件proteus 以及编译软件keil 进行仿真实验和调试。
(5)对通信协议和传输有一定的了解
4、设计重点难点
完成本方案设计的重点和难点有以下几点:
(1) C语言程序设计和控制函数的调用;
(2) 键盘模块和动态显示工作方式的LCD 显示模块的控制;
(3) 报警电路的设计;
(4) 用Altim Designer软件进行电路图设计;
(5) 单片机于PC 机的通信传输功能的实现。