电子密码锁设计说明书。
目录。一.绪论
1.1设计背景
1.2设计目标
二.设计原理
2.1原理论述
2.2设计思路
三.总电路及各模块电路设计
3.1键盘电路设计
3.2 led显示电路
3.3 开锁电路
3.4报警电路
3.5掉电存储电路
3.6复位电路
四.程序设计
4.1主程序流程图:
4.2各子程序流程图:
4.3源程序。
五.设计体会
六.参考文献
随着现今人们生活水平的提高,安全意识亦随之加强,对锁的要求也就越来越高。人们希望锁既要能够安全可靠,防盗性高,又要使用方便。常见的锁有普通机械锁、机械密码锁、电磁卡锁、指纹(虹膜)锁等。
普通的机械锁极容易被强行破坏,安全系数不高;机械密码锁虽然安全系数高但造价相对较高,目前在保险柜上应用较多;电磁卡锁由于磁卡信息极易受外界干扰而失磁,导致无法开锁;指纹锁虽安全性很好,但会因手指划伤虹膜充血等收到限制。通过以上分析,我们可以得出结论:传统密码锁或多或少存在一些不足从而降低了其保密的安全性,因此研究一种新型的密码锁以满足现今用户需求势不可挡。
随着电子技术的发展,人们将电子芯片跟传统机械锁结合起来设计成一种新型的密码锁,即电子密码锁。 在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。
本文主要讲述一种基于89c51单片机的电子密码锁的设计过程,所设计的密码锁具有以下功能:开机输入密码,密码正确则电磁锁打开;如果第一次输入的密码不正确,允许再输入两次密码,在这个过程中,如果密码正确则电子锁打开,如果在这个过程中密码依旧不正确,则锁定键盘的输入功能,并且蜂鸣器报警。
本设计的特点如下:安全可靠,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。
在输入新密码后,需确认,以防止误操作。
采用以at89c51为核心的单片机控制方案。本设计选用89c51单片机作为核心元件,利用单片机灵活的编程设计、丰富的i/o端口资源及其控制的准确性,实现基本的密码锁功能以及调电存储、报警等功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接at24c02芯片用于密码的存储,外接六位七段数码管显示器用于显示作用。
当用户需要开锁时,按键盘的数字键0-9输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;开锁后,用户可根据自身需求进行密码修改,新密码输入无误后按确认键使新密码将得到存储,密码修改成功。其原理如图所示。
单片机控制方案。
输入密码用矩形键盘,包括数字键和功能键。
led数码管显示输入密码,用7447驱动数码管发光显示密码,用74ls138控制各位显示器分时进行显示。
用继电器驱动门锁动作。
输入密码错误次数超过3次,系统报警。
打开电源后,显示器显示“000000”,设原始密码为“000000”,只要输入此密码便可开门。
按“#”键,清除显示器为“000000”。
欲重新设定密码,先输入密码再按“*”键。
输入密码,再按“d”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。
软件的设计主要包括键盘键值的读取,led显示程序,密码比较程序,报警程序以及掉电储存程序等。
本设计电路原理图、元件清单如下所示。
图1电路原理图。
图2元器件清单。
本设计采用矩阵式键盘,可减少键盘与单片机接口时所占用的i/o线的数目。其原理如图2所示。
图2 矩阵键盘。
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要n条行线和m条列线,即可组成具有n×m个按键的键盘。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
本设计采用的是逐行扫描查询法,对照图2所示的4×4键盘,说明键盘中每个按键的功能。具体的功能设计如表1所示:
表1 按键功能。
本设计中显示电路采用串行显示的方式,只使用单片机的一个串行口,利用7447驱动数码管发光显示密码,74ls138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3所示,各数码管采用共阳极方式连接,当74ls138输出为0时,对应三极管导通,数码管发光显示数码。
图3 led显示电路。
在本设计中,采用继电器驱动门锁的开启/关闭动作,其电路原理图如4所示。当单片机p2.1口输出为0时,三极管导通,继电器通电,此时门锁开启。
图4 开锁电路。
本设计采用压电式蜂鸣器,工作时约需要100ma驱动电流,其电路原理图如5所示。当单片机p2.0口输出为0时,蜂鸣器产生蜂鸣音;输出为1时,蜂鸣器不发声。
图5 报警电路。
本设计采用at24c02完成其掉电存储功能,其电路原理图如图6所示。当sda=1,scl=1时,处于总线空闲状态;当scl=1,sda为下降沿状态时,开始传送数据;当scl=1,sda为上升沿状态时,停止传送数据。
图6 掉电存储电路。
本设计的复位电路由“看门狗”电路以及手动复位电路两部分组成,采用x5045芯片,其电路原理图如图7所示。所采用“看门狗”复位即为,当程序运行时,若规定时间内没有收到来自单片机的清除信号(“喂狗”现象),则系统会强制复位,保障系统在受到干扰时能够维持正常工作状态。
图7 复位电路。
图8 主程序流程图。
图9 键盘模块程序流程图。
图10 显示模块程序流程图。
图11 开锁及报警模块程序流程图。
图12 掉电储存模块程序流程图。
图13 “看门狗”模块程序流程图。
org 00h
存储器端口定义。
存储器scl equ p2.3
存储器sda equ p2.2
存储器 wp equ p2.4
密码存放地址 equ 100
存储器端口定义。
写一个字节到24c02:
mov r7,#
写一个位到24c02:
clr存储器scl
rlc amov存储器sda,c
setb 存储器scl
djnz r7, 写一个位到24c02
ret写24c02起始位:
setb 存储器scl
setb 存储器sda
clr 存储器sda
clr 存储器scl
ret读24c02从应答:
clr 存储器scl
setb 存储器 sda
setb 存储器 scl
mov c, 存储器sda
clr 存储器scl
ret写24c02无应答:
setb 存储器sda
setb 存储器scl
clr 存储器 scl
ret存储器端口定义。
a写入24c02:
push acc
call 写24c02起始位。
mov a,#10100000b
call 写一个字节到24c02
call 读24c02从应答。
mov a,r6
call 写一个字节到24c02
call 读24c02从应答。
pop acc
call 写一个字接到24c02
call 读24c02从应答。
clr 存储器sda
db 0,0
setb 存储器scl
db 0,0
setb 存储器sda
读24c02应答检测:
call 写24c02起始位。
mov a,#10100000b
call 写一个字节到24c02
call 读24c02从应答。
jc 读24c02应答检测。
写24c02停止位:
clr 存储器sda
db 0,0
setb 存储器scl
db 0,0
setb 存储器sda
ret存储器端口定义。
读24c02到a;
push acc
call 写24c02起始位。
mov a,#10100000b
call 写一个字到24c02
call 读24c02从应答。
pop acc
call 写一个字节到24c02
call 读24c02从应答。
call 读24c02起始位。
mov a,#10100000b
call 写一个字节到24c02
call 读24c02从应答。
mov r7,#
读一个位从24c02:
setb 存储器scl
db 0,0,0
mov c,存储器sda
clr 存储器scl
rlc adjnz r7,读一个位从24c02
call 写24c02无应答。
jmp 写24c02停止位。
主程序入口。
mov r5,#00h
mov r7,#00h
djnz r7,$
mov r6,#06h
mov r1,#35h
mov r4,#08h
将000000读入片内ram30h到35h单元。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...