1.3 本设计所要实现的目标
本设计基于单片机。使用AT89C51作为主控芯片,结合外围电路组成一个电子密码控制系统。用户若想开锁,必须输入正确的密码,错误则有文字及声音提示并要求重新输入。密码锁同时具有修改密码的功能,修改密码时,必须键入正确的原密码进行验证,然后输入新密码。
1.4 设计方案的选择
1.4.1 主控部分选择
方案一:采用数字电路控制。
把74LS112双JK触发器当作系统的中心,搭配其他原件组成数字逻辑电路。在功能上,可以设置9个按键,选择其中4个作为有效的密码按键,并将其它按键均设定为干扰按键,当按下干扰按键时,就将键盘输入电路复位,使得前面输入的密码无效化,要求重输;如果用户输入密码的时间超过10秒,电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作[4]。采用数字电路设计方案时设计虽然简单,但控制的准确性和灵活性差。故不采用。
方案二:采用单片机控制方案
单片机当前的类型很多,各种型号的应用环境都各有不同,在选用时就有了更多的选择,使我们可以多加比较、以便选择最为合适的型号,获得更好的性能/价格比。下列关键词往往应该成为考虑时最需关注的方面:性能、串行接口、工作电压、存储器、模拟电路功能、抗干扰性、运行速度、封装形式、I/O口、功耗、定时/计数器、保密性。除此以外,在单片机开发过程中还会产生影响有开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等因素 [5]。
考虑到方方面面,本设计采用了AT89C51作为核心芯片,单片机提供的I/O端口虽有限,但端口复用或扩展、结合有效的控制程序,实现基本的密码控制功能是十分简单的。单片机的外围电路主要包括:一块外接矩阵键盘(用来密码输入、控制程序流向),一块LCD显示屏(用来作为系统的输出,对用户的操作进行反馈)。当用户进行开锁时,首先利用键盘上的0-9完成密码的输入,而后确认,若正确则解锁,否则保持锁定状态并要求重新输入,在适当的时机可发出报警声。在用户进行密码修改操作时,首先要输入原密码,只有当输入和原密码匹配时才会允许设置新密码,新密码设置完成后按确认键则保存。
显然,方案二的功能丰富,控制方便,有较好的准确性,在保证保密的同时还能进行功能的拓展。基于以上原因,我在此采用方案二,即使用单片机AT89C51结合外围接口电路来完成本此设计。
1.4.2 密码输入方式选择
方案一:声纹输入识别
所谓声纹(Voiceprint),是用电声学仪器显示的携带言语信息的声波频谱,人类语言的产生是人体语言中枢与发音器官之间一个复杂的生理物理过程[6]。人的发声器官大致有以下几种:舌、齿、头、肺、鼻,虽然人们都是用这些器官来发声,但不同人的这些器官会存在尺寸或外形的较大差别,因此任意两人的声纹图谱都会存在差别。另一方面,在一定的年龄段内,每个人的声音特征都不会发生太大变换,相对稳定,所以人们一般可以区分出不同人的声音或判断是否是某一个特定人的声音。
在作为电子锁的输入时,系统会分析所输入声音的声学特征(如反射系数、共振峰、频谱、倒频谱、基音等),并与先前保存的样本进行对比,通过计算机计算出两者的相似度,并以此判定输入的正确性。考虑到本方案过于复杂,且有不低的成本,因此我们不采用。
方案二:矩阵键盘输入识别
矩阵键盘的每一行、每一列均相连,引出连接到一个I/O口上,按键设在每一个行线和列线的交叉处,每当有一个键按下就使得某一条行线与某一条列线相接通,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动[7]。此方案相对简单、易于实现,因此采用之。 51单片机的柜电子密码锁的设计+源程序+流程图(3):http://www.youerw.com/zidonghua/lunwen_11482.html