南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS毕业设计题目:多用户密码锁的设计姓名XX专业电子信息工程学号CS040910215指导教师南京航空航天大学二○一一年七月南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS2目录:1摘要2前言3方案设计思想4系统结构与原理4.1系统结构4.2系统原理5各功能模块电路设计5.1键盘电路5.2显示电路6软件设计6.1软件设计思想6.2主程序的设计7结束语8参考文献9总结南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS31摘要:传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性,受到了广大用户的亲睐。安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。2前言:文中设计的电子密码锁和市面销售的AB锁有类似之处,但主要区别在于设计的这个密码锁由主人决定客人进入的密码,不需要通过换锁来防止用过该锁的人再次进入,而且只有主人才有对密码的修改权。3方案设计思想文中的多用户密码锁设有一个管理员用户,管理员对密码有修改权。另设有两个来宾用户,可以根据管理员提供的密码*,自己则不可以任意修改密码。更换住户时,只需要管理员更换密码即可,这样就避免了换锁带来的麻烦,节约了成本。密码锁的设计采用通用板制作,所以涉及到元器件的排布和走线问题。由于带有一个管理员用户(主人用户),可以对自己和两个来宾用户的密码进行修改,而且还要限制两个来宾用户的对密码的修改权。所以,在密码修改程序上需要精心处理,在进入密码修改程序时有两个条件。首先,是主用户进入的系统;其次南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS4是密码修改按键被按下。在密码输入程序上也要特别的注意,区分并确认是哪个用户进入当前系统,即用户名和密码需对号入座,这也是设计的关键所在。4系统结构与原理4.1系统结构多用户密码锁电路设计共分为6部分:电源、用户显示单元、晶振电路、键盘电路、编程控制部分、功能显示单元。通过排版、布局,把这6个部分组合起来,构成一个完整的多用户密码锁控制电路,如图1所示。图1多用户密码锁原理框图4.2系统原理首先,要有晶振电路产生工作时钟送至单片机内部的各个部件使其正常工作。其次,用AT89C5l的并行口P1接4×4矩阵键盘,以P1.0~P1.3作输出线,以P1.4~P1.7作输入线。矩阵的行线和列线分别通过两并行接口和CPU通信。通过扫描得出的行值和列值的组合来识别被按下的按键的编码以完成密码的输入、用户名的输入和切换,以及确定、取消命令、密码修改命令、用户切换命令和关锁命令的输入。再者,单片机通过P2口将要显示的数据信号传送到数码管,直接控制数码管的显示,从而点亮数码管,显示当前用户。整个系统实现了各种信号提示功能的实现。南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS55各功能模块电路设计5.1键盘电路密码锁要输入密码就肯定要使用键盘。设计的是4×4的键盘,除了0~9这10个数字键之外,还有“确定”、“取消”、“密码修改”、“关锁”、“用户切换”、和“显示开关”。4×4矩阵排列能有效的节约端口资源,避免使用端口扩展模块。键盘安装时,按键按照4×4格式进行矩阵排列。在P1.4~P1.7输出线上接拉高电阻,让端口能准确的置高、置低。拉高电阻的另一端则连接在一起接5V电源。电路如图2所示。图2键盘电路5.2显示电路南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS6电路主要使用七段数码管。单片机通过P2口将要显示的数据信号传送到数码管,直接控制数码管的显示,从而点亮数码管。由于单片机的时钟频率达到12MHz,所以,看不到数据是一位一位传输的。从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。由单片机控制数码管显示1~3,分别表示3个用户。硬件电路主要是7段显示译码器的a~g对应接到单片机的P2.0~P2.6,通过查表得到要显示的数值。电路如图3所示。图2显示电路6软件设计6.1软件设计思想南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS7整个系统的设计重点在于区分3个用户的进入。只有主用户进入之后才可以对自己及客人用户的密码进行修改。其他用户进入是不可以对自己的密码进行修改的。程序设计主要包括了密码修改程序、密码输入程序、报警程序、控键扫描程序、数字键转换程序和功能键转换程序。在整个程序的运行过程中,控键扫描程序放在中断服务子程序中,每隔150ms进行一次扫描。密码修改程序,在设计中每个用户进入系统时都已加了标注,以确保密码被修改时可以准确的分辨出修改密码的用户是哪个,用户对密码是否有修改权。6.2主程序的设计先判断密码是否输入,如密码输入,则将密码输入到密码输入缓冲区,密码输入完成,确认后进行密码比对,区别出哪个用户进入密码锁系统,比对成功之后用标志位区别主人用户和来宾用户。在密码修改程序中。首先,判断是否是主人用户。其次,判断是否有密码修改要求,在满足上述两个条件的情况下再进入密码修改程序。两次新密码的输入相同话则表示密码修改成功。接下来是报警子程序,用寄存器累加连续输入的错误密码的次数,达到3次则产生报警信号。最后是显示子程序,用来显示当前进入系统的用户。主程序流程图如图4所示。南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS87结束语南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS9文中设计的密码锁既能确保密码可以被有权用户进行修改,还有限制用户对自己或别人密码进行修改等功能。以AT89C52单片机芯片为核心,同时给出系统总体设计方案,硬件模块电路及软件设计。8参考文献1何立民单片机应用系统设计{M},北京航空大学出版社19982张友德单片机微型机原理应用与实验{M}4版上海,复旦大学出版社,20033康华光电子技术基础,数字部分{M}。4版。北京高等教育出版社,20024潘小琴单片机的开关阵列状态识别{J}科技情报开发与经济。200710(3):31-339总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际能力的具体训练和考察过程,随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。因此作为二十一世纪大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到的知识。通过这次课程设计使我懂得了理论与实践相集合是很重要的,南京航空航天大学NANJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICS10只有理论知识是远远不够的,只有把所学的理论知识和实践相结合起来,从理论中得出结论,才能真正成为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计过程中遇到问题,可以说是困难从从,这毕竟第一次做的难免遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握的不好,通过这次课程设计以后,一定把以前所学过的知识从新温故。