张祚邦
摘 要在电子密码锁的设计中,其硬件电子电路的设计至关重要,关系到电子密码锁使用寿命的长短和功能的实现。本文基于单片机的基础上,在protel软件中对电子密码锁的键盘输入模块、密码存储模块、显示模块和其他模块的电路图进行了设计。
【关键词】电子密码锁 单片机 电子电路
1 前言
为了满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。电子密码锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁安全性差的问题。本文基于单片机的基础上,在protel软件中对数字电子密码锁进行硬件电路图的设计,从而克服了旧式电子密码锁电路断后所设置密码丢失的缺点。
2 电子密码锁设计方案
2.1 系统的工作原理
本文设计的数字电子密码锁的实现是基于单片机的。在protel软件中进行硬件电路图的设计,然后编译程序。
本文设计的数字电子密码锁系统主要由:
(1)数据处理及控制模块。
(2)键盘输入模块。
(3)密码储存模块。
(4)显示模块。
(5)复位电路。
(6)蜂鸣器。
(7)振荡器。
(8)开锁电路等组成。
(5)、(6)、(7)、(8)可以归结为附属模块。其组成原理如图1。首先,用户通过键盘输入模块输入密码,所输入的密码被传送到数据处理模块经过单片机处理后,与密码存储模块中的秘密比较,判断密码是否正确,同时显示模块会为用户显示简单的提示信心。经过单片机判断,如果密码正确,则开锁,否则不开锁,并警告用户密码输入错误。
2.2 系统方案选择
2.2.1 键盘输入模块方案的选择
在单片机系统中,常用的键盘输入有两种模式,独立式键盘结构和行列式键盘结构。本设计也采用这两种方式作为备选方案。
(1)独立式键盘。独立式按键式是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。通常独立式键盘的按键输入都采用低电平有效。上拉电阻保证了按键断开,I/O口线有确定的高电平。当I/O口内部有上拉電阻时,外电路可以不配置上拉电阻。虽然独立式按键具有软件结构简单、电路配置灵活等优点,但是由于其每个按键都需要独立使用I/O口线,当按键数量过多时,会存在I/O口线所需过多的现象。
(2)行列式键盘。行列式键盘又叫矩阵式键盘,用I/O口线组成行列结构,按键设置在行列交叉点上。在本次设计中,由于电子密码锁的键盘中,除了0~9数字键外,还有输入、锁定、设置、清除四个键,按键数量较多,故采用行列式键盘作为电子密码锁键盘输入模块。
2.2.2 显示模块方案的选择
显示模块有两种选择,一种是采用LCD,一种是采用LED。
以上两种方式中,LCD造价较高,性价比较于LED较低,因而采用LED作为显示模块。
3 主要元器件介绍
3.1 主控芯片AT89S52
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。
3.2 八位数据锁存器742LS273
74LS373是八位高速寄存器,内部由8个D锁存器构成。
3.3 EEPROM数据存储器AT24C02
AT24C02是一个2K位串行CMOS EEPROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IC总线接口进行操作,有一个专门写保护功能。
4 系统硬件各部分电路设计
4.1 键盘输入模块
本次键盘才用行列式键盘,把单个键盘组成4x4格式的键盘,行列分别相连
通过检测每条“行”线和“列”线上的电平变化,可判断出用户输入的为何种信息,电路图如图2。
单片机通过控制P1口的高低电平,然后根据检测到的结果进行判断。如图所示,刚开始四条行线上全置为高电平,四条列线全置为低电平,但某一按键被按下时,行列线交叉,行线上的搞电平遍为低电平,单片机通过检测即可判断哪个按键被按下。
4.2 密码存储模块
本次设计要求密码永久保存,且断电数据不丢失,在加上数据量小,只有6位密码,因而采用EEPROM中的24C02芯片,由于EEPROM是电可擦除只读存储器,可供用户修改,且掉电后数据不消失。电路图如图3。
4.3 显示模块
本次设计采用六位密码,需要使用六个七段LED数码管, LED用三极管驱动,这里的六个数码管,不采用动态显示的方式,而采用选中一个显示一个的方法,并且在数码管和单片机之间加上74LS373对数据进行锁存,这样的好处是控制简单,且数码管的亮度较高,显示较为明显。每组显示模块均用373上的OE端作为片选,根据按下按键的个数来选择要亮的数码管,电路图如图4。
4.4 其他模块
其他模块较为简单,与单片机相连后可以构成单片机的最小系统,电路原理图见系统总的原理图图5。
5 总结
本文设计了一种电子密码锁,这种电子密码锁系统以单片机AT89S52为数据处理芯片,以8位数据所存器74LS373和七段LED数码管作为显示模块,以EEPROM芯片24C02作为永久保存密码的存储模块,附加4*4键盘和其他辅助电路,构成了整个硬件系统。用户可以通过键盘输入密码,密码正确后可以正常开锁,并且能够重新设置密码。
参考文献
[1]李念强.单片机原理及应用[M].北京:机械工业出版社,2007.
[2]孙育才.MCS-51系列单片机微型计算机及其应用[M].南京:东南大学出版社,2007.
[3]张涛,王金岗.单片机原理与接口技术[M].北京:冶金工业出版社,2007.
[4]闫石.数字电子技术基础[M].北京:高等教育出版社,1997.
[5]百度百科,http://baike.baidu.com.
作者单位
辽宁省本溪市高级中学 辽宁省本溪市 117000