当前位置:文档之家› 电子密码锁总体设计方案

电子密码锁总体设计方案

电子密码锁总体设计方案
电子密码锁总体设计方案

电子密码锁系统总体设计

详细文档

题目:电子密码锁的设计

组号:第八组

小组成员:王新恒(S120131106)

牛庆渝(S120102007)

于秀玲(S120101212)

黄志辉(S120131021)

2012年11月15日

目录

第一篇绪论 (1)

一、引言 (1)

1、编写目的 (1)

2、背景介绍 (1)

二、功能需求设计 (2)

1、任务和目标 (2)

2、功能需求简述 (2)

第二篇设计概述 (5)

一、详细设计方案的选择及设计思路概述 (5)

1、设计方案的选择 (5)

2、初步设计思路概述 (6)

二、设计方法和技术条件 (7)

1、设计原则 (7)

2、应用的技术分析 (7)

3、设计者当前已具备的技术条件 (7)

4、设计重点难点 (8)

第三篇系统总体设计方案确认 (9)

一、单片机模块 (9)

1、主要特性 (9)

2、主要接口说明 (10)

二、键盘矩阵模块 (11)

三、显示模块 (12)

四、报警模块 (12)

五、电子时钟模块 (13)

1、概述 (13)

2、引脚介绍 (14)

六、通信传输模块 (14)

1、通信传输原理概述 (14)

2、电平转换电路 (15)

第四篇系统程序设计 (17)

一、总体程序设计流程 (17)

1、程序功能 (17)

2、系统程序设计总流程 (17)

二、各个模块系统程序设计流程 (18)

1、显示初始化模块程序设计 (19)

2、密码比较功能模块程序设计 (20)

3、键盘输入模块程序设计 (23)

4、电子时钟显示模块程序设计 (27)

5、密码修改模块程序 (31)

6、报警模块程序设计 (39)

7、通信(虚拟)模块程序设计 (40)

附录 (43)

一、电路原理图 (43)

二、 Proteus仿真图 (44)

三、 PCB板图 (45)

四、源程序 (45)

第一篇绪论

一、引言

1、编写目的

编写总体设计说明书的目的是为了说明对密码锁系统总体设计的考虑,包括程序的基本流程、输入/输出设计、模块设计、运行设计、硬件的总体设计和系统出错处理设计等,以便为密码锁的具体设计制作和仿真提供理论基础和指导方向,主要就是为编写程序提供依据。各个模块的程序编写严格按照该总体设计的初定方案进行。

本总体设计说明书详细分析系统的各种需求,综合小组中各个成员的意见,为以后的设计规划出一个蓝图,使以后的工作做到有步骤、有计划,并且对今后出现的各种可能情况作出预测和进行初步和适当的处理,使系统工作进程得以稳步和高效地进行。

2、背景介绍

在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

此外,电子密码锁还具有以下独特的特点:

(1)保密性远远大于机械锁,随机开锁成功率几乎为零;

(2)密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;

(3)误码输入保护。当输入密码多次错误时,报警系统自动启动;

二、功能需求设计

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机的通信传输功能的实现。

第三篇系统总体设计方案确认

此次设计基于单片机控制的电子密码锁,根据任务和相关要求,结合主要设计条件,我们的总体方案设计如下:

本系统由单片机系统、矩阵键盘、电子时钟、LCD显示和报警系统等多个模块组成。

一、单片机模块

该密码锁设计采用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,进行电子密码锁的设计。不但能实现基本的密码锁功能,还能添加警报提示。

1 主要特性

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器。它与MCS-51 兼容,寿命:1000写/擦循环,数据保留时间为10年。全静态工作:0Hz-24Hz 三级程序存储器锁定,128*8位内部RAM 32可编程I/O线,两个16位定时器/计数器,5个中断源可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。

下图4所示为AT89C51单片机图例:

图4 AT89C51单片机

2 主要接口说明

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流。此外,P3口也可作为AT89C51的一些特殊功能口,例如串行输入\输出口、外部中断0\1、记时器0外部输入、外部数据存储器读\写选通。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:可用作对外部输出的脉冲或用于定时目的。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

其中,在该系统设计中,单片机主要硬件资源的分配如为:P0.0~P0.7用于LCD液晶显示作用;P2.6、P2.7用于蜂鸣器的控制;P2.0用于开锁电路的控制;P1.0~P1.7用于键盘电路的控制;P3.3~P3.5用于LCD显示模块的控制端口的控制。

二、键盘矩阵模块

本次设计的密码锁系统设计采用4*4矩阵键盘,与P1口相连,采用扫描法。设有0到9十个数字密码,一个开锁键、上锁键,以及用于修改密码的新密码输入键和新密码保存键,还有一个用于重新输入密码的重新输入键和一个管理员密码键。

本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O 线的数目,在按键比较多的时候,通常采用这样方法。通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。

键盘矩阵电路如下图5所示:

图5 键盘矩阵电路

表1 矩阵键盘代表的功能表

S1-S10 数字0-9

S11 开锁按键

S12 上锁按键

S13 输入新密码

S14 保存新密码

S15 重新输入

S16 管理员密码(切换键)

三、显示模块

此密码锁设计6位密码,按键后动态显示。开机显示“Your Password...”,等待密码输入,输入6位密码,按开始键后,密码比较。

根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密码,依此第六位显示器显示第六次按的密码。每次输入密码后,都会有提示音,提示输入动作被接受。按键完成后按开锁键后,密码对则执行相关动作,并且显示器显示“Unlock ok!”,并且会看到指示灯发光;不正确则显示器显示“ERROR”,指示灯无任何现象,系统等待重新输入。当连续输入三次错误后,会显示“Wait....”,系统会发出报警音,等待锁定时间十钟后会提示“Input again....”。

下图6所示为显示电路原理图:

图6 LCD显示电路

四、报警模块

本次设计的密码锁报警系统在当输入密码错误后,系统报警。

下图7给出报警系统电路原理图:

图7 报警模块电路

五、电子时钟模块

1、概述

本模块是以AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作。时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由LCD液晶显示屏显示。

下图8所示为DS1302电路原理图图:

图8 DS1302电路原理图

2、引脚介绍

DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。下图9为DS1302的引脚功能图:

图9 DS1302引脚封装图

六、通信传输模块

密码锁系统的通信传输模块是该系统的主要模块之一,可以最大限度的发挥单片机的传输接口的功能,最大程度上的利用了单片机的接口。

1、通信传输原理概述

一般是用串口来进行通讯的,采用普通I/O模拟实现通信,这是最简单的方法,并且可以实现高速串行通信。即利用RS23接口实现通信,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等。

利用单片机的p3.1 TXD通信接口进行数据的发送(只发送不接收),将数据传输到虚拟终端保存。PC机和单片机的通讯却不能够直接进行连接,原因是PC 机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。我们再次利用MAX232芯片实现电平转换。其中,由于单片机的串口输出电路采用的逻辑电平是TTL(逻辑门电路,Transistor-Transistor Logic )电平,PC机的电平是CMOS电平。

用一个异步串行通信的设计方法,单片机串口的控制方式MCS-51系列单片机对串口的控制是通过对串行口控制寄存器SCON和功率控制寄存器PCON的设置来实现的。SCON是一个可位寻址的特殊功能寄存器,通过设置SGON的SM0和SMI,可以使单片机有四种不同的工作方式。在用于和PC机实现串行通信时,一般设置为方式1或方式3,主要区别是方式1的数据格式为8位,方式3的数据格式为9位,其中第9位SM2为多机通信位,可实现单片机的多点通信。

单片机串口的速率设置单片机和PC机通信时,其通信速率由定时器T1或定时器T2产生(52系列),在T1工作在方式2时的通信速率的计算公式为:波特串=(SMOD× Fosc)/(32×12×[256-TH1])。其中Fosc晶振频率,为获得准确的通信速率,Fosc通常为11.0592MHz。采用T1定时器通信的系统,速率不可能过高,一般情况下最高为19200bit/s。单片机串口通信程序的实现方法实际应用中,单片机通信程序一般采用中断方式与微机通信,微机做为主控方。当单片机收到微机发送的地址信号时,便转入中断服务程序,向微机发送数据。

2、电平转换电路

PC机和单片机的通讯不能够直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。我们再次利用MAX232芯片实现电平转换。其中,由于单片机的串口输出电路采用的逻辑电平是TTL(逻辑门电Transistor-Transistor Logic )电平,PC机的电平是CMOS电平。

单片机和PC机的串行通信一般采用MAX-232总线标准接口。为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离;(3)抗干扰能力;(4)组网方式。

采用MAX232芯片的转换接口,MAX232包含两路驱动器和接收器的RS-232转换

芯片。芯片内部有一个电压转换器,可以把输入的+5v电压转换为RS-232接口所需的±10V电压,尤其适用于没有±12V的单电源系统。下图所示为MAX232电平转换电路:

图10 MAX232电平转换电路

第四篇系统程序设计

一、总体程序设计流程

1、程序功能

软件的设计主要包括:密码的设定及修改、键盘识别判断、错报警等,可根据具体的需要还可进行功能的增加与完善。

1)主程序功能:主耍完成初始化、设置中断向量检查有无按健按下,以及调用

显示等。

2)键盘扫描及识别子程序功能:键盘采用查询方式,放在主程序中,当没有按

键按下时,单片机循环主程序,一旦有键按下,便转向相应的子程序处理,之后再返回。

3)调用存储程序功能:比较密码时,需读取程序,将存储在芯片内的数据读到

RAM中,然后和输入密码相比较,当修改密码时,需耍把输入的密码保存到芯片中。

4)显示子程序功能:在系统启动后显示为“Your Password ...”,在输入密

码时不直接显示密码,而是现实星号“******”,这样利于密码的保密可提高安全性和可靠性。当输入密码正确时,显示“unlock ok”,输入错误则显示“ERROR”。当连续输入三次错误后,会显示“Wait....”,系统会报警提示,三秒钟后会提示“Input again....”。

5)密码更改子程序功能:在输入密码成功解锁后,点击“输入新密码”按键,

输入新密码,然后选择点击“保持新密码”按键,至此,密码修改成功。6)修改密码工作完成后,系统将跳翻到开始,即提示输入密码“Your

Password...”。

2、系统程序设计总流程

如下图所示为该密码锁系统程序设计总流程图:

相关主题
文本预览
相关文档 最新文档