基于单片机电子密码锁设计.doc_第1页
基于单片机电子密码锁设计.doc_第2页
基于单片机电子密码锁设计.doc_第3页
基于单片机电子密码锁设计.doc_第4页
基于单片机电子密码锁设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机电子密码锁设计论文二一一年 十 二月 目 录一、总体方案设计3二、硬件电路方案设计41、最小系统设计42、矩阵键盘检测模块43、液晶显示模块54、温度报警和红外模块设计65、电磁锁模块设计66、掉电存储模块7三、软件方案设计8四、设计总结111、参考文献112、整体电路图和程序11电子密码锁【摘要】随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁其保密性高,使用灵活性好,安全系数高。意外事故或人为破坏可能造成灾难性后果的系统称为要害系统。要害系统的保证性包括安全性、可开性和保全性,内涵非常丰富。本文介绍的电子密码锁是一类针对要害系统的安全保险器件,其设计概念与常见的保安密码锁有所不同。从系统设计观点看,电子安全密码锁是一个实体域定义的概念,比较机械安全密码锁,具有设计实现简便、密码装订灵活、制造成本低廉等优点。它由以下几个部分构成:单片机系统、矩阵键盘、12864液晶显示和报警系统,系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。 关键词:电子密码锁,报警,stc89c52一、 总体方案设计本系统由单片机系统、矩阵键盘、12864液晶显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,此外还有温度传感、调电存储、声光提示等模块,依据实际的情况还可以添加遥控远程控制等功能。根据所探讨的研究内容依次进行分模块设计调试,最后整合成完整的电子密码锁系统的设计。本设计具有良好的性能与使用价值:1.本智能电子密码锁系统采用廉价的单片机芯片进行控制,很大程度上降低了成本;2.保密性好、编码量多、随机开锁成功率几乎为零;3.密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;4.误码输入保护。当输入密码多次错误时,报警系统自动启动;5.火灾报警功能:在室内如果温度达到75左右,将会发出强力的报警音,同时锁会自动开启;6.远程遥控控制:可以实现照明、开启电子锁、无线复位、无线报警等功能。基于单片机的智能电子密码锁的总设计框图如图1.1所示图1.1二、硬件电路方案设计1、最小系统设计 51单片机系统是本设计的控制中心,其主要特点是拥有8k字节Flash闪速存储器,256字节内部RAM。32个I/O,三个16位定时/计数器,一个6向量两极中断结构,一个全工串行通信口,片内振荡器及时钟电路,同时,它可以降至0hz的静态逻辑操作,并支持两种软件可选的节点工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串口通信口及中断系统。如图2.1所示图2.12、矩阵键盘检测模块4*4的矩阵键盘采用行列扫描方式进行检测,16个按键轮流扫描。利用相与的原理即有按键时输出低电平。图2.23、液晶显示模块为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器128*64取代普通的数码管来完成。128*64图形液晶内置20000字中文字库,工作时通过三极管的开关作用控制液晶背光的开与关,以及液晶的休眠功能和关显示功能来达到节电的目的。其中3脚为液晶偏压信号输入端,通过调节电位器,即可调节液晶的对比度。图2.34、温度报警和红外模块设计 报警模块采用蜂鸣器,蜂鸣器用三极管驱动,利用一定的延时来控制蜂鸣器响鸣的频率。图2.4图2.55、电磁锁模块设计电磁锁是本设备中比较重要的电气及机械设备之一,其同样采用继电器驱动,但是由于其功率比较大,所以决定了其工作电流会比正常工作状态要大5倍左右,所以断电瞬间会产生很高的自感电动势,反馈到继电器线圈上,同时其强大的磁场会对单片机的工作造成影响,为了解决这个问题,最好是在单片机输出端加上光耦合器,以起到隔离的目的,但是为了不破坏电路布线的整体性,这里我们在电磁锁两端反向并联了一只高压二极管(1N4148),这样就消除了干扰。(实际制作中采用发光二极管代替)图2.66、掉电存储模块 采用AT24C02,AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。图2.7三、软件方案设计这里我们采用C语言编写,使用的是Keil C编译软件1、开机初始化,开启闪灯,出现欢迎画面,从内部存储器中读取6位密码放到RAM中,同时蜂鸣器出现“滴滴”声,代表正常启动。2、提示输入密码,密码为六位数,初始密码为“123456”,“*”代表确定键,“#”代表取消键,按“*”可以表示确定密码输入,按“#”表示重新输入密码。3、如果密码输入正确则开启电磁锁,同时提示按“A”键可以修改密码,同时开始倒计时,如果无按键按下,5秒钟倒计时后电磁锁自动释放,重新上锁。4、如果在倒计时期间按下“A”键,则进入修改密码界面,密码的要求是46位的09任何数字,如果输入不符合要求会出现相应提示,输入第一遍密码后会出现再次输入密码提示,然后进行密码验证,如果两次密码一致,将新密码写入单片机自带的内部E2PROM存储器中,同时提示修改密码成功,电磁锁上锁。否则提示重新输入密码。5、如果输入密码错误三次,则启动报警,蜂鸣器发出报警音。6、遥控功能,遥控器A键可以开启和关闭照明,B键可以开启和关闭电磁锁,D键可以实现远程复位单片机。注释:键盘的B、C、D键和遥控器的C键尚未用于设备中,也就是以上按键在设备中不起作用。流程图:四、设计总结在整个项目的设计实施过程中,我们组成员设定了每个月完成的进度,以及定时开会,相互交流学习成果,并讨论了下一步的工作,实时分工。通过该项目,我们组成员互帮互助,团结共同努力遇到的所有问题,不仅提高了我们个人的动手实践能力,分析问题解决问题的能力,而且基本上完成了所设定的进度,基本完成了基于单片机的智能电子密码锁的项目。但是由于我们经验不够,仍然存在一些问题,只能不断的摸索。红外信号部分不灵敏,由于电路设计时没有考虑到物体实际的尺寸,在实际应用中还是存在着信号被遮掩的问题,信号的接收不够灵敏。希望以后还能做进一步的改善。1、参考书目:1 十天学会51单片机视频教程郭天祥2 MCS:51单片机应用设计2、整体电路图和程序整体电路图:部分程序节选:#include#include#include#define uchar unsigned char#define uint unsigned int#define LCDIO P0#define delay4us() _nop_();_nop_();_nop_();_nop_();uchar buffer6=0; sbit sda=P20;sbit scl=P21;sbit beep=P23;bit flag=0,aa;/用户蹲渊义定时溢出标志位uchar DSY_BUFFER8= ;uchar DSY_BUFFER18= ;uchar Userpassword6=0;sbit rs=P27; sbit rw=P26;sbit e=P25;sbit psb=P24;sbit led=P36;uchar code table2=123456;uchar code table=请输入密码:;void delayms(uint z) /延时程序uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delay()/短延时,两个机器周期,做总线的延时用;/*主程序*/void main() uchar temp=0,i=0,j=0,k=0,n;uchar IS_valid_user; beep=1;init(); init_lcd();main_window();delayms(1000); lcd_clear(); shuru_window();delayms(5);aa=Sendstring(0xa0,1,table2,6);delayms(5); aa=Recstring(0xa0,1,buffer,6);delayms(10);P1=0x0f; while(1) if(P1!=0x0f) temp=Keys_Scan();switch(temp) case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if (i=5) /密码限制在6位以内 Userpasswordi=temp; DSY_BUFFERi=*;shuru_window(); i+;delayms(650); break; case 10: /按A键开锁 for(k=0;k6;k+) if(bufferk=(Userpasswordk+48) flag=1; else flag=0; if (flag=1) flag=0; i=0; led=0; /点亮LED clear_password(); Display_String(2,0, 锁已经打开!); delayms(300); welcome_window(); IS_valid_user = 1; j=0; else j+; led=1; /关闭LED error_window(); clear_password(); write_com(0xcf); delayms(50); write_date(0x30+j); shuru_window(); IS_valid_user=0; i=0; break; case 11: /按B键上锁 led=1; clear_password(); lock_window(); delayms(1000); shuru_window(); i=0; IS_valid_user=0; break; case 12: /按C键设置新密码 /如果是合法用户则提示输入新密码 lcd_clear(); if ( !IS_valid_user) i=0; Noright_window(); delayms(1000); shuru_window(); delayms(1000); lock_window(); else i=0; shuru_window(); delayms(1000); empty_window(); break; case 15: /按D键保存新密码 if ( !IS_valid_user) i=0; Noright_window(); delayms(1000); delayms(1000); lock_window(); else i = 0; init(); delayms(5); for(k=0;k6;k+) Userpasswordk=Userpasswordk+48; aa=Sendstring(0xa0,1,Userpassword,6); delayms(5); aa=Recstring(0xa0,1,buffer,6); delayms(5); clear_password(); save_window(); delayms(1000); shuru_window(); delayms(1000); relock_window(); delayms(1000); break; case 13: /按E键消除所有输入 i=0; clear_password(); empty_window(); break; case 14: /清除一位 if(i!=0)i-; for(n=0;ni;n+) DSY_BUFFER1n= ; Display_String(2,0,DSY_BUFFER1); P1=0x0f;if(j=3)Display_String(2,0,警报!非法入侵!);j=0;beep=0;/*子窗口程序*/void main_window()lcd_clear();Displ

温馨提示

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

评论

0/150

提交评论