基于单片机的电子密码锁设计大学论文.doc
《基于单片机的电子密码锁设计大学论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计大学论文.doc(33页珍藏版)》请在咨信网上搜索。
1、基于单片机的电子密码锁设计基于单片机的电子密码锁设计摘要 为了提高个人资料、部门文件档案的保密性和安全性,设计了一种应用AT89C52单片机设计的密码锁。用户可以自行写入文档、设置密码,并可以防止尝试去破译密码。硬件设计采用键盘输入的电子密码锁具有较高的优势,软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键词:密码锁;延时输入;防止暴力破解Design of electronic trick lock based on single chip deviceAbstract In
2、order to improve the security and safety of personal data,this paper introduced a new designing method of electronic cipher locks by the use of AT89C52 single-chip processor.It can be set up some cipher code,saved files and prevent from decoded the code.The software design adoption the design though
3、t from top to bottom, to make the system toward wear distribute type turn to the direction development of small, strengthen the system and can expand the stability and circulate Test the result enunciation, various functions of this system are already all request of this design. Keywords: trick lock
4、; delay input; unencryptable目录摘要1Abstract1目录2第1章 单片机应用课程设计的目的和意义3第2章 单片机的基本原理4第3章 系统的硬件电路设计83.1 系统的整体设计框架83.2单元电路的设计83.2.1 矩阵键盘83.2.2 液晶显示屏93.3整体电路10第4章 系统的软件设计114.1系统软件设计思路114.2系统软件设计流程图114.3 软件中的功能函数124.4 软件设计中状态标志位134.5 软件调试13第5章 结论和展望14第6章 心得体会16参考文献19附录20第1章 单片机应用课程设计的目的和意义在日常的生活和工作中,住宅与部门的安全防范
5、、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁极不方便,安全性也得不到保证。1基于单片机的密码锁在许多行业有着广泛的应用,而文档加密是其中最基本,也是最具有代表性的一个例子。通过本次课程设计可以灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。 本次课程设计还可以通过上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。在这次课程设计中,我们运用到了很多一切所学的知识和一些很有用的软件和工具,如Altium
6、Designer 制图、Keil软件、STC-ISP等。通过完成一个文档加密系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。第2章 单片机的基本原理AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51
7、是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0
8、 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或
9、16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /IN
10、T0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作
11、外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLA
12、SH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。图2.1 AT89C51引脚图3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作
13、中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。第3章 系统的硬件电路设计3.1 系统的整体设计框架多功能电子密码锁以STC89C52单片机为主要控制单元,键盘为主要输入单元,时钟芯片,蜂鸣器模块,显示器完成整个设计。根据液晶显示屏幕,由矩阵键盘输入数字进行加密文档的编及修改设定密码。输入密码后,单片
14、机自动比较输入是否正确。若输入密码正确,显示加密文档;如果连续输入密码错误5次,锁定键盘10秒钟,若再重复错误锁定键盘20秒钟,以此类推。密码锁的方案框如图3.1所示:图3.1 密码锁方案图3.2单元电路的设计3.2.1 矩阵键盘键盘有数字键和功能键,数字键包括0-9的输入,用于文档和密码的输入。功能键有退格键和确认键。其电路原理图如图3.2所示,各键具体功能如表3.1所示:图3.2 矩阵键盘原理图表3.1 按键功能 按键对应电路键名功能说明0-9S1-S9数字键录入文档/输入密码DELETE键S10退格键删除刚刚输入的数字ENTER键S11确认键确认输入的文档/密码3.2.2 液晶显示屏该单
15、元电路原理图如图3.3所示,LCD1602内含数宇、宇母、符号192种(无汉宇)字符库,可通过8位或4位的单片机进行显示字符的控制,通过编程可实现字行的上下滚页、左右移动,通过硬件连线可控制背景灯的对比度,背景灯的开关。其实现的主要功能:完成文档的录入、密码的设置及输入、倒计时、显示文档等功能的显示。图3.3 1602液晶屏原理图3.3整体电路整体电路如图3.4所示。图3.4 整体电路第4章 系统的软件设计4.1系统软件设计思路一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而
16、代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。 程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。 高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很
17、多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。4.2系统软件设计流程图系统软件流程图如图4.1所示,系统软件包含主函数、初始化函数、扫描矩阵键盘函数、液晶屏显示函数、倒计时函数、延迟函数、比较数组函数组成。图4.1 软件流程图否是是否结束提取文件,显示屏显示密码是否正确输入密码文档加密,用户输入密码提取文档密码是否相同输入预设密码录入文档开始4.3 软件中的功能函数功能函数的优势在于程序的可移植性强
18、,主函数简洁明了。比较函数:该函数用于设置密码、确认密码后判断是否相同,解锁时判断输入密码和设定密码是否相同;矩阵键盘扫描函数:该函数是在于识别用户的按键,能有效地进行人机互动;显示函数:该函数作用为在液晶屏上显示相应的数字或者字母;倒计时函数:累加器累加到一定数额进行倒计时,倒计时是由中断完成的,倒计时完成后才能再次输入密码。4.4 软件设计中状态标志位这次程序中的重点在于状态标志位的判断,因为状态标志位直接决定着主函数应该调用哪些功能的函数,因此设置软件标志位是这次程序的基础,该程序分为两个状态,一个是初始化状态,一个是初始化完成状态,初始化状态分为初始化文件状态和初始化密码状态,初始化完
19、成状态分为全部完成状态和倒计时状态,在此把所需要的状态标志位一一罗列:初始化完成标志位(fc):初始化阶段完成该标志位置1,否则为0;初始化文件标志位(fd):初始化阶段中初始化文件阶段完成该标志位置1,否则为0;初始化密码标志位(ic):初始化阶段中初始化密码阶段完成该标志位置1,否则为0;初始化确认密码标志位(pa):初始化阶段中初始化确认密码阶段完成该标志位置1,否则为0;倒计时状态标志位(flag):在初始化完成后如果不在倒计时状态该标志位置1,否则为0;完成状态标识位(wc):在初始化完成后如果密码输入正确该标志位置1,否则为0。4.5 软件调试 设计的程序是用C语言编写的,用Kei
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁 设计 大学 论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。