电子密码锁的设计_第1页
电子密码锁的设计_第2页
电子密码锁的设计_第3页
电子密码锁的设计_第4页
电子密码锁的设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的密码锁设计【摘要】:随着人们生活水平的不断提高,家庭防盗变得尤为重要。传统的机械锁因为其构造简单,安全系数低,无法满足人的需要。随着电子产品向智能化和微型化方向的发展,电子防盗锁走入寻常百姓家。本系统由STC89C52单片机系统、44矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。本系统成本低廉,功能实用。【关键词】:单片机;电子密码锁;44矩阵键盘;第1页Abstract:Withtheimprovementoflivingstandards,familysecurityisparticularlyimportant.thetraditionalmechanicallocksduetoitssimplestructure,lowsafetyperformance,unabletomeettheneedsofthepeople.Withthedevelopmentofelectronicproductstotheintelligenceandminiaturizationofelectronicanti-theftlockintothehomesofordinarypeople.ThesystemconsistsofSTC89C52single-chipmicrocomputersystem4*4matrixkeyboardLCD1602displayandalarmsystemetc.hasprovidedsix,modifyuserpassword,thealarm,superlock,erroralarmpasswordsandotherfunctions.Thissystemhastheadvantagesoflowcost,practicalfunction.Keywords:AT89S52;Electronicanti-theftpasswordlock;44keyboar;-目录前言.2第1章密码锁简介.3第1.1节密码锁的概念.3第1.2节密码锁的背景和意义.3第1.3节密码锁的发展趋势.3第2章总体系统方案论证.5第2.1节采用单片机控制方案.5第2.2节使用LCD1602进行显示方案.5第2.3节密码输入方式的方案.5第3章系统总体介绍和主要芯片介绍.6第3.1节系统总体介绍.6第3.2节主要芯片介绍.6第4章系统设计.10第4.1节硬件电路设计.10第4.2节软件电路设计.12第5章系统调试及仿真.20第5.1节硬件调试.20第5.2节软件仿真.21结论.22参考文献.22致谢.23附录.23附录1:实物照片.23附录2:硬件原理图及原程序.24第1页前言随着如今电子技术的飞速发展,单片机性能不断完善,性价比也随之显著提高,技术也日趋完善。由于单片机具有体积小、重量轻、功耗低、控制功能强、价格便宜及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的发展和应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成该设计的实际功能。在国内国外,电子产品的日益更新可谓如雨后春笋,层出不穷,更多的电子产品也越来越多的用于安全技术防范领域。电子密码锁,一种具有防盗报警功能的电子称品随之诞生,并逐步代替了传统的机械式密码锁。它克服了机械式密码锁密码单调,安全性低等缺点,使密码锁无论从性能技术还是成本上都有了大步的提高。随着电子密码锁技术的逐步成熟,一种基于单片机的电子密码锁也走进了我们的生产和生活领域之中。从目前的市场需求和技术发展来看,国内外现在使用频率最高的就是键盘输入式电子密码锁。这种密码锁有着容易掌握,准确可靠,不易丢失或泄露密码,密码易于修改等特点,被广泛用在保险箱、保险柜、防盗门、金库、运钞车、个人住宅和银行等场合。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。本文所设计的电子密码锁由单片机、矩阵键盘、数码管和报警电路等实现,可由用户设置和修改密码,还可以根据实际情况选择添加无线或者红外遥控功能。第2页第1章密码锁简介随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。第1.1节密码锁的概念电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。第1.2节密码锁的背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能。锁自古以来就是把守护门的常用之物,人们对它要求甚高,既要使用方便,又要防盗可靠性高,这也是制锁者长期以来研制的主题大体趋势。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。电子锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密码量极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而遗留的安全隐患问题。电子锁只需记住一串密码,无需携带金属类钥匙,免除了人们因携带金属钥匙感到繁琐的烦恼,从而第3页使密码锁受到越来越多的人所喜爱。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。第1.3节密码锁的发展趋势当电子密码锁逐步应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。第4页第2章总体系统方案论证第2.1节采用单片机控制方案选用单片机STC89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后可以设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接显示器,键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而且单片机编程设计灵活、I/O端口丰富、控制的准确性高,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。第2.2节使用LCD1602进行显示方案由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高;同样液晶屏的功率消耗比较小;液晶是平板型结构,由两片玻璃组成的夹层盒,面积可大可小,安装时占用面积小减小了设备的体积;液晶的信息量大相同的面积上与数码管比可以显示更多的信息;且他本身没有老化问题寿命极长;与数码管相比液晶屏显示的更能够看懂,他能将英文细腻的显示出来是数码管做不到的。然而液晶屏也可在阳光下工作,具有防风、防雨、防水功能。这就说明能够使用在室外。但是液晶在阳光强的时候会反光是视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳光是自己看的清楚一点。综上所述选择LCD1602进行显示。第2.3节密码输入方式的方案由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,每当一个按键按下就会由某一条行线与某一条列线接触,只要确定接触的是哪两条I/O口线,就可以确定哪一个按键被触动。行线初始置于高位,通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读取行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按第5页钮被按下。第6页第3章系统总体介绍和主要芯片介绍第3.1节系统总体介绍本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成其中矩阵键盘用于输入数字密码和进行各种功能选择的实现。由用户通过连接单片机的矩阵键盘输入密码后,经过单片机对输入密码与自己保存的密码进行比对,从而判断出密码是否正确,然后控制引脚的高低电平传到开锁电路或者警报电路控制开锁还是报警。实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁吸合线圈即可。系统整体框图如图3-1所示。STC89C52键盘输入复位电路晶振电路显示电路报警电路开锁电路图3-1系统整体框图各模块功能如下:键盘输入模块:分为密码输入按键和几个功能按键,用于完成密码锁输入功能。显示模块:用于完成对系统状态显示及操作提示功能。复位电路:完成系统的复位。报警电路:用于完成输错密码时候的警报功能。密码存储模块:用于完成掉电存储功能,使修改的密码断电后仍能保存。开锁电路:应用继电器及发光二极管模拟开锁,完成开锁及显示。第3.2节主要芯片介绍3.2.1.STC89C52单片机介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置8KBEEPROM,MAX810第7页复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。EA/VP31X119X218RESET9P37/RD17P36WR16P32/INT012P33/INT113P34/T014P35/T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30P31/TXD11P30/RXD10GND20VCC40U1STC89C52图3-2STC89C52单片机引脚图主要特性如下:(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)。(3)工作频率范围:040MHz相当于普通8051的080MHz,实际工作频率可达48MHz。(4)通用I/O口(32个),复位后为P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时不用加上拉电阻,作为I/O口用时,需加上拉电阻。(5)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。(6)共3个16位定时器/计数器即定时器T0、T1、T2。(7)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。(8)通用异步串行口(UART)还可用定时器软件实现多个UART。(9)工作温度范围:-40+85(工业级)/075(商业级)。第8页3.2.2.液晶显示LCD1602的介绍现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型LCD液晶显示模块具有体积小,功耗低,显示内容丰富等特点,超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有对字符对比度调节和背光功能。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ACII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量如A。LCD1602各引脚功能如下表所示:表格3-1LCD1602各引脚功能说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极基本操作时序:读状态:令RS=L,RW=L,E=H输出:D0D7=状态字读数据:令RS=H,RW=H,E=H输出:无写指令:令RS=L,RW=L,D0D7=指令码,E=高脉冲输出:D0D7=数据写数据:令RS=H,RW=L,D0D7=数据,E=高脉冲输出:无状态字说明STA7STA6STA5STA4STA3STA2STA1STA0第9页D7D6D5D4D3D2D1D0STA0-6当前数据地址指针的数值;STA7读写操作使能1:禁止0:允许1602系列中有11种状态字,对应不同指令。3.2.3.存储芯片AT24C02AT24C02是一个2K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。24C02引脚说明:SCL:串行时钟信号引脚。在SCL输入时钟信号的上升沿将数据送入EEPROM器件,并在时钟的下降沿将数据读出。SDA:串行数据输入/输出引脚SDA引脚可实现双向串行数据传输。该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。A0,A1,A2地址输入引脚。当使用24C02时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0,A1,A2可悬空或拉高。WP写保护,当WP接地时,允许对器件的正常读写操作;当WP接高电平时,写保护,只能进行读操作。VCC,GND电源,接地引脚,1.8-5.5v图3-324C02的引脚功能图第10页第4章系统设计第4.1节硬件电路设计4.1.1.矩阵键盘设计电路由于本设计所用到的按键数量较多而不适合用独立按键。采用的是矩阵式按键键盘,由行和列组成,也称行列式键盘。本设计采用44触点式键盘,分别有数字键,确定键,清除键和干扰键。通过对键盘的编程,可实现各按键功能每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要M条行线和N条列线,即可组成具有MN个按键的键盘。为减少键盘与单片机接口时所占用的I/O线的数目,故使用矩阵键盘。本设计中,矩阵键盘行线和单片机P1.0-P1.3相连,列线与单片机P1.4-P1.7相连。键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。1234K11234K21234K31234A1234K41234K51234K61234B1234K71234K81234K91234C1234*1234K01234#1234DP10P11P12P13P14P15P16P17图4-1矩阵键盘设计电路4.1.2.密码存储电路由52单片机掉电后会丢失数据存储器里的数据,因此必须外加掉电存储电路,由AT24C02芯片来实现。AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址,此次电路将它们都接地。第4脚和8脚分别为电源、地线。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传输,本电路SDA与单片机P3.1相连。第6脚SCL为串行时钟输入线,与单片机P3.0相连。第11页图4-2掉电保护电路4.1.3.复位电路复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。当单片机的复位引脚RST出现5ms以上的高电平时单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求复位后能脱离复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。本设计使用常见的上电且开关复位。图4-3复位电路4.1.4.报警显示电路报警部分由有源蜂鸣器及外围电路组成,单片机加电后不发声,当有键按下时,“叮”声,每按一下,发声一次。密码输入正确时,不发声直接输出开锁信号。当密码错误次数达到三次时,单片机P2.3口高低电平震荡,蜂鸣器发出警报声,电路其他部分锁死。警报到达一定时间后,自动回到闭锁状态。电路中三极管NPN处在开关状态,受P2.3口控制,当P2.3为低电平时,蜂鸣器无电源,当P2.3为高电平时,三极管导通,蜂鸣器受5V供电。第12页图4-4报警电路4.1.5.电源电路自锁开关电路中起到电源的开关作用,常开的其中一脚接DC电源插口电源脚,常开的另一脚接电路的VCC。此设计有2种供电方式。当外部供电被切断时,干电池经过二极管为系统供电。供电时间长短由电池电量决定。电路图如下图4-5电源电路图第4.2节软件电路设计与硬件电路相关联,本系统软件包括主程序模块、密码比较判断模块、键盘扫描模块、修改密码模块、1602A液晶显示模块等。4.2.1主程序模块主程序主要用于定义全局变量,给全局变量赋初值,初始化E2PROM,启动定时器以及从AT24C02中读取密码,为整个程序提供数据;检测按键;调用显示等功能。4.2.2密码比较判断模块第13页该模块的功能是将键盘输入的密码利用if语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。输入密码Y键盘锁定,开启报警电路复位开锁,灯亮,可密码修改N图4-6密码输入和比较判决流程图4.2.3键盘扫描模块键盘设计应用编程式扫描方式,利用CPU完成其它工作的空余时间来调用键盘扫描子程序,响应键盘输入的要求。在执行键功能时,CPU不再响应键输入要求,直到CPU开始重新扫描键盘为止。扫描程序包括:1.判别有无按键按下;2.扫描键盘,取得闭合键的行、列值;3.判断闭合键是否释放,如未释放继续等待;4.将闭合键号保存,同时转去执行该闭合键的功能。键盘扫描程序如下:ucharget_key()ucharrow_code;ucharcol_code;P1=0xf0;if(P1!=0xf0)delayms(200);if(P1!=0xf0)delayms(2);row_code=0xfe;第14页while(row_code!=0x7f)P1=row_code;if(P1!=row_code)col_code=(P1beep();return(col_code)|(row_code);row_code=(row_code0;x-)for(y=110;y0;y-);/-写指令-write_1602com(ucharcom)/*液晶写入指令函数*lcd1602_rs=0;/数据/指令选择置为指令lcd1602_rw=0;/读写选择置为写P0=com;/送入数据delay(1);lcd1602_en=1;/拉高使能端,为制造有效的下降沿做准备delay(1);lcd1602_en=0;/en由高变低,产生下降沿,液晶执行命令/-写数据-write_1602dat(uchardat)/*液晶写入数据函数*第19页lcd1602_rs=1;/数据/指令选择置为数据lcd1602_rw=0;/读写选择置为写P0=dat;/送入数据delay(1);lcd1602_en=1;/en置高电平,为制造下降沿做准备delay(1);lcd1602_en=0;/en由高变低,产生下降沿,液晶执行命令/-初始化-voidlcd_init(void)write_1602com(0x38);/设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);/开显示不显示光标write_1602com(0x06);/整屏不移动,光标自动右移write_1602com(0x01);/清显示第20页第5章系统调试及仿真第5.1节硬件调试5.1.1.液晶显示模块的硬件调试利用proteus画好相应的硬件流程图,注意液晶显示器LCD1602的各个引脚,尤其与单片机的接口,在硬件调试的测试软件中要对它的控制引脚进行定义。实际电路中,注意LCD1602数据口、控制口与单片机的交互,注意背光源正极和负极的连接以及背光调节旋钮的正确安装。此次制作中,画出PCB板后,将LCD插入对应位置,通电后发现LCD显示非常不明显,通过调节VEE端口的可变电阻器调节液晶显示偏压达到比较好的效果。5.1.2.按键测试此次电路中采用的是44矩阵键盘输入,这种接口方式适用于按键数量较多的场合。也正是因为有16个按键,所以他们之间的连接线比较多,行线、列线的交点是这部分的关键。矩阵键盘搭建好之后,用万用表测试过各条行线和列线,均为导通状态。出于方便经济和可移植性考虑,实际操作过程中我们选择的是外接成品的键盘电路。不仅价格便宜,可移植性高,而且制作比手工要好一些,直接利用排线和对应的I/O口相连即可。5.1.3.蜂鸣器测试此次电路中采用有源蜂鸣器用于按键声和报警功能。为确保实验成功,需使蜂鸣器满足要求。有源蜂鸣器应注意其+、-管脚。焊接前,先搭线测试,使蜂鸣器的+端接震荡信号,-端接地,看蜂鸣器是否能够正常发出声音。5.1.4.其它元器件测试检测其它元器件的性能是否能够正常工作,如电阻、电容、LED、7805、继电器,开关等器件。5.1.5.整机安装调试本电路的各个模块的设计及最终效果都是在Proteus仿真软件的辅助下得以形成的,都在在Proteus中仿真得以通过了,达到了预期效果,也就是说电路在逻辑上是行的通的。由于电路模拟的结果并不能完全准确的模拟实际电路,所以这里的调试主要就是针对实际电路中出现的问题或不稳定情况进行调试。在样品加电前,根据硬件设计图,数字万用表等工具仔细检查电路线路是否连接正确并核对元器件型号、规格和安装是否符合要求。应特别注意电源的检查,防止电源的短路和极性错误,并重点检查各连接线间是否存在相互短路的情况。加电后,利用万用表检查各芯片插座上有关引脚的电位,测量各点电平是否符合正第21页常情况,以检测对应的输入输出是否正确。在调试过程中,对各元件电源检查的过程中,应逐个加电,分析电路,在保证电源连接正确的情况下再加电测试,以防电路连接错误使得电源短路造成对电路的损坏。第5.2节软件仿真主要利用Keil和proteus进行联机仿真,在两个软件中分别进行相应的设置,然后开始联机仿真。本电路的各设计及最终效果都是在Keil和Proteus仿真软件的辅助下得以形成的,都在在Proteus中仿真得以通过了,达到了预期效果,也就是说电路在逻辑上是行的通的。通过在Keil上进行程序编写和修改,在Proteus上模拟仿真,以达到设计的要求。当LED灯亮说明此时密码通过锁打开,不亮则说明密码错误。仿真图如下:第22页结论本次设计通过硬件电路设计、软件编程、硬件调试、软件调试以及系统调试完成了设计要求,达到了设计目的。本次设计最终的结果如下:电子密码锁通过键盘能成功进行输入密码;能判断输入的密码是否正确并且能显示判断结果;能在密码输入正确后开门;能在密码输入错误次数达到三次以上后进行报警;能在开门后通过一按键对原有密码进行更改;能用*代替显示输入的密码数字,隐藏了密码,这实现了密码保护。但是在实现上述功能时,也存在许多不足。第一,在密码输入正确时除了要使代表电磁吸合器的发光二极管发光以外,还应该加上语音模块,提示门开,这样更人性化一些。第二,密码输入错误次数小于三次时,也应该采取措施提醒。第三,本次设计的电子密码锁,安全方面还可以提高进步。本设计中的报警系统只是一个简单的系统,要应用于实际生活还需要进一步改进。第23页参考文献1.赵建领,弓雷.51系列单片机开发宝典(第2版)J.北京:电子工业出版社,2012:3-22.2.徐科军.传感器与检测技术M.北京:电子工业出版社,2011.3.陈晓鸽,昂军,胡仁喜.Protel99SE标准实例教程M.北京:机械工业出版社,2010.4.金桂,向国梁.基于C语言STC89C52单片机电子密码锁的设计与仿真J.现代电子技术,2010,19:176-182.5.孙力.C语言程序设计M.北京:中国农业出版社,2008.6.江晓安,董秀峰,杨颂华.数字电子技术基础M.西安:电子科技大学出版社,2008.7.童诗白,华成英.模拟电子技术基础M.北京:高等教育出版社,2006.8.黄友锐.单片机原理及应用M.合肥:合肥工业大学出版社2006.9.何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.10.梁丽.电子密码锁的计算机仿真设计.计算机仿真,2005.第24页致谢非常感谢魏明老师在我大学的最后阶段毕业设计阶段给自己的耐心指导,从最初的自选定题,到资料收集,之后的写作、修改,一直到论文定稿,你给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,他甚至时常放弃了自己的课余的休息时间,不辞辛苦!他的这种奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。还有我要感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是你们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面都做得另自己满意,自信饱满的步入社会这个大家庭!再次我要祝愿各位老师培养出更多的人才,桃李满天下!第25页附录:中英文文献翻译名称电子密码锁第26页附录1:实物照片单片机写入程序后并通电初始化后,LCD显示屏显示welcome如图所示当通过4*4矩阵键盘输入密码且密码错误后,LCD显示屏显示error以及输入错误的次数,如图所示当用户需要修改密码时,按下*按键即可进入修改密码界面,LCD显示屏显示new-password如图所示第27页附录2:硬件原理图及原程序原理图密码锁各部分原程序:#include#include#defineLCM_DataP0#defineucharunsignedchar第28页#defineuintunsignedint#definew6/定义密码位数sbitlcd1602_rs=P27;sbitlcd1602_rw=P26;sbitlcd1602_en=P25;sbitScl=P34;/24C02串行时钟sbitSda=P35;/24C02串行数据sbitALAM=P21;/报警sbitKEY=P36;/开锁sbitopen_led=P22;/开锁指示灯bitoperation=0;/操作标志位bitpass=0;/密码正确标志bitReInputEn=0;/重置输入充许标志bits3_keydown=0;/3秒按键标志位bitkey_disable=0;/锁定键盘标志unsignedcharcountt0,second;/t0中断计数器,秒计数器voidDelay5Ms(void);unsignedcharcodea=0xFE,0xFD,0xFB,0xF7;/控盘扫描控制表unsignedcharcodestart_line=password:;unsignedcharcodename=CodedLock=;/显示名称unsignedcharcodeCorrect=correct;/输入正确unsignedcharcodeError=error;/输入错误unsignedcharcodecodepass=pass;unsignedcharcodeLockOpen=open;/OPENunsignedcharcodeSetNew=SetNewWordEnable;unsignedcharcodeInput=input:;/INPUTunsignedcharcodeResetOK=ResetPasswordOK;unsignedcharcodeinitword=Initpassword.;unsignedcharcodeEr_try=error,tryagain!;unsignedcharcodeagain=inputagain;第29页unsignedcharInputData6;/输入密码暂存区unsignedcharCurrentPassword6=1,3,1,4,2,0;/当前密码值unsignedcharTempPassword6;unsignedcharN=0;/密码输入位数记数unsignedcharErrorCont;/错误次数计数unsignedcharCorrectCont;/正确输入计数unsignedcharReInputCont;/重新输入计数unsignedcharcodeinitpassword6=0,0,0,0,0,0;/=5ms延时=voidDelay5Ms(void)unsignedintTempCyc=5552;while(TempCyc-);/=400ms延时=voidDelay400Ms(void)unsignedcharTempCycA=5;unsignedintTempCycB;while(TempCycA-)TempCycB=7269;while(TempCycB-);/=将按键值编码为数值=unsignedcharcoding(unsignedcharm)unsignedchark;switch(m)case(0x11):k=1;break;case(0x21):k=2;break;case(0x41):k=3;break;case(0x81):k=A;break;case(0x12):k=4;break;case(0x22):k=5;break;case(0x42):k=6;break;case(0x82):k=B;break;case(0x14):k=7;break;case(0x24):k=8;break;第30页case(0x44):k=9;break;case(0x84):k=C;break;case(0x18):k=*;break;case(0x28):k=0;break;case(0x48):k=#;break;case(0x88):k=D;break;return(k);/=一声提示音,表示有效输入=voidOneAlam(void)ALAM=0;Delay5Ms();ALAM=1;/=二声提示音,表示操作成功=voidTwoAlam(void)ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;/=三声提示音,表示错误=voidThreeAlam(void)ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;/=显示输入的N个数字,用H代替以便隐藏=voidDisplayOne(void)第31页/DisplayOneChar(9+N,1,*);write_1602com(yi+5+N);write_1602dat(*);/=显示提示输入=voidDisplayChar(void)unsignedchari;if(pass=1)/DisplayListChar(0,1,LockOpen);write_1602com(er);for(i=0;i16;i+)write_1602dat(LockOpeni);elseif(N=0)/DisplayListChar(0,1,Error);write_1602com(er);for(i=0;i16;i+)write_1602dat(Errori);else/DisplayListChar(0,1,start_line);write_1602com(er);for(i=0;i16;i+)write_1602dat(start_linei);voidDisplayInput(void)unsignedchari;if(CorrectCont=1)第32页/DisplayListChar(0,0,Input);write_1602com(er);for(i=0;i16;i+)write_1602dat(Inputi);/=重置密码=voidResetPassword(void)unsignedchari;unsignedcharj;if(pass=0)pass=0;DisplayChar();ThreeAlam();elseif(ReInputEn=1)if(N=6)ReInputCont+;if(ReInputCont=2)for(i=0;i6;)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论