电子密码锁课程设计报告模板(共23页).doc
《电子密码锁课程设计报告模板(共23页).doc》由会员分享,可在线阅读,更多相关《电子密码锁课程设计报告模板(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 得分 微机原理与接口技术课程考试作品报告作品名称: 电子密码锁 姓 名: 梁其中 专业班级: 电信1103班 学 号: 中南大学物理与电子学院2013年下学期目 录摘 要3 第一章 系统整体概述4第二章 硬件设计5第三章 软件设计7第四章 调试与分析22第五章 制作感受23摘要电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁、报警、显示等任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比高的产品。应用较广的电子密码锁是以芯片为核心,增设外围电路,通过编程来实现的。本设计以单片机stc89s52作为密码锁监控
2、装置的检测和控制核心,分为主机控制和从机执行机构,实现钥匙信息在主机上的初步认密码信息的加密功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。第一章 系统整体概述以STC89C52单片机为核心器件,结合按键电路、LED
3、数码管显示电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的以下基本功能:1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员 的更替而使锁的密级下降。3误码输入保护。当输入密码3次错误时,报警系统自动启动。4. 电子密码锁操作简单易行,一学即会。5.干扰码功能 在输入正确密码前可输入任意码。6.安保功能。输入错误一次警示灯会亮起。7.双重锁定功能外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵。内部强制锁定:在外部不能开启,
4、让您在家时更安心、安全。8.自动上锁功能采用全自动锁芯,门关后6秒内自动上锁,外出更加安全。系统框图: 报警电路 矩阵键盘 单 片 机 警示灯 开锁电机 液晶显示第二章 硬件设计硬件是一个系统的支撑核心,硬件的好坏直接关系着一个系统的效果,合理的硬件设计可以简化软件的编程。硬件又可以分为好几个模块的集合,分别为:晶振电路、复位电路、步进电机驱动电路、1602液晶显示电路、警示灯电路和矩阵键盘。矩阵键盘为4x4,用来输入密码,模式选择等;警示灯用来提示错误;1602液晶用来显示工作的状态;步进电机驱动用来控制步进电机,完成开锁关锁等操作;报警电路用来报警,当密码连续错误三次的时候。各个电路通过S
5、TC89S52单片机耦合在一起,便可以达到设计所需达到的要求。以下是电路原理图和电路pcb图。总电路原理图:画电路原理图时是硬件电路的必须,务必要非常小心,合理的布局会简化pcb板的绘制,减少不必要的麻烦。画完要非常小心地检查,一处小小的错误就可能让多天的劳动拜拜付出。电路Pcb图:绘制电路pcb图的时候合理的布局是重中之重,画好pcb图之后就开始洗pcb板,pcb板的质量决定与打印的图纸、曝光时间、洗板是配置洗板溶液的浓度与掌握洗板时间等,总之一句话:小心使得万年船。第三章 软件设计一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应
6、用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能 “看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体
7、性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言C程序的速度比较快,也便于学习和交流,但是本系统却选用了高级语言C程序。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统。软件设计流程图: 开始初始化检测按键YESNO错误次数大于3?蜂鸣器报警 输入密码NO密码正确?警示灯闪烁YES修改密码选择模式输入新密码开锁关锁操作开锁操作主程序:#include #include#includelcd1.h#define GPIO_LED P3#define uint unsigned int#define uchar unsigned charsbi
8、t a=P24; sbit b=P23;sbit c=P22;sbit d=P21;sbit buzzer=P20;uchar KeyState;/用来存放按键状态uchar yszt=* Enter Password;uchar xgmm= NPassword;uchar mmcw= Error;uchar bingo= Welcome;uchar keyword6=;/原始密码uchar keycmp6;uchar xsz17=0x00,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x
9、4f;uchar key=0,num=0,flg=0,cuo=0,zd=0,xs=0,q=0,w=0;/=延迟程序 延时x毫秒void delay(uint x) uint i,j; for(i=x;i0;i-) for(j=135;j0;j-); /=状态显示void ztxs()uchar i; switch(w) case 0:LcdInit();KeyState=0;for(i=0;i16;i+)LcdWriteData(yszti);break; case 1:KeyState=0;for(i=0;i10;i+)LcdWriteData(xgmmi); break; case 2:K
10、eyState=0;for(i=0;i10;i+)LcdWriteData(mmcwi);break; case 3:KeyState=0;for(i=0;i10;i+)LcdWriteData(bingoi);break; / =开锁操作void ksdianji() unsigned int i=1000; while (i-!=0) a=1;b=1;c=1;d=0; delay(1); a=1;b=1;c=0;d=0; delay(1); a=1;b=1;c=0;d=1; delay(1); a=1;b=0;c=0;d=1; delay(1); a=1;b=0;c=1;d=1; dela
11、y(1); a=0;b=0;c=1;d=1; delay(1); a=0;b=1;c=1;d=1; delay(1); a=0;b=1;c=1;d=0; delay(1); cuo=0;for(i=1;i7;i+) LcdWriteCom(0x80+xszi);LcdWriteData( ); / =关锁操作void gsdianji() unsigned int i=1000; while (i-!=0) a=0;b=1;c=1;d=1; delay(1); a=0;b=0;c=1;d=1; delay(1); a=1;b=0;c=1;d=1; delay(1); a=1;b=0;c=0;d
12、=1; delay(1); a=1;b=1;c=0;d=1; delay(1); a=1;b=1;c=0;d=0; delay(1); a=1;b=1;c=1;d=0; delay(1); a=0;b=1;c=1;d=0; delay(1); num=0;for(i=1;i1111_1101 for(n=0;n7;n+) /左移7次,这样子就会到达最左边GPIO_LED=_crol_(GPIO_LED,1); /将GPIO_LED左移一位delay(100); /延时for(n=0;n7;n+)/右移7次,这样子就会到达最右边GPIO_LED=_cror_(GPIO_LED,1);/将GPIO
13、_LED右移一位delay(100);/延时GPIO_LED=0xff;if(cuo=3) for(n=0;n10;n+) for(i=0;i200;i+) buzzer=0;delay(1);buzzer=1;delay(1); for(i=0;i100;i+) buzzer=0;delay(2);buzzer=1;delay(2); cuo=0;for(i=1;i7;i+)LcdWriteCom(0x80+xszi);LcdWriteData( ); /=密码重置程序void set() uchar i=0,n=0;num=0;xs=0;for(i=0;i6;i+) if(keywordi
14、=keycmpi) zd+; if(zd=6) zd=0;w=1;flg=1;ztxs(); else w=2;zd=0;cuo+;alarm(); ztxs(); for(i=1;i7;i+)LcdWriteCom(0x80+xszi);LcdWriteData( ); /=确认键程序void ok() uchar i=0,n=0;xs=0; if(flg=0) for(i=0;i6;i+) if(keywordi=keycmpi)zd+;if(zd=6) ksdianji();num=7;zd=0;w=3; else zd=0;cuo+;alarm();w=2; if(flg=1) flg
15、=0;num=0;for(n=0;n6;n+)keywordn=keycmpn; for(i=1;i17;i+)LcdWriteCom(0x80+xszi);LcdWriteData(); ztxs(); /=键盘扫描程序void keyscan() uchar temp1,temp2; P1=0xfe;/令第一列为低电平,检测第1列 temp1=P1; if(temp1!=0xfe) delay(5);/去抖 temp2=P1;if(temp1=temp2) KeyState=1; switch(temp2) case 0x7e: ;if(num6)key=1;keycmpnum=key;n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 课程设计 报告 模板 23
限制150内