电子密码锁课程设计报告.doc_第1页
电子密码锁课程设计报告.doc_第2页
电子密码锁课程设计报告.doc_第3页
电子密码锁课程设计报告.doc_第4页
电子密码锁课程设计报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

2011年至2012年第1学期单片机原理与应用课程设计 班 级 1006402 指导教师 涂 立 李 旎 学生人数_ _3_ _设计份数 1 2011年12月23日基于51单片机的电子密码锁的课程设计报告一设计时间 2011年12月19号-2011年12月23号二设计地点 湖南城市学院一实验楼401计算机机房三设计目的1.掌握51单片机系列的外围电路控制2.熟练使用Protel电路制图软件绘画电路图3.学会使用Visio绘制工程的程序流程图4.掌握可编程密码锁程序的应用测试及运行方法5.进一步掌握键盘扫描和电子密码锁的程序设计6.通过课程设计能熟练掌握数据的查询(图书、网络),单片机课程所学知识 在电子密码锁设计中加以应用,使理论知识和实践结合起来。四设计小组成员五指导老师 涂立老师、李旎老师六设计课题在日常生活和工作中,住宅与部门的安全防范,单位的文件档案,财务报表以及一些个人资料的保存多以加锁的办法来解决。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选,自得其所”。可以看出使用电子信息是电子密码锁以后发展的趋势。七基本思路及关键问题的解决方法本设计选用单片机AT89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。 1 打开keil软件,建立一个新工程单击【Project】在下拉菜单中找到【New project.】选项,如图1.所示 图1.2. 选择工程要保存的路径,并且输入工程文件名。Keil的一个工程里通常含有很多小文件, 为了方便管理,一般将一个工程放在一个独立的文件夹下,比如保存到课程设计文件夹,工程文件的名字为“电子密码锁” 如图2.所示 图2.3. 单击保存后会弹出一个对话框,要求选择单片机的型号,可以根据使用的单片机来选择。Keil C51几乎支持所有的51内核的单片机,在这里选择Atmel的AT89C52 ,如下图3.所示,选择后单击保存。 图3.4. 选择AT89C52,如下图4. 图4.5. 完成上一步骤后,窗口界面如下图5.所示 图5.6. 到此为止,还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接下来的就是添加文件及代码。7. 单击【File】菜单中的【new】菜单项,或单击界面上的快捷键图标。如下图6. 图6.8. 新建文件后的窗口界面如图7.所示 图7.9. 在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与刚刚建立的工程还没有直接的联系,单击图标,窗口界面如图8.所示 图8.10. 输入要保存的文件名,同时必须输入正确的扩展名(如果用C语言编写的程序,则扩展名必须是.c;如果用汇编语言编写的程序,则扩展名必须是.asm).这里的文件名不一定要和工程名相同,可以随意填写文件名,然后单击【保存】按钮。11. 回到编辑界面,单击【Target 1】前面的“+”号,然后在【Source Group 1】单击右键,弹出如图9.所示的菜单 图9.12. 然后选择【Add Files to Group Source Group 1】菜单项弹出下图10.对话框 图10.13. 选中【电子密码锁.c】,单击【Add】按钮,再单击【Close】按钮,然后再单击左侧【Source Group 1】前面的“+”,屏幕窗口如图11.所示 图11.14. 接着是在编辑窗口中编写程序15. 编写好程序就要进行程序的编译,单击工具栏上的进行编译,在编译过程中如果出现错误,修改程序直到没有错误为止,然后在依次点击和,在此过程中出现错误的,也要修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。16. 把文件转化成十六进制文件,点击【Project】在下拉菜单里找到【Options for Target target1 】,如下图12.所示 图12.17. 单击【Options for Target target1】会弹出下图13.对话框 图13. 18. 在Eprom和Ram后面的框中填入相应的数据(也可以不进行填写),然后单击Output选项出现下图14.对话框 图14.19. 用鼠标左键单击Creat HEX Fi:前面的方框,这时方框里会用一个对号如图15. 图15. 20. 然后点击确定对话框就会消失,这样刚刚所建立的文件就转化成十六进制的文件。21. 现在打开实验箱,先不要接电源,将线连接完成后,再把电源打开。实验箱如图16.所示 图16. DP-51PRO试验仪 22. 对DP-51PRO试验仪上电。打开DPFlash软件出现如下图17.对话框 图17. 23. 点击栏中的【文件】在下拉菜单里找到【装载】,如图18.所示 图18.24. 找到刚刚所建立的文件,点击后按打开按钮对话框就会消失。然后单击会弹出下图19.所示的对话框 图19.25. 单击编程后,软件开始把程序烧入试验仪如下图20.所示 图20. 当烧片完成后,点击退出就行了。26. 关闭DPFalsh软件。把DP-51PRO单片机仿真试验仪A1区的工作模式选择开关(MOD_sw1)切换到RUN处,然后按一下复位键(RST),MON51程序即开始运行。 观察实验运行的情况是不是符合设想,如果不符合,对程序进行调试直到符合为止。八算法及流程图图1. 电子密码锁的电路图图2. 电子密码锁的流程图表1. 元件清单表元件名称参数数量51单片机AT89C52一个报警器LVC626一个密码存储芯片AT24C02一个显示器LCD1602一个晶体振荡器12MHZ一个开锁电机 L298直流电机一个瓷片电容10uF三个电源5V一个按钮开关十二个电阻500欧姆一个插座DIP40一个九调试过程中出现的问题及相应解决方法1.首次烧制程序时,发生了通信出错?出现的问题可能是线路下载程序中的线路没有接好,或者是装载程序时出现错误。解决的方法是:首先检查一下线路是否连接良好,然后再重启DPFlash打开试验箱的电源,然后再来装载程序。2.发现运行时,电机没有做出相应的反应?解决问题的方法是:先用一简单程序代码检查电机是否能正常工作。然后检查一下单片机与电机之间的连接是否正确如无误,再检查是否与程序代码相一致从而找出错误并改正。十课程设计心得体会这次的课程设计,我们组人员都各尽其职,团结互助,在最短的时间将其完成,充分发挥了团队合作的精神,这也是我们将来走向社会,走向岗位须有的一种精神。从这次课程设计中,我们懂得了什么是学以致用,我们要学习的不仅是编程的能力,更重要的是培养并提高解决问题的能力!通过此次的课程设计,使我们更加熟练的掌握了51单片机系列的电路控制、如何使用protel电路制图软件绘画电路图等。增长了我们对单片机学习的兴趣,为我们以后的学习研究起到了不可忽视的作用,让我们受益匪浅。十一源程序#includeunsigned char num,temp;char code a=123456;/初始密码char k=0;sbit been=P15;/报警器sbit sm=P16;/开锁电机void delay(int a)/键盘消抖延时char k;for(; a0; a-)for(k=0; k110; k+);void seek()P0=0x7f; temp=P0; num=temp&0x0f; if(num!=0x0f) delay(5); P0=0x7f; temp=P0; num=temp&0x0f; if(num!=0x0f) switch(num)case 0x07 : P0=0X7F; k=1; break ;case 0x0b : P0=0XBF; k=2; break ; case 0x0d : P0=0XDF; k=3;break ; while(num!=0x0f) P0=0x7f; temp=P0; num=temp&0x0f; P2=0xff; P0=0xbf; temp=P0; num=temp&0x0f; if(num!=0x0f) delay(5); P0=0xbf; temp=P0; num=temp&0x0f; if(num!=0x0f) switch(num)case 0x07 : P0=0XEF ; k=4; break;case 0x0b : P0=0XF7 ; k=5; break; case 0x0d : P0=0XFB ; k=6; break; while(num!=0x0f)P0=0xbf; temp=P0; num=temp&0x0f;P2=0xff; P0=0xdf; temp=P0; num=temp&0x0f; if(num!=0x0f) delay(5); P0=0xdf; temp=P0; num=temp&0x0f; if(num!=0x0f) switch(num)case 0x07 : P0=0XFD; k=7; break ;case 0x0b : P0=0XFE; k=8; break ; case 0x0d : P0=0X3F; k=9; break ; while(num!=0x0f) P0=0xdf; temp=P0; num=temp&0x0f; P0=0xff; P0=0xef; temp=P0; num=temp&0x0f; if(num!=0x0f) delay(5); P0=0xef; temp=P0; num=temp&0x0f; if(num!=0x0f) switch(num)case 0x07 : P0=0X5F ; k=0; break ;case 0x0b : P0=0X6F ; k=#; break ; case 0x0d : P0=0X77 ; k=*; break ; while(num!=0x0f) P0=0xef; temp=P0; num=temp&0x0f; P0=0xff; void main()char i=0;while(1) for(i=0; i6; i+) seek();/键盘扫描 if(k!=ai)/如果密码不对则报警 been=1;break; if(i=6)/如果密码全对,则开锁 sm=1;参考文献1. 指导老师:涂立 李旎2. 1 石文轩,宋薇.基于单片机MCS一51的智能密码锁设计M.武汉工程职业技术学院学报,2004,(01);2 祖龙起,刘仁杰.一种新型可编程密码锁J.大连轻工业学院学报,2002,(01); 3 叶启明.单片机制作的新型安全密码锁J.家庭电子,2005,(10);4

温馨提示

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

评论

0/150

提交评论