毕业设计(论文)基于单片机的数字式电子密码锁设计.doc
《毕业设计(论文)基于单片机的数字式电子密码锁设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的数字式电子密码锁设计.doc(41页珍藏版)》请在三一办公上搜索。
1、基于单片机的数字式电子密码锁学生姓名:班级:04041234指导老师:摘要:当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。本次设计以电磁继电器模拟密码锁,由单片机8051来控制锁的打开与闭合,由HD7279来管理器键盘及显示,密码从键盘输入,用8051来控制7279显示当前锁的状态信息及报警。本次设计的核心是软件部分,通过编程来控制输出高低电平,再加上硬件电路来实现开锁和报警的功能,密码为46位,且设计的电子密码系统稳定性能好,安全系数高, 其方法和技术可广泛用于仓管、防盗门、密码箱
2、等安全系统。关键词:单片机开发系统 密码锁 串口通信目录第一章 前言411 课题的背景及意义412 国内外发展现状413 本文的主要研究内容4第二章 系统的组成及工作原理521 需求分析5211设计内容与要求5212系统框图522系统组成523系统工作原理介绍5第三章 硬件电路设计731单片机最小系统设计73.1.1 时钟电路73.1.2 复位电路832 HD7279键盘显示模块1033 开锁电路1334 报警电路14第四章 软件设计1541 软件设计分析1542 系统资源分配1543 程序设计16431主程序设计16432 数字键处理程序(SKEY)17433 确认键处理子程序(MKEY_2
3、)18434 密码判断子程序(COMP)18435 密码修改子程序(GMM)19436 显示处理子程序21437 键盘扫描子程序2244 程序清单及注释22第五章 实验调试及测试结果2351 硬件调试2352 软件调试2353 总体调试24第六章 总结2561 实现功能2562 不足之处和改进意见2563 心得体会2564 致谢26参考文献27附录一 源程序及注释28附录二 电路总图40附录三 元器件清单41 第一章 前言11 课题的背景及意义随着现代化工业生产过程复杂性与集成化程度的增加,自动控制系统在工业过程中已成为不可缺少的重要组成部分,是电子技术与自动控制理论的紧密结合,并广泛应用于工
4、业、农业、医学、国防和军事等等领域。自动控制系统应用于工业控制有各种各样的结构和形式,实现各自不同的功能,此次设中用到的ATC89C51就是一种新型的价格便宜而性能优良的单片机系统,结构简单,布局合理,功能齐全,用途广泛。用单片机开发系统来做这次课程设计,使得更进一步掌握如何利用接口电路进行硬件系统的设计,以及如何进行软件设计的方法和技术。且设计的电子密码锁安全系数高,性能稳定, 面向应用,设计的系统具有很强的现实意义。12 国内外发展现状一直以来,市场上的密码锁产品都是基于机械原理的机械密码锁,这种密码锁最大的缺点就是结构简单,安全系数低,且不具有报警功能。但着当今社会对家庭财产,公共隐私等
5、保密性要求提高,使得对密码锁系统的安全性提出了更高的要求, 而随着微电子技术的发展,微处理器与微型计算机得到迅速的发展,单片微型计算机功能强,结构紧凑,体积小,功耗低,抗干扰能力强,稍加一定的外围设备就方便地构成一个应用系统,这正好符合密码锁系统的要求,国内外市场上的相关产品也越来越多地使用单片机来加强密码锁的安全性稳定性。13 本文的主要研究内容本文的主要研究基于单片机8051为核心控制的电子密码锁安全系统,本次设计以电磁继电器模拟密码锁,由单片机8051来控制锁的打开与闭合,由HD7279来管理器键盘及显示,密码从键盘输入,用8051来控制7279显示当前锁的状态信息及报警。本次设计用单片
6、机开发系统来模拟密码锁的多种功能,密码由4-6位数字组成,当输入密码相符时开锁,输入三次不符报警,同时密码可以修改。开锁单片机开发出开关量,通过光电耦合器控制,打开密码锁。报警则由单片机发出报警信号,控制音频放大电路发出报警声音。第二章 系统的组成及工作原理21 需求分析 211设计内容与要求 (1)设计一个数字式密码锁; (2)密码由46位数字组成; (3)密码相符则开锁,三次不符则报警; (4)密码可以更新; (5)采用7279芯片管理键盘显示。 212系统框图图1.1为本次密码锁设计的总框图:单片机开发系统放大电路扬声器报警 键盘电磁继电器隔离开关量输出 图1.1.1 系统框图22系统组
7、成本次设计的基于单片机的电子密码锁系统主要由三个模块组成,核心是89C51单片机,键盘及数码管显示由HD7279模块电路完成,报警电路由放大电路接扬声器组成,而开锁电路则由光电耦合器及电磁继电器组成。23系统工作原理介绍通电复位,电路进入就绪状态,等待用户输入密码,7279显示00000000,表示锁闭合。当用户按下“输入/离开”键后,8个数码管显示_ _ _ _ _ _ _ _,等待用户输入密码,输完密码后显示- - - - - - - - ,按下“确认”键,如输入密码正确则由P1.1输出开锁控制信号且绿灯亮,7279显示PLEASE.,且控制电磁继电器打开锁。如输入密码错误,则显示ERRO
8、RX,X为输入错误密码的次数,若连续三次输入错误,则由P1.5输出报警控制信号,并控制音频放大电路,发出报警声音,并且必须等待解出报警后即输入正确密码后方可重新开锁。输入密码正确后,按下“改密”键,输入46位密码后再按下“确认”键,则完成了密码更新,7279重新显示PLEASE。在锁打开的状态下,按下“输入/离开”键,则将锁关闭,指示灯熄灭,7279重新显示00000000,表示锁已闭合,用户可以离开。第三章 硬件电路设计31单片机最小系统设计本次设计中使用的微处理系统是以AT89C52为核心的超想3000单片机应用开发系统。超想-3000TB开放式综合实验仿真系统由仿真器、综合实验仪、软件、
9、电源组成。选配51CPU适配板可在超想-3000TB开放式综合实验仪上完成MCS51单片机实验。89C51附带的两种典型的电路是时钟电路和复位电路。主控机系统采用了Atmel 公司生产的89C51 单片机,它含有128 字节数据存储器,内置4K 的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是89C52 工作所需的最简外围电路。 3.1.1 时钟电路 时钟电路是计算机的心脏,89C52芯片内部有一个由反向放大器所构成的振荡电路。XTAL1、XTAL2分别为反向放大器的输入和输出端。通常晶振频率为1.2MHz12MHz。89C5
10、1的时钟电路有内部和外部两种,如图3.1和图3.2所示。内部时钟由晶振控制,一般典型值为6MHz、12MHz。 图3.1 内部时钟电路 外部时钟电路由外接时钟来控制。 图3.2 外部时钟电路本次设计采用的是内部时钟方式,使得电路更更加简化,也减小系统的生产成本。 3.1.2 复位电路89C52的复位电路有上电复位和系统复位电路。上电复位电路如图3.3所示,图3.3 上电复位电路本次采用的是系统复位电路。如图3.4所示图3.4 系统复位电路综上所述,单片机最小系统电路图如图3.5所示。89C52 的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口复位信号都是低电平有效。在复位电路中,按
11、一下复位开关就使在RS端出现一段时间的高电平,经过74LS14 的一次反相整形,提供给单片机复位端。再经过一次反相整形,通过I/ORST 端提供给外部接口电路。外接12M 晶振和两个20P 电容组成系统的内部时钟电路。图3.5 单片机最小系统电路图32 HD7279键盘显示模块HD7279A是一种管理键盘和LED显示器的专用智能控制芯片,其管脚图如图3.6所示。DIG0DIG7和SASG同时还分别是64键盘的列线和行线端口,完成对键盘的监视,译码和键值的识别。在88阵列中每个键的键码是用十六进制表示的,可用读键盘数据指令读出,其范围是00H3FH。 HD7279与微处理器仅需4条接口线,其中C
12、S为片选信号(低电平有效)。当微处理器访问HD7279A(读键号或写指令)时,应将片选端置为低电平。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止。图3.6 HD7279A管脚图RC引脚用于连接HD7279A的外接振荡元件,其典型值R=1.5k,C=15pF。RESET为复位端。该端口由低电平变成高电平并保持25ms即复位结束。通常,该端口接+5V即可。DIG0
13、DIG7分别为8个LED管的位驱动输出端。SASG分别为LED数码管的A段G段的输出端。DP为小数点的驱动输出端。HD7279A片内具有驱动电路,它可以直接驱动1英寸及以下的LED数码管,使外围电路变得简单可靠。A-G和DP为显示数据,分别对应7段LED数码管的各段。当对应的数据位为1时,该段点亮,为0时则不亮。此指令灵活,通过造字形表,可以显示用户所需的字符。字形码表如表3-1所示:表3-1 7279字形码表显示字符显示码显示字符显示码07EH 87FH130H 97BH26DH g5FH379H o1DH433H d3DH55BHp67H 65FHL 16H770H 熄灭码00HHD727
14、9键盘显示模块电路如图3.7所示图3.7 7279键盘显示模块电路33 开锁电路开锁控制电路由单片机P1.4控制,P1.4接光电耦合器和电磁继电器,开锁电路如图3.8所示当单片机发出开锁信号时,P1.4口为低电平,通过具有功率放大作用的74LS07,驱动光电耦合器的发光二极管导通发光,接收三极管吸收光而导通,从而使与三极管集电极相连的电磁继电器的中心抽头由“常闭”接到“常开”,从而将锁打开。图3.8 开锁电路控制电路 参数设计:R1为限流电阻,与VCC和光耦内的发光二极管相连,由于发光二极管当流过的电流在510mA时正常发光,所以,当P1.4为低电平(0.3v)时,二极管电流为:Vcc=5v,
15、i=510mA,0.7v为二极管本身的管压降,0.3v为低电平电压,则R1为4701K,本设计中取510欧。同理R3取1K欧。34 报警电路报警电路模块如图3.9 所示。此报警电路由74LS00的与非门和两个三极管构的功率放大电路组成,当P1.5输入低电平的,驱动喇叭发出特定频率的报警声音,频率为f=1/2.2RC,声音非常响亮,很适合做报警用。图3.9 报警模块电路参数设计:设定报警声音的频率为1000Hz,则由f=1/2.2RC,选择R1=R2=R=1K,则通过计算C应取0.47uF。用于功率放大的两个级联三极管中,第一级就选择9014,其放大倍数可达1000,且工作频率高,适用于放大功率
16、。而第二级应选择9013,其良好的噪声系数可可改善电路的信噪比。第四章 软件设计41 软件设计分析软件是系统的指挥中心,由它来配合控制完成各种预定功能。为了充分发挥AT89C51优越的性能价格比,在设计上尽量做到硬件“软化”,使系统硬件设计得到简化。系统软件采用MCS-51汇编语言编写,采用了模块化结构设计。为增强系统的实时性,对那些偶发事件采用中断方式处理,主程序主要用于系统的控制和管理。42 系统资源分配 (1)、键盘及显示安排 数字键: 09 个 命令键: 输入(0AH) 、确认(0BH)、改密(0CH) 数码管: 8 个(2)、内存单元及P1口安排: 标志位: 00H 键标志 P1口:
17、 P1.0 CS 01H 输入标志 P1.1 CLK 02H 锁状态标志 P1.2 DATA 03H 改密标志 P1.3 KEY显缓区: 40H-47H (7279) P1.4 光耦 P1.5 报警电路 显示指针: 22H 密码暂存指针:23H 原始密码区: 30H37H 密码暂存区:38H3FH原始密码位数: 50H 输入密码位数:51H 堆栈区: 68H7FH 错误密码次数:52H43 程序设计431主程序设计程序主要完成初始化、显示处理、送7279显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,及各寄存器的初始化,其流程框图见图4.1初始化显示处理键扫、求键号键处
18、理有键按下否?输入键处理确认键处理修改密码键处理数字键处理开始NY图4.1 主程序流程框图 系统加电后,开始运行主程序,开始对各存储单元以及中断初始化,还要对密码初始化,等待键按下,若为某个功能键,如为“输入”键,则输入4-6位数字,再按“确认”键,转入密码判断子程序,若输入与密码相符,则将P1.1置为高电平,否则密码错误记数单元加一,如果连续三次错误就将P1.0置为高电平;如果需要修改密码,先输入正确密码并确认后,相应的标志位置一后,入新密码按“密码修改”键后才有效,并保存新密码。432 数字键处理程序(SKEY)数字键处理程序(SKEY)先判断此时是输入密码准备开锁还是修改密码,若输入新密
19、码则将数字存放到原始密码区,若要校验密码,则将数字存放至密码暂存区。数字键处理程序(SKEY)框图如图4.2所示 输入标志是否为1?改密标志为1?输入48位密码保存至383FH,输入密码的位数保存到51H输入48位密码保存至3037H,输入密码的位数保存到50H返回YNYN图4.2数字键处理子程序框图433 确认键处理子程序(MKEY_2)确认键处理子程序功能是,判断前面按的数字键是输入密码还是修改密码,若是输入密码则调用密码比较子程序,比较完毕再采取相应的动作;若是修改密码则将密码从暂存区送至原始密码存储区。确认键处理子程序(MKEY_2) 框图如图4.3所示输入标志是否为1?改密标志为1?
20、调用密码比较子程序清输入标志清改密标志返回YNYN图4.3 确认键处理子程序框图434 密码判断子程序(COMP)COMP子程序的功能是将输入值与密码相比较,输入与密码一致则亮灯, 并将锁打开,三次输入错误则报警,其中一个重要环节是密码位数的比较,当每按下1-9数字时,计数器30H加一,即30H单元内容存放输入位数,首先将其与密码位数比较,不相同则密码错误,这样就避免了当密码位数大于输入值位数时出现的问题。若位数一致再逐位比较数值是否相同。比较子程序流程图如图4.4密码判断程序入口输入位数51H=密码位数50H?原始密码指针R0、输入密码指针R1、比较次数R7初始化输入值R1=密码0?R7-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 数字式 电子 密码锁 设计
链接地址:https://www.31ppt.com/p-3980604.html