数字密码锁的设计与制作.docx
- 文档编号:23854693
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:59
- 大小:1.13MB
数字密码锁的设计与制作.docx
《数字密码锁的设计与制作.docx》由会员分享,可在线阅读,更多相关《数字密码锁的设计与制作.docx(59页珍藏版)》请在冰豆网上搜索。
数字密码锁的设计与制作
摘要
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势[1]。
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89C51作为主控芯片,采用低功耗CMOS型AT24C02作为数据存储器单元,结合外围的4*4键盘输入模块、LCD1602液晶显示模块、报警模块、开锁模块等,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码、存储密码并具有报警功能的数字密码锁。
经实验证明,该数字密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
关键词:
智能化,单片机,密码锁,报警
Thedesignandmanufactureofdigitalcombinationlock
Abstract
Indailylifeandwork,thedepartmentofhousingandsecurity,unitdocuments,financialstatementsandsomepersonalinformationtosavemoreinordertolockthewaystosolve.Ifusethetraditionalmechanicalkeytoopenthelock,peopleoftenneedtocarrymultiplekeys,useconvenient,andthekeymissingaftersecurityiscompromised.Withanti-theftalarmfunctionsuchaselectroniccombinationlockinsteadofpasswordquantityislittle,security,poormechanicalcombinationlockisinevitabletrend.
Withthecontinuousdevelopmentofelectronicproductstointelligentandminiaturization,microcontrollerhasbecomeelectronicproductdevelopmentandthedevelopmentofthepreferredcontroller.Fromtheperspectiveofeconomicandpractical,thispaperadoptstheAtmelcompany'sSCMAT89C51andlow-powerCMOSAT24C02asmaincontrolchipandthedatastorageunit,combinedwithperipheral4*4keyboardinputmodule,LCD1602displaymodule,alarmmodule,thelockmodule,controlprogramwritteninClanguagemastercontrolchip,designedamodelcanchangethepasswordformanytimes,storedpasswordcombinationlockandalarmfunction.
Experimentsshowthatthecombinationwithdesignmethodisreasonable,simple,lowcost,safeandpracticalcharacteristics,conformtotherequirementsoftheresidential,officeuse,lock,haspromotionvalue.
Keywords:
IntelligentSinglechipmicrocomputerTricklockThereporttothepolice
1绪论
1.1引言
数字密码锁是由电路控制锁体的新型锁具,它采用触摸键盘方式输入开锁密码,操作方便。
数字密码锁的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的密码锁是以芯片为核心,通过编程来实现的,其性能和安全性已大大超过了机械锁。
很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。
我们的设计给出了一种能防止多次试探密码的数字密码锁设计方法利用单片机控制。
因为单片机不但具有体积小,成本低,控制灵活,便于产品化等特点[2]。
而且单片机具有新的发展,具体主要体现在单片机片内资源越丰富,用它构成的单片机控制系统的硬件开销就会越少,产品的体积和可靠性就会越高,所以使用单片机系统控制密码锁体积小,成本低,控制灵活,便于产品化,可以防止多次试探,从而有效地克服了上述缺点[3]。
数字密码所由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
1.2选题目的和意义
数字密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。
密码锁是现代生活中经常用到的工具之一,广泛应用于保险拒、房门、宾馆、车库等。
数字密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。
并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。
随着我国第三产业的飞速发展,数字密码锁会在不久的将来得到广泛的应用,方便社会和个人。
由于这种“自生自长、随身携带”的“钥匙”优点突出,因此这种锁很快度过了性能不太稳定、价格昂贵的初始期,变得越来越实用、越来越“特征”,受到人们的普遍欢迎。
20世纪80年代后,随着电子锁专用集成电路的出现,数字密码锁的体积缩小,同时可靠性提高,成本也相对提高,所以只适合使用在安全性监求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁的研究一直没有明显进展。
到了90年代,美国、意大利、德国、日本、加拿大、韩国以及我国的台湾、香港等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而推动密码锁走向实际应用的阶段[4]。
目前,在西方国家,数字密码锁技术相对先进,种类齐全,数字密码锁已被广泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。
我国于90年代初期开始对密码锁进行初步的探索。
到目前为止,随着电子技术和信息技术的发展,数字密码锁的技术领域已发展的十分成熟。
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式数字密码锁。
该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车[5]。
在其他技术领域还有遥控式电子密码锁以及卡片式密码锁等。
智能锁取代机械锁是一个必然的趋势,我们有理由相信,智能锁将以其得天独厚的技术优势,带领中国锁具行业得到更好的发展,让更多的人更放心地在更多的场合使用,也会让我们的未来更加安全。
1.3数字密码锁发展趋势
数字密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。
广义上讲,金融业的“授权”主要包括以下三种层次的内容:
1、授予保管权,如使用保管箱、保险箱和保险柜;
2、授予出入权,如出入金库、运钞车和保管室;
3、授予流通权,如自动存取款。
目前,金融行业电子密码锁的应用主要集中在前两个层面上。
当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。
一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。
提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。
报警的前提是具备探测功能,根据数字密码锁的使用场所和防护要求,可选择多种多样的探测手段。
在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。
根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,数字密码锁的性能至关重要。
由于数字或字符、图形以及人体特征和时间等都能成为密匙的,组合使用这些信息能够使数字密码锁获得极为高度的保密性,如防范森严的保险柜,需要使用复合信息密码的数字密码锁,对盗贼而言是“道高一尺、魔高一丈”。
组合信息也能够使数字密码锁获得无限扩展的可能,使密码锁产品多样化,对使用者而言是“千挑百选、自得其所”。
2总体设计方案
2.1设计要求
设计一个集键盘输入电路、数码管显示电路和单片机电路以及密码设置、比较与处理软件的电子密码锁系统。
该密码锁电路主要包含:
键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
设计要求如下:
(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。
在输入密码时,液晶显示“*”。
(2)密码可由用户自己修改设定,锁打开后才能修改密码。
(3)电路启动后,系统显示界面提示输入密码。
(4)错误输入密码超过三次则锁定按键,同时报警。
(5)设定输入密码时限(自行设定),超过该时间,即使密码正确也不开锁。
(6)停电保护设置。
2.2设计方案
方案一:
采用数字电路控制。
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制.JK触发器是数字电路触发器中的一种电路单元。
JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。
在实际应用中,它不仅有很强的通用性,而且能灵活地转换其他类型的触发器[6]。
电路共设了9个用户输入键,其中有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入的密码错误,电路会报警[7]。
如果连续输错三次,电路将锁定键盘,防止他人的非法操作。
方案二:
采用一种是用以AT89C51为核心的单片机控制方案。
选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD显示器用于显示作用。
其原理框图如图2.1所示。
本系统共有两部分构成,即硬件部分与软件部分。
其中硬件部分由键盘输入、密码存储、开锁电路、报警电路、LCD显示电路等构成。
本设计的显示电路是为了给使用者以提示而设置为达到界面友好的目的,显示部分由液晶显示LCD1602取代普通的数码管完成。
开锁时,利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个“*”。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD液晶显示屏上显示“OPEN”,数字密码锁打开;如果密码不正确,LCD液晶显示屏会显示“ERROR”,数字密码锁不能打开。
通过LCD显示屏,可以清楚地判断出密码锁所处的状态。
矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。
图2.1单片机控制数字密码锁原理框图
软件部分包括主程序、LCD显示程序、键盘扫描程序、密码设置程序等。
主程序主要实现开锁和报警,配合显示、键盘扫描以及修改密码等子程序已实现设计要求的所有功能。
采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差。
方案二控制灵活、准确性好且保密性强还具有扩展功能,故本设计采用方案二。
3硬件设计
3.1单片机最小系统设计
本设计采用美国Atmel公司的单片机AT89C51作为主控芯片,AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内存在一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用高密度非易失性存储器技术,而且其输出的引脚和指令系统都与MSC—51兼容。
片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许系统内改写程序或用非易失性存储器编程[8]。
因此,AT89C51是一种功能强、灵活性高且价格相对合理的单片机,可方便的应用于各种控制领域。
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51引脚图如图3-1所示。
图3-1AT89C51引脚图
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以
工作的系统.对51系列单片机来说,最小系统一般应该包括:
单片机、电源、晶振电路、复位电路[9]。
其原理图如3-2所示。
图3-2单片机最小系统原理图
单片机的复位是一个很重要的部分,复位是使单片机的CPU以及系统的各个部件处于特定的初始状态,并使系统从初始状态开始工作。
本系统采用手动上电复位电路,这样可以人工复位单片机系统,如图3-2所示,当按下按键开关的时候,VCC通过一个电阻连接到RST引脚,给RST一个高电平;按键松开的时候,RST引脚恢复为低电平,复位完成。
在单片机片内有一个高增益的反相放大器,反相放大器的输入端XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。
在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。
对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。
晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。
时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。
CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。
3.2电源电路设计
为了使系统能够持续供电,特使用市用220V电进行降压转换,转换成系统能够运用的5V直流电源。
如图3-3所示电路为输出电压+5V的稳压电源。
它由电源变压器B,桥式整流电路D1~D4,滤波电容C1、C3,防止自激电容C2、C3和一只固定式三端稳压器LM7805极为简捷方便地搭成的。
图3-3电源电路设计原理图
桥式整流电路是利用二极管的单向导通性进行整流的最常用的电路,常用来将交流电转变为直流电。
e2为正半周时,对D1、D3加正向电压,Dl、D3导通;对D2、D4加反向电压,D2、D4截止。
电路中构成e2、D1、Rfz、D3通电回路,在Rfz上形成上正下负的半波整流电压,e2为负半周时,对D2、D4加正向电压,D2、D4导通;对D1、D3加反向电压,D1、D3截止。
电路中构成e2、D2、Rfz、D4通电回路,同样在Rfz上形成上正下负的另外半波的整流电压。
如此重复下去,结果得到全波整流电压。
C1为整流滤波电容,它把整流后的脉动波形滤波为脉动纹波很小的直流电压,它的容量与负载有关,一般说,负载越重,C1的值要求越大,具体计算此处从略。
C2为LM7805稳压集成电路所要求的,尤其当LM7805与整流电路的滤波电容(此处为C1)不是紧紧连接的情况更是必不可少的,它用于稳定LM7805内部放大器的工作状态,它的数值生为产厂家规定值,不得小于0.33微法,它的连接必须尽可能紧连LM7805的1脚和2脚。
C3也为LM7805稳压集成电路所要求的,它用于稳定LM7805内部放大器的工作状态,同时改善电压调整的过渡响应。
它的数值为生产厂家规定值,不得小于0.1微法,它的连接必须尽可能紧连LM7805的3脚。
C4为负载电路退耦电容,它对负载提供一个端距离的本地回路,其数值与负载工作方式有关。
3.3键盘电路设计
在单片机应用系统中,键盘是与单片机进行人机交互的最基本的途径,其以按键的形式来设置控制功能或输入数据,按键的输入状态本质上是一个开关量。
确定矩阵键盘上何键被按下,一种是行扫描法,又称为逐行扫描查询法,一种叫高低电平翻转法。
本设计采用的是高低电平翻转法,其工作原理如下。
(1)首先让高四位为1,低四位为0。
若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下的键的行位置。
(2)然后让高四位为0,低四位为1。
若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置。
(3)最后将上述两者进行或运算即可确定被按下的键的位置。
本系统采用4*4矩阵式键盘,键盘连接方式如图3-4所示:
图3-4键盘电路图
键盘排列方式:
123A
456B
789C
*0#D
其中ABC无定义,*号键为取消当前操作,#号键为确认、D键为修改密码。
3.4液晶显示电路设计
液晶显示器(LCD)是一种功耗很低的显示器,它的使用非常广泛,比如电子表、计算器、数码相机、计算机的显示器和液晶电视等。
数字密码锁中需要显示的信息比较多,为了能直观的看到结果,并且为了设计显的美观,使用总线和排阻进行简化连接方式,本设计采用液晶显示屏LCD1602进行显示。
LCD1602是一种专门用来显示数字、字母、符号等的点阵型液晶模块。
每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
LCD1602是指显示的内容为16*2,即可以显示两行,每行16个字符液晶模块,显示字符和数字。
液晶显示电路具体连接方式如图3-5所示。
图3-5液晶显示器电路
进入系统后LCD液晶显示器的第一行总显示“CodedLock”,第二行显示“password:
”;
在输入密码时第二行会显示“input:
”,且输入的密码显示为“*”;
若输入密码正确,则第二行显示“open”;
若输入密码错误,则第二行显示“error”;
重置密码时,第二行显示“SetNewWordEnable”,然后第一次输入新密码;
第二次输入新密码后,按确定键,重置成功后,第二行会显示“ResetPasswordOK”。
3.5存储芯片电路设计
本设计存储模块的设计使用的是AT24C02芯片。
AT24C02有一个16byte页写缓冲器,通过I2C总线进行操作,可实现写保护功能。
存储芯片电路如图3-6所示。
图3-6存储芯片电路
AT24C02支持I2C,总线协议规定任何从总线接收数据的器件为接收器,任何将数据传送到总线的器件作为发送器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。
由主器件控制传送数据的模式,由于A0、A1和A2可以组成000~111八种情况,即通过器件地址输入端A0、A1和A2可以将最多8个AT24C02器件连到总线上,通过进行不同的配置进行选择器件。
3.6继电器驱动电路设计
继电器线圈需要流过较大的电流(约50mA)才能使继电器吸合,一般的集成电路不能提供这样大的电流,因此必须进行扩流,即驱动继电器属于感性器件,所以不能用单片机的I/O口直接来控制,且要在三极管等控制器件上加反相保护电路。
一般实验中都是单片机通过一个PNP型三极管,把三极管作为电子开关来驱动继电器,继电器的开和关完全由三极管的基极电平进行控制。
当三极管基极为高电平,PNP型三极管截止,这时继电器不工作;反之为低电平的话,PNP型三极管导通,继电器得电吸合。
图3-7是继电器驱动电路。
图3-7继电器驱动电路
PNP晶体管驱动的优点:
(1)单片机I/O端口的低电平驱动能力较强;
(2)避免单片机上电时I/O为高电平,造成继电器误动作。
3.7电路设计总图
电路设计总图见附录
。
4软件设计
程序设计(Programming)是指设计、编制、调试程序的方法和过程。
它是目标明确的智力活动。
在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。
因此,软件设计在微机控制系统设计中占重要地位。
对于本系统,软件也占有重要的地位。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。
所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。
4.1主程序设计
本设计主程序流程图如图4-1所示。
图4-1主程序流程图
主程序主要是完成系统初始化、设置中断量、检查有无按键按下、调用显示模块程序等。
主程序如下:
voidmain(void)
{
unsignedcharKEY,NUM;
unsignedchari,j;
P1=0xFF;
TMOD=0x11;
TL0=0xB0;
TH0=0x3C;
EA=1;
ET0=1;
TR0=0;
Delay400Ms();//启动等待,等LCM讲入工作状态
lcd_init();//LCD初始化
write_1602com(yi);//显示固定符号从第一行第0个位置之后开始显示
for(i=0;i<16;i++)
{
write_1602dat(name[i]);//向液晶屏写日历显示的固定符号部分
}
write_1602com(er);//时间显示固定符号写入位置,从第2个位置后开始显示
for(i=0;i<16;i++)
{
write_1602dat(start_line[i]);//写显示时间固定符号,两个冒号
}
write_1602com(er+9);//设置光标位置
write_1602com(0x0f);//设置光标为闪烁
Delay5Ms();//延时片刻(可不要)
N=0;/初始化数据输入位数
while
(1)
{
if(key_disable==1)
Alam_K
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 密码锁 设计 制作