欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数字密码锁的软件设计毕业设计.doc

    • 资源ID:3944226       资源大小:104.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字密码锁的软件设计毕业设计.doc

    摘 要用单片机控制密码锁是本设计的中心思想,通过实验,达到电子锁不仅能输入密码而且能验证判断并开锁的结果,当密码不正确时,会发出报警信息,提示操作人员再输入,而开锁这个动作也可演变成其他更复杂的机械运动,二极管指示开锁电平也可转换成LED显示输入,输入部分的电路原理和键入数字是一样的,在发展推广时,可以改成键盘式输入。本实验在AT89S51的基础上,我们增加了报警系统,密码输入,控制开锁电平,显示系统等周边的辅助电路,使得单片机能够完成由软件控制到硬件控制的转化。从这个设计的过程中,参与者不仅挺高了自身的动手能力也丰富了单片机的知识,更为重要的是,它培养了发现问题,解决问题的能力。电子密码锁也是当下颇具发展前途的一项新兴科技,安全性强,操作简洁,适用范围宽广。它正逐渐的被社会认可,走进千千万万的家庭中。关键词:单片机, 数字密码锁 ,AT89S51芯片目录摘 要II一 密码锁的基本知识11.1数字密码锁的定义11.2数字密码锁的发展历程与用途1二 此次设计的内容22.1 本设计的意图22.2 设计方案22.3 流程图1三 主要元件资料13.1 控制芯片AT89S511四 数字密码锁的电控系统设计64.1 控制电路64.2 控制程序7五 设计心得1参考文献1致谢0一 密码锁的基本知识1.1数字密码锁的定义数字密码锁,是由智能控制的能够输入密码并进行密码验证的锁具。1.2数字密码锁的发展历程与用途在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使 用传统的机械式钥匙开锁, 人们常需携带多把钥匙, 使用极不方便, 且钥 匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活 中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其 安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本 低、功耗低、易操作等优点。 在安全技术防范领域, 具有防盗报警功能的电子密码锁逐渐代替传统 的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使 密码锁无论在技术上还是在性能上都大大提高一步。 随着大规模集成电路 技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它 除具有电子密码锁的功能外, 还引入了智能化管理、 专家分析系统等功能, 从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、 IC 卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指 纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若 在公共场所使用存在容易机械损坏,IC 卡还存在容易丢失、损坏等特点。 加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的 技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流【1】。二 此次设计的内容2.1 本设计的意图以AT89S51为中心,通过密码输入,密码验证,控制发光二极管亮灭。实验效果是可以扩展应用到多个方面的。2.2 设计方案本设计是把密码锁设为3位密码。每位密码的取值范围为可以设为0-9,设置初始密码为1(K2),2(K3),3(K24)。只有按顺序依次按下k2,k3,k4才能开锁。它具有开锁,修改密码,报警等功能。这个密码锁虽然只设置了三位密码,但可以根据这个思路扩展为更多的密码位数。总的用了四个开关和三个发光二极管,三个开关时密码键,一个开关时修改密码键。一个指示灯用来指示锁的开或不开。一个指示灯输入的密码正确与否。一个指示灯用来指示密码错误,报警。每输入一位正确密码则相应的发光二极管亮,密码全正确则开锁那个指示灯亮,代表开锁,若键入的密码不正确,则相应的指示灯闪烁,开锁指示灯熄灭,相当于报警。这时按按键无效。若用户想修改密码,在输入正确密码开锁后,按下修改密码键,并出现相应的指示灯闪烁,即可键入新的密码,在重新输入新密码开锁,开锁情况和前面一样。开始2.3 流程图初始化键盘扫描判断是否有键按下设置新密码判断是什么键按下设置键 错误比较密码报警子程序 正确开锁 三 主要元件资料3.1 控制芯片AT89S51   AT89S51芯片AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。主要性能特点:1、4k Bytes Flash片内程序存储器; 2、128 bytes的随机存取数据存储器(RAM); 3、32个外部双向输入/输出(I/O)口; 4、5个中断优先级、2层中断嵌套中断; 5、6个中断源; 6、2个16位可编程定时器/计数器; 7、2个全双工串行通信口; 8、看门狗(WDT)电路; 9、片内振荡器和时钟电路; 10、与MCS-51兼容; 11、全静态工作:0Hz-33MHz; 12、三级程序存储器保密锁定; 13、可编程串行通道; 14、低功耗的闲置和掉电模式。 管脚说明VCC:电源电压输入端。 GND:电源地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。    PDIP封装的AT89S51管脚图P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(T0定时器的外部计数输入) P3.5 T1(T1定时器的外部计数输入) P3.6 /WR(外部数据存储器的写选通) P3.7 /RD(外部数据存储器的读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。P0:P0口是一个漏极开路的8位双向I/O口。在访问片外存储器时P0分时提供低8位地址线和8位双向数据线。当不接片外存储器或不扩展I/O口时,P0可作为一个通用输入/输出口。P0口作输入口使用时,应先向口锁存器写“1”,P0口作输出口时,需接上拉电阻。P1:P1口是一个内部提供上拉电阻的8位双向I/O口,因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”。P2:P2口也是一个内部提供上拉电阻的8位双向I/O口,在访问片外存储器时,输出高8位地址。P3:P3口除了一般的准双向通用I/O口外,还有第二功能。VCC:+5V电源VSS:接地 ALE:地址锁存器控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 /PSEN:外部程序存储器读选通信号。在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。 /EA:访问程序存储控制信号。当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当/EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。 RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号【2】。四 数字密码锁的电控系统设计4.1 控制电路如图,围绕着S51单片机,、在左下角的是最小系统,左上方的是按键矩阵,右上侧是LED显示、4.2 控制程序;.存初始密码.ORG 0000H MOV SP,#60H MOV 30H,#0FBH MOV 31H,#0F7H MOV 32H,#0FDH CLR P0.0 ;D1亮一下 ACALL D50mS SETB P0.0;.判断第一位密码 MOV R0,#30HL1: MOV P1,#0FFH ;判断是否有按键按下 MOV A,P1 CJNE A,#0FFH,L2 AJMP L1L2: ACALL DEL10mS CJNE A,#0FFH,L3 AJMP L1L3: ACALL DEL10mS CLR C SUBB A,R0 INC R0 CJNE A,#00H,BP;比较第一位密码是否正确 CLR P0.1 ACALL D50mS SETB P0.1;比较第二位密码.L5: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,L6 AJMP L5L6: ACALL DEL10mS CJNE A,#0FFH,L7 AJMP L5L7: ACALL DEL10mS CLR C SUBB A,R0 INC R0 CJNE A,#00H,BP CLR P0.1 ACALL D50mS SETB P0.1;比较第三位密码.L8: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,L9 AJMP L8L9: ACALL DEL10mS CJNE A,#0FFH,L10 AJMP L8L10: ACALL DEL10mS CLR C SUBB A,R0 CJNE A,#00H,BP AJMP L4;模拟报警.BP: CLR P0.2;D3闪三下 ACALL D50mS SETB P0.2 ACALL D50mS CLR P0.2 ACALL D50mS SETB P0.2 ACALL D50mS CLR P0.2 ACALL D50mS SETB P0.2 SETB P0.0 AJMP L0;密码正确开锁. L4: CLR P0.1 ; D2指示灯亮三下,D1一直亮 ACALL D50mS SETB P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 CLR P0.0 ;开锁;确认是否修改密码K0: JB P1.0,$ ;判断按键K1是否按下, ACALL DEL10mS JB P1.0,K0 JNB P1.0,$ SETB P0.1 ; 按下D2指示灯闪两下 ACALL D50mSCLR P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 ;以修改密码;修改新密码第一位 . G1: MOV P1,#0FFH ; D2只是灯闪一下 MOV A,P1 CJNE A,#0FFH,G2 AJMP G1G2: ACALL DEL10mS CJNE A,#0FFH,G3 AJMP G1G3: MOV 40H,A INC R1 CLR P0.1 ACALL D50mS SETB P0.1 ;修改新密码第二位 . G4: MOV P1,#0FFH ; D2只是灯闪一下 MOV A,P1 CJNE A,#0FFH,G5 AJMP G4G5: ACALL DEL10mS CJNE A,#0FFH,G6 AJMP G4G6: MOV 41H,A CLR P0.1 ACALL D50mS SETB P0.1 ;修改新密码第三位.G7: MOV P1,#0FFH MOV A,P1 ;D2只是灯闪一下 CJNE A,#0FFH,G8 AJMP G7G8: ACALL DEL10mS CJNE A,#0FFH,G9 AJMP G7G9: MOV 42H,A CLR P0.1 ;D2闪两下,新密码修改完 ACALL D50mS SETB P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 ACALL D50mS ;输入新密码开锁H0: CLR P0.2;D3指示灯闪一下,可以输入新密码开锁 ACALL D50mS SETB P0.2 MOV R1,#40H H1: MOV P1,#0FFH ;输入第一位新密码 MOV A,P1 CJNE A,#0FFH,H2 AJMP H1H2: CALL DEL10mS CJNE A,#0FFH,H3 AJMP H1H3: CLR C SUBB A,R1 INC R1 CJNE A,#00H,HP CLR P0.1 ACALL D50mS SETB P0.1H5: MOV P1,#0FFH ;输入第二位新密码 MOV A,P1 CJNE A,#0FFH,H6 AJMP H5H6: ACALL DEL10mS CJNE A,#0FFH,H7 AJMP H5H7: CLR C SUBB A,R1 INC R1 CJNE A,#00H,HP CLR P0.1 ACALL D50mS SETB P0.1H8: MOV P1,#0FFH ;输入第三位新密码 MOV A,P1 CJNE A,#0FFH,H9 AJMP H8H9: ACALL DEL10mS CJNE A,#0FFH,H10 AJMP H8H10: CLR C SUBB A,R1 CJNE A,#00H,HP AJMP H4HP: CLR P0.2 ;输入密码错误D3指示灯闪三下 ACALL D50mS SETB P0.2 ACALL D50mS CLR P0.2 ACALL D50mS SETB P0.2 ACALL D50mS CLR P0.2 ACALL D50mS SETB P0.2 SETB P0.0 ;D1指示灯熄灭,报警 AJMP H0 H4: CLR P0.1 ;密码都正确,D2指示灯闪三下, ACALL D50mS SETB P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 ACALL D50mS CLR P0.1 ACALL D50mS SETB P0.1 ;D1一直亮,代表开锁 AJMP K0 .延时0.5S.D50mS: MOV R2,#50D0: ACALL DEL10mS DJNZ R2,D0RET延时10Ms.DEL10mS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$DJNZ R6,D1RETEND【3】五 设计心得我从这次设计中得到了许多,涵盖了多个层面的益处,通过搜集资料的过程,让我明白了网络的重要性, 也学会了一些搜索的技巧,不至于想要一些资料却在电脑前手足无措,在资料的整合中我丰富了知识,了解了数字密码锁的相关资料,对它的社会价值及未来发展前景也都有了一定的认识。 在电路的焊接过程,我完成了从一无是处的新手到基本掌握了焊接技术的飞跃,这让我心里很激动,面对自己亲手制作的产品,更让我有些许的成就感,虽然这算不上大的成就,也不会是什么丰功伟业,但不可辩驳的与我本身造成了积极地影响,我会在这种成功的推动下总结出一条能让我复制成功的有效地,切合实际的行为方式,我相信会对我未来的工作生活起一定的指导作用。这就是从成功中获得好的心态,再从好的心态中达到进一步的成功的良性循环。我认为最重要的一点,就是我在这次设计中建立了一套解决问题的思维方式,我想这也是本次设计的目的所在吧。下面我就分享一下我的解决问题的思路。要想解决问题,首先,找到问题的成因,对症下药才是行之有效的,分析原因,釜底抽薪,提出解决方案,验证方案的可执行性,复查结果,总结经验。通过这样的一种方法基本就理清了解决问题的思路了。团队合作是处理问题的很有效的的方法,个人的观点或多或少会是片面的。一但问题不能被解决,就会有这样或那样的新问题组成团的问候你,这时候队友的见解就起到了它显而易见的作用,不同的观点使你不到不衡量哪一种更适合更有效,这样你会下意识的比较,权衡利弊,从而达到解决问题地目的。参考文献【1】王明. 单片机密码锁设计.福建电脑,2004,6:6767【2】李霞,业技术学院学报 第5期第17卷单片机电子密码锁于AT89C51单片机多功能密码锁的研究【3】 廖小凡 单片机数字密码锁程序的设计方法.湖南商业高等专科学校学报,2010,21(2):104105 致谢感谢老师等对我的教育培养。他们细心指导我的学习与研究,在此,我要向诸位老师深深地鞠上一躬。.结束语经过了几个月的学习,我终于完成了数字密码锁的软件设计,本次设计虽然不是很复杂但却极有意义。我们可以以此为基础,丰富它的输入部分,显示部分,报警部分等,通过改进一定能使数字密码锁的软件部分更加完善。

    注意事项

    本文(数字密码锁的软件设计毕业设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开