单片机课程设计报告 密码锁设计_第1页
单片机课程设计报告 密码锁设计_第2页
单片机课程设计报告 密码锁设计_第3页
单片机课程设计报告 密码锁设计_第4页
单片机课程设计报告 密码锁设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

《单片机原理与接口技术》课程设计(报告)题目:密码锁设计

摘要本文主要设计了可用LCD1602显示密码的电子密码锁。该设计的硬件平台是单片机AT89C52。编程软件采用Keiluvision2,仿真软件采用ISIS7Professional。本设计采用的是以单片机作为核心元件,结合矩形键盘电路、指纹模组、数码显示电路等,利用其灵活的编程设计和丰富的I/O端口,以及控制的准确性,实现丰富的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入,外接LCD1602用于显示密码的作用,以及三次输错密码自动锁死键盘的设计。电子密码锁在当前社会广泛应用于各个场所,此次设计是具有实在性意义的。本次项目研究设计方法合理、成本极低、简单易行、安全实用等特点,具有可持续发展的空间。关键词:89C51矩阵键盘自动锁死仿真测试

目录第1章概述 41.1课题背景及意义 41.2设计任务以及要求 5第2章总体设计方案 62.1总体设计框架图 62.2总体设计方案 6第3章硬件设计以及器件选择 73.1硬件设计 73.2矩阵按键 73.3显示器 83.4蜂鸣器,即报警装置 93.5AT89C52 93.6复位电路。 103.7时钟电路。 11第四章软件设计 124.1软件及软件总设计 124.2各功能模块的软件设计 17第五章系统调试 19总结 20参考文献 21

第1章概述1.1课题背景及意义电子密码锁是一种通过输入密码来控制电路或者芯片工作,从而控制机械开关的闭合。完成开锁、闭锁任务的电子产品。其性能和安全性大大超过了机械锁,具有以下特点:保密性好,编码量多,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。当输入密码多次错误时,密码锁自动锁定,报警系统自动启动;此外,电子密码锁的操作简单易学,大多数人都可以轻松上手和熟练掌握使用。如今,随着社会物质财富的日益增长和人民水平的提高,安全防盗已成为现代居民最关心的社会问题之一,人们对锁的需求越来越大,要求也越来越高,电子密码锁应运而生。电子智能密码锁,是代指一类可以经过操控电子电路或控制器的内部操控芯片,从而达到操控电子密码锁的机械锁芯开关或闭合的电子设备。其类型上既有结构相对简单的集成电路产品,又有大量应用集成电路晶片的高价格比的电子设备,但现在,在市场上使用比较普遍的就是以芯片为内核的电子密码锁,应用了C语言程序设计,将程序烧录进芯片中,再联系各个模组完成开锁的智能电子密码锁。日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加基安全性,甩密码代替钥匙的密码锁应运而生。电于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是不能开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高,且仅供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盜锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后的发展趋势。1.2设计任务以及要求设计任务:使用编程软件:Keiluvision2,和仿真软件:ISIS7Professional,设计一个电子密码锁并且仿真运行。设计要求:可用LCD1602显示密码;密码锁的密码由密码矩阵键盘输入,输入完密码后进行对比;输入错误三次后锁死键盘。

第2章总体设计方案2.1总体设计框架图图2.1总体设计框架图2.2总体设计方案由于单片机的种类繁多,各种型号的单片机都有一定的应用环境,因此在选用单片机时需要多加比较,综合考虑,以此获得最佳的性能比。一般来说,在选择单片机时需要从以下几个方面来考虑:性能、存储器、运行速度、I/O端口、串行接口、模拟电路功能、工作电压、功耗等性能因素,综合考虑,本课程设计最终选择AT89C51单片机作为核心元件,利用单片机灵活的编程设计和丰富的I/O端口,以及控制的准确性,实现基本的密码控制功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接芯片用于密码的储存,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘输入密码,密码输入完成之后,按下确认键,如果用户密码输入正确则开锁,如果用户输入密码不正确,则重新输入密码,当三次输入密码错误之后,键盘锁定,此时用户不能再次输入密码。

第3章硬件设计以及器件选择3.1硬件设计硬件设计采用ISIS7Professional仿真软件,主要用到了AT89C52,LCD1602等等重要器件,总体设计如下图所示:图3.1总体设计图3.2矩阵按键矩阵按键部分包括数字按键1~9,密码输入之后的确定按键,输错密码之后的重置按键,输入密码之后的向左/向右修改按键,以及可以修改密码的按键。(1)OK键。当用户完成密码输入之后,按下OK键,若密码输入正确,则可以开锁,若密码输入错误,则需要重新输入密码。(2)SET键。当用户输入正确密码之后,按下SET键,就可以输入新密码,新密码起作用,从而达到修改密码的作用。(3)LET键和RIGHT键。当用户在输入密码的过程中,发现输错密码需要修改时,按下LET键,就可以修改当前字符左边一个数字,按下RIGHT键,就可以修改当前字符右边的一个数字。(4)CLEAR键。重置键。当用户输错多为密码时,用户按下CLEAR键,可以直接重置已经输入的密码,用户重新输入密码即可。图3.2矩阵按键图3.3显示器使用液晶显示器LCD1602取代普通的数码管来完成,用以显示用户输入的密码。只有按下电源开关后,显示器才处于开启状态,同理只有按下电源开关之后,显示器才能处于关闭状态,否则显示器将一直处于初始状态。用户在输入密码的过程中可以看见自己所输入的密码,便于随时修改和确认。当用户输入正确的密码之后,可以看见显示器部分显示正确(即出现八个八),当用户输入错误的密码之后,可以看见显示器部分显示错误(即在出现短暂的八个小横线之后,随即出现八个零)。图3.3LCD1602显示器图图3.4用户密码输入正确之后的图3.4蜂鸣器,即报警装置由发声装置和外围电路组成,加电后不发声,当用户输入错误的密码之后,报警器发出报警,发出报警声响持续一秒。报警器工作状态下,上面的小蓝等变为红色。图3.5报警装置图3.5AT89C52AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。在本次设计中,重点用于储存密码。图3.6AT89C523.6复位电路。单片机复位是使CPU和系统的其他功能部件处在于一个正确的初始状态,并且从这个状态开始工作。本设计中,当用户三次输错密码,键盘锁定之后,可以手动按下复位键,即可重新输入密码。图3.7复位电路3.7时钟电路。时钟电路的工作原理是单片机外部接上振荡器提供高频脉冲经过分频处理后,成为单片机内部时钟信号,作为片内各部件协调工作的控制信号。其作用是来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟。本设计采用外部时钟电路。图3.8时钟电路

第四章软件设计4.1软件及软件总设计(1)软件采用KeiluVision2编程软件。KeiluVision2是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。(2)程序见附录4.2各功能模块的软件设计图4.1模块详解1在截图中可以看见数码管0~9的程序、密码输入错误后“-”的显示、密码输入正确之后“8”的显示、蜂鸣器的设置、用户输错密码的次数记录设置、将“123456”设置为万能密码的设置。图4.2模块详解2在截图中可以看见比较模块的作用,即比较正确密码与用户输入密码,使用到的命令为judge。

第五章系统调试当系统通电之后,各部分都通电且稳定运行,系统调试时,复位按键,密码输入按键,重置按键,LCD1602显示器都正常稳定运行。如图下:图5.1系统调试图下面几个调试图,分别是用户输入密码过程中,用户输入正确之后,初始密码,以及修改之后的密码调试,最终测试结果都非常成功。图5.2调试图一图5.3调试图二图5.4调试图三图5.5调试图四

总结这周单片机课程设计给我带来了许多磨练,在写程序时往往因为粗心大意而导致不少的问题,在寻找合适的硬件时,考虑因数复杂,最终本此单片机课程设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89C52作为主控芯片与数据存储单元,结合外围的键盘输入、显示、报警、开锁等电路并用汇编语言编写主控芯片的控制程序,设计的一款可以供用户使用可多次更改密码具有报警功能的电子密码锁。设计完全可行可以达到设计目的。使用单片机制作的电子密码锁,具有软硬件设计简单,易于开发,成本低,安全可靠,操作方便等特点,可用于住宅、办公室的保险箱等需要防盗的场所,有一定的实用性。该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码,等功能。可在意外泄密的情况下随时修改密码。保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。使用说明:本密码锁初始密码为123456,当用户要开锁时,输入正确的密码,按下确定键后就能实现开锁,如果连续3次输入不正确,密码锁就会报警;当用户要重设密码时,按下重设键,紧接着输入原先的密码,按下确定键后如果密码正确才能输入新密码,输入新密码按下确定键后还要重新输入一次新密码,当两次输入新密码相同时,按下确定键后密码修改成功,否则不成功,需重新修改。经过本次课程设计,我对各个集成模块电路有了更加深刻的认识,实践出真知,经过这一次课程设计,我将书本上的理论知识运用到实践中,更加明白了其中的道理,这警醒我自己要注重实践,将理论知识回归到实践中去,以便于更好的学习知识,同时也激发了我对电子设计的浓厚兴趣。

参考文献[1]刘佳乐.基于单片机的电子密码锁设计[J].中国新技术新产品.2018(23).[2]沈小倩.基于单片机的电子密码锁的设计与制作[J].机电工程技术.2018(06).[3]麻锐敏.基于单片机的电子安全密码锁的设计初探[J].科技风.2018(23).[4]邹健.基于单片机的电子密码锁系统设计[J].无线互联科技.2022(05).[5]朱彦龙,房新荷.基于51单片机的指纹电子密码锁的设计与实现分析[J].电子元器件与信息技术.2018(10).[6]有德义.基于单片机指纹识别电子密码锁的设计[J].电子测试.2016(09).[7]陈军.单片机数字密码锁的设计与实现[J].2019(06).[8]陈建军.基于单片机制作的新型安全密码锁分析[J].2018(14).[9]徐万明,杨敏,杨思阳,田绍东,陈克林.基于单片机的多功能电子密码锁设计[J].2018(04).[10梅丽凤.单片机原理及接口技术[M].北京交通大学出版社.2018.[11]刘柳.一种特色矩阵键盘的设计方法[P].中国专利:CN102637075A.

附录(1)软件程序表#include<reg52.h>#defineucharunsignedcharucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x00};ucharcodetab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xbf,0x00};uchartemp;sbitp=P3^6;unsignedintt=0;intN=0,num;intflag=0;intflag1=0;intoldpassw[8]={1,2,3,4,5,6,7,8};intpassw[8];newpass[8];intlr;voiderror();intkeyscan();voidsetpass();voiddelay_ms(intx){intj;while(--x!=0)for(j=0;j<120;j++);}voiddisplay(){inti;P2=0x80;for(i=0;i<8;i++){if(0==i){if(i==(7-lr))P0=tab1[passw[7]];elseP0=tab[passw[7]];}if(1==i){if(i==(7-lr))P0=tab1[passw[6]];elseP0=tab[passw[6]];}if(2==i){if(i==(7-lr))P0=tab1[passw[5]];elseP0=tab[passw[5]];}if(3==i){if(i==(7-lr))P0=tab1[passw[4]];elseP0=tab[passw[4]];}if(4==i){if(i==(7-lr))P0=tab1[passw[3]];elseP0=tab[passw[3]];}if(5==i){if(i==(7-lr))P0=tab1[passw[2]];elseP0=tab[passw[2]];}if(6==i){if(i==(7-lr))P0=tab1[passw[1]];elseP0=tab[passw[1]];}if(7==i){if(i==(7-lr))P0=tab1[passw[0]];elseP0=tab[passw[0]];}delay_ms(2);P2>>=1;}}voidinit(){TMOD=0x01;TH0=0x3C;TL0=0X0B0;ET0=1;TR0=0;EA=1;}voidjudge(){inti,m=0;if(flag1==1){for(i=0;i<8;i++){if(passw[i]!=newpass[i])break;m++;}if(m!=8){m=0;for(i=0;i<8;i++){if(passw[i]!=oldpassw[i])break;m++;}if(m!=8){for(i=0;i<8;i++)passw[i]=0;N++;flag=0;error();lr=0;}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;m=0;display();}}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;display();}}else{for(i=0;i<8;i++){if(passw[i]!=oldpassw[i])break;m++;}if(m!=8){for(i=0;i<8;i++)passw[i]=0;N++;flag=0;error();lr=0;}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;m=0;display();}}}delay_ms(2);temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;switch(temp){case0xe7:num=1;passw[lr]=1;break;case0xeb:num=2;passw[lr]=2;break;case0xed:num=3;passw[lr]=3;break;case0xee:num=4;passw[lr]=4;break;}lr++;if(lr>=8)lr=0;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}voidsetpass(){inti;if(flag==1){for(i=0;i<8;i++)newpass[i]=passw[i];for(i=0;i<8;i++)passw[i]=0;lr=0;display();flag=0;flag1=1;}else{for(i=0;i<8;i++)passw[i]=10;lr=0;display();}}intkeyscan(){inti;P1=0xef;temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xbf;temp=P1;temp=temp&0x0f;while(temp!=0x0f){delay_ms(2);temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;switch(temp){case0xb7:num=9;passw[lr]=9;lr++;if(lr>=8)lr=0;break;case0xbd:num=11;judge();break;case0xbe:num=12;for(i=0;i<8;i++)passw[i]=0;lr=0;}{P1=0xdf;temp=P1;temp=temp&0x0f;while(tem

温馨提示

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

评论

0/150

提交评论