基于单片机的电子密码锁Word文档下载推荐.docx
- 文档编号:22317515
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:31
- 大小:100.28KB
基于单片机的电子密码锁Word文档下载推荐.docx
《基于单片机的电子密码锁Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
3.6开锁电路……………………………………………………………………5
3.7报警电路……………………………………………………………………6
3.8总体电路……………………………………………………………………6
4总结与体会……………………………………………………………………6
参考文献……………………………………………………………………………7
附录1………………………………………………………………………………8
附录2………………………………………………………………………………14
基于单片的电子密码锁
摘要:
当下电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中普遍的控制器。
在人们的生活水平不断提高的今天,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于构造的简单,安全性能低,不够智能,无法满足人们的需要。
本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款具有改密、报警、管理员等功能的电子密码锁。
通过实验证明,该款电子密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
关键词:
矩阵键盘;
24c02;
IIC总线
1引言
锁具在日常生活和工作中很常见,用于住宅与部门的安全防范。
现在门锁使用的主要是是弹子锁,其保密性不强,钥匙容易被仿制和意外丢失。
保存贵重物件的保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高昂,且易出现故障。
随着时代的发展,当今社会公共安全防范系统对锁具的保密性、牢固性、可靠性、耐用性以及安装使用等提出了新的更高的要求。
针对原有锁具的特点和缺陷,为满足人们对锁的使用需求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。
早期开发的电子密码锁由于电子器件所限,种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但不安全。
后来多是基于EDA实现,其电路结构复杂,电子元件繁多。
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,保密安全性更强;
由以前的单密码输入发展到现在密码加感应元件,实现了真正的电子加密。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
电子密码锁的出现给人们带来了极大的方便,有很广阔的市场前景。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
2总体设计方案
2.1设计思路
该款电子密码锁,要实现当输入密码后,按确认键用三位数码管静态显示3个8表示密码正确,当确认密码正确时,按开锁键,发光二极管会发光。
这里以发光二极管导通发光,代替演示继电器导通,吸合开锁。
当输入密码错误是用数码管显示输入密码错误次数,当密码错误次数达到三次时,蜂鸣器鸣叫报警,同时三位数码管动态显示OFF,键盘被锁死,只有输入通过内部程序设置的管理员密码才能开锁。
该款密码锁,使用24C02芯片实现对密码的掉电存储。
单片机与24C02之间通过IIC总线协议进行数据的双向传送。
该款密码锁可扩展,实现无线射频遥控控制。
2.2总设计框图
该款电子密码先将单片机中烧入辅助程序,使24C02中有一初始密码,再将主程序烧入单片机中。
以下是烧入主程序后的总设计框图:
3设计原理分析
3.1键盘输入电路
由于本次设计使用的按键数目较多,不宜采用独立式按键,所以输入部分采用矩阵键盘。
它由行线与列线组成,按键位于行列的交叉点上。
与独立式按键键盘相比,要节省很多的I/O口。
按键采用软件消抖,在按键的识别方法上采用线反转法,在键盘的工作方式上使用编程扫描方式。
按键功能的识别由内部程序完成,当按下数字键时,把相应数字存入单片机内部输入密码缓存区。
当按下的是功能键时,启动相应功能的程序。
其功能键分布与电路接线如图1所示:
图1键盘输入电路
3.2密码存储电路
该款密码锁可对密码进行掉电存储,它采用E2PROM芯片AT24C02B。
该芯片
通过IIC协议与单片机进行数据传输。
AT24C02B芯片自带有IIC数据接口,AT89S51单片机通过内部程序模拟IIC数据总线。
在电路连接时,24C02器件地址输入引脚A0、A1、A2全部接地,写保护引脚WP也接地,芯片处于可读可写状态。
其电路连接如图2所示:
图2密码存储电路
3.3显示电路
显示电路使用三位一体共阳数码管,当输入密码后,按确认键,如果密码正确,三位数码管静态显示3个8。
如果密码错误,三位一数码管的第一个管静态显示密码错误次数。
当密码输入错误次数达到3次时,三位数码管动态显示OFF。
其电路连接如图3所示:
图3显示电路
3.4晶振电路
AT89S51引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按图4所示方式连接。
该晶振电路已经很成熟,图4中采用一般的经典电路。
振荡信号频率由晶振决定。
图4晶振电路
3.5复位电路
常见的复位电路由上电复位和手动复位,该设计采用手动复位电路,当程序跑飞时,按复位键可使内部程序重新运行。
复位电路在单片机设计中也很成熟,本设计采用经典的复位电路。
其电路连接图如图5所示:
图5复位电路
3.6开锁电路
该设计以发光二极管导通发光,代替演示继电器导通,吸合开锁。
当按开锁键时,内部程序判断密码正确标志位。
当标志位置1时,内部程序执行开锁。
其电路连接如图6所示;
图6开锁电路
3.7报警电路
当密码输入错误次数达到3次,在动态显示OFF的同时,蜂鸣器会报警一段时间。
该报警电路以三极管驱动蜂鸣器,当P2.1口置0时,PNP型三级管导通,蜂鸣器被通电报警。
其电路连接如图7所示:
图7报警电路
3.8总体电路
本密码锁设计采用5V直流源供电,包括上述的输入电路、显示电路、密码存储电路、报警电路、开锁电路等部分组成,具有管理员密码。
P2口的接线柱可扩展遥控功能。
其整体电气原理图见附录2。
4总结体会
在三周的实习中,通过对电子密码锁由原理分析到硬件设计的过程,真正的实现了一次理论与实践的结合。
在刚开始时,对密码的设计完全没有头绪,只好上网查资料。
经过反复的比对与分析,确定了一个基本可行的硬件原理图。
接着就开始编写程序,就在编写程序的过程中,我第一次陷入一个巨大的困境。
而其中最困难的就是用24C02对密码进行掉电存储。
我首先查阅了一些关于IIC总线协议的资料。
但我并不是很明白,我就请张素君老师对我进行了一些指导。
经过老师的指导,我对IIC总线有一较清楚的认识。
就编写了一个简单的读写程序进行仿真,结果仿真结果一直出不来。
我又去请教徐君鹏老师,徐老师教我用仿真软件中的工具观察24C02内部的数据变化,进行调试。
然后经反复修改,对24C02的仿真终于楚来了。
在接下来的两三天里我大概编出了整个程序的轮廓。
然后,又开始制作PCB板。
虽然感觉以前学的还不错,但在实际布线时才发现,以前学的满足不了实习的需求。
特别是,以前在布线时,只学了对全部器件进行自动不限,但在实习时,你会发现,它根本不适用。
于是自己便看看教材学习一下器件布线、联接布线、网络布线、局域布线等。
将它们相互结合,才完成了PCB板。
接下来对整个程序经行仿真,经过三天的不断调试,仿真结果终于全部出来。
当天我欣喜若狂,然而接下来遇见的第二个巨大难题,让我一下跌入低谷。
当我做好电路板,把程序烧进去后,并不能实现想要达到的功能。
在遇见这问题后,让我第一次感受到了查找硬件电路问题的难度。
我在硬件与软件上不断修改调试,但一直过了三天都没找到原因。
我曾想过放弃,但想到先前付出了那么多的努力,特别是花了整整一周的时间才将程序编写成功,实在是不想放弃。
于是就咬牙坚持,终于在测试的前一天才发现,是24C02芯片坏了的缘故。
经过本次实习,自我动手设计制作的能力有了很大提高,特别是在不断遇到困难的过程中,我并没放弃,最终设计圆满完成,使自己对自己进行了巨大的肯定,使的再次遇见同样的问题充满自信。
参考文献
[1] 张迎新.单片机应用设计培训教程[M].北京:
北京航空航天大学出版社,2008
[2] 康华光.模拟电子技术基础(第五版)[M].北京:
高等教育出版社,2006
[3] 张毅刚,彭喜元.单片机原理及接口技术[M].北京:
人民邮电出版社,2008
[4]肖景和.集成运算放大器应用精粹[M].北京:
人民邮电出版社,2006
附录1
辅助程序:
X1EQU4CH
X2EQU4BH
X3EQU4AH
X4EQU49H
X5EQU48H
X6EQU47H
X7EQU46H
X8EQU45H
X9EQU44H
X10EQU43H
X11EQU42H
X12EQU41H
X13EQU40H
X14EQU3FH
X15EQU3EH
X16EQU3DH
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
CLRP3.5
LCALLINITX
LCALLAT_WR
LJMP$
INITX:
PUSHACC
PUSHPSW
MOVR3,#16
MOVR1,#X1
NEXT11:
MOV@R1,#05H
DECR1
DJNZR3,NEXT11
POPPSW
POPACC
RET
AT_WR:
PUSHPSW
MOVR0,#X1
MOVR6,#10H
MOVR7,#00H
LCALLWRT
NOP
POPACC
POPPSW
RET
WRT:
LCALLSTART
MOVA,#0A0H
LCALLS1BYTE
LCALLCASK
JBF0,WRT
MOVA,R7
SDATA:
MOVA,@R0
DECR0
DJNZR6,SDATA
LCALLSTOP
START:
SETBP3.7
SETBP3.6
NOP
CLRP3.7
CLRP3.6
STOP:
CLRP3.7
SETBP3.7
CASK:
CLRF0
MOVC,P3.7
JNCCEND
SETBF0
CEND:
CLRP3.6
ASK:
NASK:
S1BYTE:
MOVR5,#08H
WLP:
RLCA
MOVP3.7,C
DJNZR5,WLP
RET
END
主程序:
BUFFEQU6FH
CUOEQU6EH
WSHUEQU6DH
PS1EQU6CH
PS2EQU6BH
PS3EQU6AH
PS4EQU69H
PS5EQU68H
PS6EQU67H
PS7EQU66H
PS8EQU65H
PS9EQU64H
PS10EQU63H
PS11EQU62H
PS12EQU61H
PS13EQU60H
PS14EQU5FH
PS15EQU5EH
PS16EQU5DH
AT1EQU5CH
AT2EQU5BH
AT3EQU5AH
AT4EQU59H
AT5EQU58H
AT6EQU57H
AT7EQU56H
AT8EQU55H
AT9EQU54H
AT10EQU53H
AT11EQU52H
AT12EQU51H
AT13EQU50H
AT14EQU4FH
AT15EQU4EH
AT16EQU4DH
PS_X1BIT20H
PS_X2BIT21H
PSW_FBIT22H
AJMPMAIN1
MAIN1:
MOVSP,#70H
MOVCUO,#00H
MOVWSHU,#00H
LCALLINITPS
LCALLINITAT
CLRPSW_F
CLRPS_X1
CLRPS_X2
CLRP3.5
LCALLINIP3
LCALLT100M
LCALLAT_RD
MOVBUFF,#0FFH
LCALLCKS
JZNEXT1
LCALLT500M
AJMPMAIN
NEXT1:
LCALLT10M
LCALLSEE
MOVR4,BUFF
CJNER4,#0FFH,CABLE
AJMPMAIN
CABLE:
CLRP2.1
SETBP2.1
CJNER4,#0AH,GM
MOVBUFF,#0AH
LJMPOPEN
GM:
CJNER4,#0BH,WEI1
MOVBUFF,#0BH
LJMPGMM
WEI1:
CJNER4,#0EH,WEI2
MOVBUFF,#0EH
LJMPWEI
WEI2:
CJNER4,#0FH,SURE1
MOVBUFF,#0FH
SURE1:
CJNER4,#0CH,CLEAR1
MOVBUFF,#0CH
LJMPSURE
CLEAR1:
CJNER4,#0DH,KEY0
MOVBUFF,#0DH
LJMPCLEAR
KEY0:
CJNER4,#00H,KEY1
MOVBUFF,#00H
LJMPSHU
KEY1:
CJNER4,#01H,KEY2
MOVBUFF,#01H
KEY2:
CJNER4,#02H,KEY3
MOVBUFF,#02H
KEY3:
CJNER4,#03H,KEY4
MOVBUFF,#03H
KEY4:
CJNER4,#04H,KEY5
MOVBUFF,#04H
KEY5:
CJNER4,#05H,KEY6
MOVBUFF,#05H
KEY6:
CJNER4,#06H,KEY7
MOVBUFF,#06H
KEY7:
CJNER4,#07H,KEY8
MOVBUFF,#07H
KEY8:
CJNER4,#08H,KEY9
MOVBUFF,#08H
KEY9:
CJNER4,#09H,NON
MOVBUFF,#09H
NON:
LJMPMAIN
WEI:
SHU:
INCWSHU
MOVA,WSHU
CLRC
SUBBA,#11H
JZPS_L
MOVR2,WSHU
MOVR0,#PS1
INCR0
MOVA,BUFF
DIG:
DECR0
DJNZR2,DIG
MOV@R0,A
AJMPNEXT6
PS_L:
AJMPRING
NEXT6:
SURE:
CLRC
SUBBA,#0CH
JZEN1
AJMPPS_ERR
EN1:
JNBPS_X1,EN2
MOVR2,#10H
LCALLSAVE_X
SETBPS_X2
EN2:
JNBPS_X2,EN3
AJMPMATCH_X
EN3:
MOVR2,#10H
MOVR1,#AT1
LCALLC_PSW
JBPSW_F,PS_R
AJMPPS_W
PS_R:
SETBP3.0
SETBP3.1
SETBP3.2
MOVP0,#80H
LCALLT500M
PS_W:
RING:
LCALLINITPS
INCCUO
MOVA,CUO
LCALLLED1
CJNEA,#03H,NEXT7
LCALLLED2
NEXT7:
LCALLT500M
LCALLINIP3
OPEN:
SUBBA,#0AH
JZOPEN_A
OPEN_A:
JBPSW_F,OPEN_B
OPEN_B:
MOVR7,#0FH
OPEN_C:
CLRP2.0
DJNZR7,OPEN_C
SETBP2.0
GMM:
CLRC
SUBBA,#0BH
JZCHANGE1
LJMPPS_ERR
CHANGE1:
JBPSW_F,CHANGE2
LJMPPS_W
CHANGE2:
LCALLINITX
SETBPS_X1
LCALLPS_R
LJMPMAIN
MATCH_X:
JBPSW_F,MATCH_R
LCALLMAIN1
MATCH_R:
CLRPSW_F
CLEAR:
SUBBA,#0DH
JZNEXT16
NEXT16:
PS_ERR:
;
子程序
SEE:
ACALLCKS
JZLEV
MOVP1,#0F0H
JNBP1.4,L1
JNBP1.5,L2
JNBP1.6,L3
JNBP1.7,L4
L1:
MOVR4,#0
LJMPD
L2:
MOVR4,#4
L3:
MOVR4,#8
L4:
MOVR4,#12
D:
MOVP1,#00FH
JNBP1.0,L5
JNBP1.1,L6
JNBP1.2,L7
JNBP1.3,L8
L5:
MOVA,#0
LJMPQ
L6:
MOVA,#1
L7:
MOVA,#2
L8:
MOVA,#3
Q:
ADDA,R4
MOVBUFF,A
LEV:
LED1:
PUSHACC
PUSHDPL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁